2026年2月

目前看的:

  1. 本田型格 2025 冠军版 电动座椅 L2 辅助驾驶
  2. 大众速腾 300 超越 没电动座椅 ACC 3.0 高级自适应巡航系统

Johnson Chu 创建的轻量级 TypeScript 语义 lint 工具 TSSLint 日前发布 3.0 版本。本次更新显著减少了依赖体积,改进了从旧版 lint 工具迁移的路径,并被 Chu 称为该项目的“最后一个重大版本”。

TSSLint 将自身定位为已停止维护的 TSLint 的精神继任者。与 ESLint 这类通用 lint 工具不同,后者通常以独立进程运行,并且往往需要重复初始化类型检查上下文;TSSLint 则直接作为 TypeScript Language Server 插件运行。它通过复用现有的 TypeChecker,并直接基于原生 TypeScript AST(抽象语法树)工作,无需进行 ESTree 转换,从而实现几乎即时的诊断与自动修复能力。这一设计解决了大型项目中的常见痛点——在保存自动修复时,编辑器卡顿往往会拖慢开发效率。

v3 版本最重要的变化之一,是移除了运行时对 esbuild 的依赖。TSSLint 现在利用 Node.js 对 .ts 文件原生导入的支持,从而降低构建复杂度并提升启动速度。不过,这一改动也意味着运行环境需要 Node.js 22.6.0 或更高版本。

本次发布还引入了一个 TSL 兼容层,该兼容层通过 Arnaud Barre 主导的 TSL 项目进行整合,用于统一处理 TypeScript lint 规则。同时,@tsslint/compat-eslint 包被重新拆分为独立包,并更新了与现有 ESLint 生态互操作的集成逻辑。对于仍在使用旧版 TSLint 的团队,新加入的 importTSLintRules 功能允许直接将 TSLint 规则导入 TSSLint 配置中,从而简化迁移流程。

新版本还新增 createIgnorePlugin API,用于支持指令注释(directive comments),开发者可以在配置中定义忽略规则模式。

在开发者工具方面,项目新增了 tsslint-docgen,用于自动生成规则文档,同时为 defineRules API 提供了更新后的 JSDoc 文档。CLI 缓存现在默认存储于操作系统临时目录中,避免缓存文件污染项目目录结构。

不过,本次升级也包含若干破坏性变更。CLI 参数 --projects 已更名为 --project;createDisableNextLinePlugin 被重命名为 createIgnorePlugin;--threads 选项则被完全移除。团队表示,根据基准测试结果,由于 Node.js 在内存共享方面的限制,多线程仅带来约 1.5 倍性能提升,却消耗了约 2 倍能耗。因此,团队计划在未来版本中引入更加资源高效的多线程方案。

在 X 平台发布更新公告时,Chu 将该版本描述为“更轻、更快”,并特别提到项目已切换至 Node.js 原生 .ts 导入支持。此前,Vue.js 创始人 尤雨溪 曾公开评价 TSSLint 是“在复用现有 TypeScript 语言服务器的前提下运行类型感知 lint 规则的最高效方式”。

在同一条 X 讨论串中,有用户提问:

很有意思,这能在 TypeScript 的 Golang 版本中运行吗?

Johnson Chu 回复称:

目前答案是否定的。社区已经在这一方向上做过尝试,比如 tsgolint、oxlint、rslint 等项目。因此,除非我们能提出明显更优的解决方案,否则 tsslint 不会重复造轮子。

在当前占据主流地位的 TypeScript lint 方案 ESLint + typescript-eslint 之外,TSSLint 采用了另一种实现思路。TSSLint 通过直接运行在语言服务器内部,避免了维护独立类型检查进程所带来的额外开销。近年来出现的 Biomeoxlint 等新工具,则通过原生实现显著提升了执行速度,但它们主要聚焦语法层面的 lint 检查,尚未提供与 TSSLint 借助 TypeScript 编译器 API 深度集成所实现的类型感知分析能力。

需要注意的是,TSSLint 与即将推出的 TypeScript 7 原生编译器(typescript-go)并不兼容,因为后者不支持 Language Service Plugins。

TSSLint 项目已开源,并托管在 GitHub 上,截至本文撰写时约获得 600 个 Star。

原文链接:

https://www.infoq.com/news/2026/02/tsslint-3-release-final/

本文会带你从零搭建一个完整的概念验证项目(POC),技术栈涵盖 Adaptive RAG、LangGraph、FastAPI 和 Streamlit 四个核心组件。Adaptive RAG 负责根据查询复杂度自动调整检索策略;LangGraph 把多步 LLM 推理组织成有状态的可靠工作流;FastAPI 作为高性能后端暴露整条 AI 管道;Streamlit 则提供一个可以直接交互的前端界面。

读完这篇文章,你拿到的不只是理论——而是一个跑得起来的端到端 AI 系统。

要构建的是一个技术支持智能助手。它能理解用户查询,根据问题复杂度动态选择检索深度(Adaptive RAG),通过 LangGraph 执行推理工作流,经由 FastAPI 返回结果,最后在 Streamlit UI 上呈现响应。

这个场景针对的是一个真实痛点:团队面对大规模文档集时,传统 RAG 在模糊查询或多步骤问题上经常答非所问。

技术概览

Adaptive RAG

可以把 Adaptive RAG 理解为"搜索之前先思考"的 RAG。简单查询走轻量级检索就够了,遇到复杂问题则自动切换到多跳深度搜索、重排序或查询扩展,用更低的延迟换更高的准确率。

LangGraph

LangGraph 是用来构建有状态、多步骤 AI 工作流的框架。和传统链式调用不同它把 LLM 工作流建模成一张图——每个节点对应一个步骤(检索 → 推理 → 验证 → 响应),原生支持重试、记忆、循环和故障转移。对于需要在生产环境中保证可预测行为的场景,这种抽象比线性 chain 灵活得多。

FastAPI

FastAPI 把 Adaptive RAG + LangGraph 包装成 API 接口对外暴露,处理请求分发,天然适配异步 I/O。

Streamlit

前端用 Streamlit 搭建,聊天风格的界面,不需要写 HTML/CSS做 POC 演示足够了。

系统架构

数据流走向:

 User → Query → Streamlit UI  
 Streamlit → Sends request → FastAPI  
 FastAPI → Passes query → LangGraph  
 LangGraph → Runs Adaptive RAG → Retriever  
 Retriever → Gets chunks → Vector DB  
 Vector DB → Returns results → LangGraph  
 LangGraph → Generates final response  
 FastAPI → Sends to UI → User

文件夹结构

项目结构尽量精简:

 ai-poc/  
│  
├── backend/                      # 后端逻辑  
│   ├── app.py                    # FastAPI API 服务器  
│   ├── rag_pipeline.py           # Adaptive RAG 检索  
│   ├── graph_workflow.py         # LangGraph 工作流  
│   ├── config.py                 # 配置和环境设置  
│   ├── data/                     # 源文档  
│   └── __init__.py               # 包初始化器  
│  
├── frontend/                     # UI 层  
│   ├── ui.py                     # Streamlit 界面  
│   └── __init__.py               # 包初始化器  
│  
├── .env                          # API 密钥和机密信息  
├── requirements.txt              # 项目依赖  
 └── README.md                     # 设置说明

requirements.txt 文件

 fastapi  
uvicorn[standard]  
streamlit  
requests  
pydantic  
langchain  
langchain-community  
langgraph  
faiss-cpu  
sentence-transformers  
openai  
 python-dotenv

代码实现(关键代码片段)

Adaptive RAG 管道(rag_pipeline.py)

 # backend/rag_pipeline.py  

from typing import List  
from langchain_community.vectorstores import FAISS  
from langchain_community.embeddings import HuggingFaceEmbeddings  
from langchain.text_splitter import RecursiveCharacterTextSplitter  
from langchain.schema import Document  

class AdaptiveRAG:  
    """  
    Adaptive Retrieval Pipeline  
    """  

    def __init__(self, vector_db: FAISS):  
        self.db = vector_db  

    def retrieve(self, query: str) -> List[Document]:  
        if not query.strip():  
            return []  

        # Adaptive heuristic  
        token_count = len(query.split())  
        k = 3 if token_count < 6 else 8  

        return self.db.similarity_search(query, k=k)  

def build_vector_store(texts: List[str]) -> FAISS:  
    """  
    Build FAISS index from raw texts (POC only).  
    In production load persisted DB instead.  
    """  

    embeddings = HuggingFaceEmbeddings(  
        model_name="sentence-transformers/all-MiniLM-L6-v2"  
    )  

    splitter = RecursiveCharacterTextSplitter(  
        chunk_size=1000,  
        chunk_overlap=100  
    )  

    docs = []  
    for text in texts:  
        chunks = splitter.split_text(text)  
        for chunk in chunks:  
            docs.append(chunk)  

     return FAISS.from_texts(docs, embeddings)

自适应的核心逻辑其实很简单:根据查询的 Token 数决定检索深度。查询短于 6 个词就取 3 条结果,否则拉 8 条。这是一个粗粒度的启发式方法,在 POC 阶段够用,生产环境可以替换成更精细的分类器。

build_vector_store

函数从原始文本构建 FAISS 索引。注意这里每次启动都重建索引,生产上应该加载持久化的数据库。

LangGraph 工作流(graph_workflow.py)

 # backend/graph_workflow.py  

from typing import TypedDict, List  
from langgraph.graph import StateGraph, END  
from langchain.schema import Document  
from langchain_openai import ChatOpenAI  

class GraphState(TypedDict):  
    question: str  
    docs: List[Document]  
    answer: str  

def create_workflow(rag):  

    llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)  

    workflow = StateGraph(GraphState)  

    # Retrieval Node  
    async def retrieve_node(state: GraphState):  
        docs = rag.retrieve(state["question"])  
        return {"docs": docs}  

    # Reasoning Node  
    async def reasoning_node(state: GraphState):  
        question = state["question"]  
        docs = state.get("docs", [])  

        context = "\n\n".join([d.page_content for d in docs])  

        prompt = f"""  
        You are a technical assistant.  

        Use ONLY the context below to answer the question.  
        If the answer is not in the context, say you don't know.  

        Context:  
        {context}  

        Question:  
        {question}  
        """  

        response = await llm.ainvoke(prompt)  

        return {"answer": response.content}  

    # Add nodes  
    workflow.add_node("retrieve", retrieve_node)  
    workflow.add_node("reason", reasoning_node)  

    # Connect nodes  
    workflow.set_entry_point("retrieve")  
    workflow.add_edge("retrieve", "reason")  
    workflow.add_edge("reason", END)  

     return workflow.compile()

整个工作流只有两个节点:retrieve 负责检索,reason 负责推理生成答案。GraphState 作为 TypedDict 在节点间传递状态。流程很线性——先检索再推理,然后结束。实际项目中可以在这个图上加验证节点、循环重试等分支,LangGraph 的图结构天然支持这种扩展。

FastAPI 后端(app.py)

 # backend/app.py  

import os  
from fastapi import FastAPI, HTTPException  
from pydantic import BaseModel  
from dotenv import load_dotenv  

from rag_pipeline import AdaptiveRAG, build_vector_store  
from graph_workflow import create_workflow  

load_dotenv()  

app = FastAPI(title="Adaptive RAG API")  

# ---------------------------  
# Startup Initialization  
# ---------------------------  

class AskRequest(BaseModel):  
    query: str  

@app.on_event("startup")  
async def startup_event():  
    global workflow  

    # Sample knowledge base (replace with real docs)  
    sample_docs = [  
        "LangGraph supports stateful workflows and retry logic.",  
        "Adaptive RAG dynamically changes retrieval depth based on query complexity.",  
        "FastAPI is a high-performance async Python framework.",  
    ]  

    vector_db = build_vector_store(sample_docs)  
    rag = AdaptiveRAG(vector_db)  

    workflow = create_workflow(rag)  

# ---------------------------  
# API Endpoint  
# ---------------------------  

@app.post("/ask")  
async def ask(payload: AskRequest):  
    if not payload.query.strip():  
        raise HTTPException(status_code=400, detail="Query cannot be empty")  

    try:  
        result = await workflow.ainvoke(  
            {"question": payload.query}  
        )  

        return {"response": result["answer"]}  

    except Exception as e:  
        raise HTTPException(  
            status_code=500,  
            detail="Internal RAG processing error"  
         )

后端在启动时完成向量库构建和工作流初始化,之后通过 /ask 端点接收查询请求。这里用了 global 变量来持有 workflow 实例——POC 阶段这样做没问题,上生产建议用依赖注入替代。

Streamlit UI(ui.py)

 # frontend/ui.py  

import streamlit as st  
import requests  

API_URL = "http://localhost:8000/ask"  

st.set_page_config(page_title="Adaptive RAG Assistant")  
st.title("Adaptive RAG Support Assistant")  

query = st.text_input("Enter your question")  

if st.button("Ask"):  
    if not query.strip():  
        st.warning("Please enter a question.")  
    else:  
        try:  
            with st.spinner("Thinking..."):  
                response = requests.post(  
                    API_URL,  
                    json={"query": query},  
                    timeout=60  
                )  
                response.raise_for_status()  

            answer = response.json()["response"]  

            st.markdown("### Answer:")  
            st.write(answer)  

        except Exception as e:  
             st.error(f"Error: {e}")

前端就这么几行:输入框接收问题,按钮触发请求,拿到结果直接渲染。Streamlit 的好处就是不用折腾前端那套东西,做 POC 验证概念足够。

运行项目

安装依赖:

 pip install -r requirements.txt

设置 OpenAI Key:

 export OPENAI_API_KEY="your_key_here"  
   
            Or(For Windows)  
   
 setx OPENAI_API_KEY "your_key_here" 

启动后端:

 uvicorn backend.app:app --reload

启动前端:

 streamlit run frontend/ui.py

内部执行流程

在 UI 中输入这样一条查询

 How does retry logic work in LangGraph workflows?

请求先到达 FastAPI 后端。LangGraph 工作流从 retrieve 节点启动,Adaptive RAG 根据查询长度动态选定检索深度——短查询取

k=3

长查询取

k=8

。从向量数据库拉到相关文档块后,reasoning 节点把这些上下文拼装成 prompt,交给 LLM 生成答案。LLM 的回答被限定在检索到的上下文范围内,最终结果沿原路返回到 UI。

一切正常的话,你现在手上就有了一条完整的端到端 RAG 管道:UI → API → Graph → Retriever → LLM → Response。

下一步:生产部署

POC 跑通了但离生产还有距离。下面按模块列一下需要补强的方向。

检索层

向量相似度搜索可以跟 BM25 关键词搜索做混合,在一些 edge case 上召回率会好很多。检索完 top-k 文档后,再套一层 Cross-Encoder 做重排序,排序精度能上一个台阶。如果系统要支持多团队或多租户,还得引入基于命名空间的文档隔离,防止跨域信息泄漏。

工作流

当前工作流里没有验证环节。生产环境建议加一个验证节点,检查生成的答案是否真的有检索上下文支撑——这对控制幻觉至关重要。另外,如果要做多轮对话,就需要往图里加记忆节点来持久化对话状态。

重试与回退

LLM 调用失败后要有重试机制。主模型不可用时能自动降级到更小或更便宜的备选模型。超时控制和优雅降级也不能少。

成本控制也值得考虑:简单查询走轻量模型,只在必要时才升级到大模型。

可观测性与评估

日志要记全——检索分数、命中的文档、响应延迟、Token 消耗,这些都得有。定期做离线评估,准备好测试数据集,跑检索质量和回答质量的指标。幻觉监控单独拎出来盯,追踪那些答案脱离检索上下文的 case。

UI 改进

聊天界面得支持历史记录和多轮对话。回答来源要做高亮——用户应该能看到答案是从哪几段文档生成的。再加上反馈按钮,让用户对回答打分,收集回来的数据可以用于后续评估和微调。

部署与基础设施

前后端都做 Docker 容器化,保证部署的可复现性。上云的话 AWS、GCP、Azure 都行,记得配自动扩缩容。端点要上 HTTPS 和 Token 认证(JWT 或 OAuth)。生产环境的 API Key 不要再靠环境变量了,换托管的密钥存储服务。

总结

一个模块化、可扩展的 RAG 架构就搭建完成了,它完全可以从当前的 POC 状态逐步演化成生产级系统。自适应检索、有状态编排、可扩展 API、简洁的交互界面——这几个构建块拼在一起,基本覆盖了现代 LLM 应用的核心架构需求。

https://avoid.overfit.cn/post/770176403fa04ac49a55a145c36266b8

by Robi Kumar Tomar

如题所示,我希望将我做的 app 卖出去

app 情况

花了三个多月,做了个 app ,ios 、apk 、网页端都支持。
上架了 ios 商店,安卓和鸿蒙都支持,但是没上架,只能让用户下载 apk 安装。

目前用户近 2w 、日活 1.5k (且在持续增长)、用户日增长 500 ,用户 99.9%为年轻女性,学生群体偏多,已实现盈利。

过去一个月,ios 商店下载量 1w (其实也才上架一个月)

出售原因

由于工作变动,个人精力严重不足以支撑继续开发,但是我还是非常看中这个赛道的

其他

app 的功能相比较竞品已经相当完善,而且相当有竞争力(因为竞品都是收费 app ,功能没我多),90%的用户反馈都是相当喜欢该 app 的,在我的计划中,还有很多功能可以加。如果你购买,我会将后续产品路线图和规划方案一并交付。

联系方式

如果意向收购,可加我微信 x64Crack 。

《孙子兵法》云:"故善战者,求之于势,不责于人。"

顺势而为,事半功倍;逆势而行,事倍功半。

大家好,我是Hugo。

一个 40 多岁的连续创业者,从深圳到武汉到宜昌,2007 年扎根上海。做过房地产咨询培训,搞过三次创业,跑过马拉松...

现在,我是一个数字游民,一人公司 OPC 的实践者,专注 AI赋能编程应用开发领域。

今天想和大家聊点真话。


开篇:为什么我们总在重复造轮子?

最近研究独立开发,发现一个特别有意思的现象:

说到独立开发,永远绕不开"三件套"——笔记、记账、Todo。

市面上这类应用已经多到数不清,但为什么还有那么多开发者前赴后继地往里跳?

作为一个踩过无数坑的创业者,我太懂这种感觉了。

我们技术人员,最容易掉进的陷阱就是:用技术思维做产品。

总想着"这个功能很酷"、"那个架构很优雅",却忘了问自己最关键的问题:

用户真的需要吗?

今天这篇文章,核心框架来自 B 站 UP 主 SlashZ 斜杠青年 Z和好友dtsola的分享。用四个字总结了 AI 时代的独立开发方法论:道、法、术、器。

但我认为,还缺了一个最重要的字——势。

《道德经》说:"人法地,地法天,天法道,道法自然。"

顺势而为,才能借力打力。我结合自己近 30 万外包开发换来的教训,从创业者的视角,和大家聊聊如何避开 AI 编程的坑,做出真正能养活自己的产品。


势篇:顺势而为,借势而起

AI 时代的大势

《易经》云:"穷则变,变则通,通则久。"

2025 年春节,Deepseek 爆发,AI 迎来巨大发展机遇。2026 年初,腾讯微信推出"AI 小程序成长计划"。

这是什么?这就是势。

我之前的创业项目——基于邻里真实社交的本地化生活服务工具平台,投入近 30 万外包开发,坚持数年后不得不放弃。

为什么失败?

现在回头看,核心原因之一就是:逆势而行。

那时候,投资烧钱失败项目堆积如山不再看好这个赛道,移动互联网红利殆尽,流量成本高企,没有技术合伙人,却想做一个"大而全"的平台。

《孙子兵法》说:"激水之疾,至于漂石者,势也。"

湍急的水流能冲走巨石,靠的不是水的力量,而是势的力量。

今天的 AI 编程,就是这股势。

AI 编程把技术门槛铲平了,多年的夙愿可以得到实现。这就是为什么现在是一人公司、独立开发的黄金时代。

独立开发的趋势

《孟子》云:"虽有智慧,不如乘势。"

独立开发的趋势是什么?

  1. 从大而全到小而美:一人公司资源有限,必须聚焦
  2. 从免费到付费:用户愿意为真实价值买单
  3. 从闭门造车到公开开发:Build in Public 成为主流
  4. 从技术驱动到痛点驱动:解决问题比展示技术更重要

我现在的定位很清晰:超级个体 OPC(胡戈 AI 赋能)——数字游民,聚焦 AI 轻创&Web3&OPC。

这不是我拍脑袋决定的,这是顺势而为。

如何借势?

《庄子》说:"风之积也不厚,则其负大翼也无力。"

风不够大,再大的翅膀也飞不起来。

借势的方法:

  1. 认清大势:AI 编程是趋势,不要抗拒,要拥抱
  2. 找到细分:大势之下,有自己的小赛道
  3. 快速行动:势不等人,错过就没了
  4. 持续迭代:势在变,你也要变

我的建议:宁可做一个小而精的 Pain Killer,也不要做一个大而全的 Vitamin。

因为小,才能快;因为快,才能顺势。


道篇:找准你的战场

四象限分析法

SlashZ 提出了一个特别清晰的分析框架,把所有应用按两个维度划分:用户量收益

四个象限,四种命运:

象限用户量收益典型代表特点
左上角早期知乎、WPS、B 站烧钱大户,持续亏损
右上角微信、抖音、淘宝国民级应用,终极目标
左下角小众工具、个人博客小而美,兴趣驱动
右下角企业级软件、专业工具SaaS 应用,可持续

作为个人开发者,我们的战场在哪里?

答案很明确:右下角的 SaaS 区域。

《道德经》说:"少则得,多则惑。"

用户不需要很多,但每个用户付费能力强。这才是可持续的商业模式。

Pain Killer vs Vitamin

这个比喻特别形象:

Pain Killer(止痛药)

  • 帮你解决各种痛点
  • 你必须要有
  • 用户愿意付费

Vitamin(维生素)

  • 有了会挺好
  • 没有也无关痛痒
  • 付费意愿低

SlashZ 举了两个自己的产品案例:

言购 WeightWise(典型的 Pain Killer)

  • 痛点:很多人想减肥,但不知道怎么吃
  • 方案:拍照识别食物,告诉你卡路里
  • 结果:用户有明确需求,愿意付费

成绩 Achiever(更像是 Vitamin)

  • 功能:记录你的成就,让你心情愉悦
  • 挑战:用户付费意愿相对较低

我的血泪教训

看到这个框架,我真是感慨万千。

《论语》云:"知者不惑,仁者不忧,勇者不惧。"

我之前的失败,就是因为不够"知"——没有看清真正的痛点。

我们太想做一个"大而全"的平台,却忘了问自己:

  1. 这个问题是否让用户感到痛苦?
    不是"不方便",而是"痛苦"。
  2. 用户现在如何解决这个问题?
    如果他们有替代方案且用得还行,你的机会就不大。
  3. 你的解决方案是否显著更好?
    至少要好 10 倍,而不是好 10%。

一人公司的资源极其有限,我们必须聚焦。

我的原则:宁可做一个小而精的 Pain Killer,也不要做一个大而全的 Vitamin。

《道德经》说:"大道至简,衍化至繁。"

越简单的东西,越接近本质。


法篇:战略规划

快速验证策略:先测试,再投入

SlashZ 分享了一个特别聪明的做法:

第一步:产品快速制作

  • 用 AI 生成 UI 图
  • 不需要写代码,只需要视觉呈现
  • 成本极低,速度极快

第二步:发到小红书测试市场

  • 他的一个帖子获得了 740 点赞
  • 另一个获得了 110 点赞
  • 从评论中获得真实反馈

第三步:根据反馈决定投入

  • 如果反馈好,就坚定地做下去
  • 如果反馈一般,就尽快收尾,删减功能

这个策略的核心是:用最小的成本验证市场需求。

《孙子兵法》云:"知己知彼,百战不殆。"

验证,就是知彼的过程。

我的验证流程建议

作为创业者,我深知验证比完美更重要。

我建议的验证流程:

第一周:用 AI 生成 UI 原型,发到社交媒体测试

第二周:如果反馈好,开发 MVP(最小可行产品)

第三周:小范围内测,收集真实用户反馈

第四周:根据反馈决定是继续投入还是快速转向

《易经》说:"知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。"

知道什么时候该停,什么时候该进,这才是智慧。

商业模式设计:不要害怕收费

很多技术人员有个误区:"我的产品还不够好,不好意思收费。"

但我想说:收费本身就是一种验证。

如果用户愿意付费,说明你真的解决了他们的问题。

SlashZ 的定价策略值得参考:

  • 月费:¥12/月(一杯咖啡的钱,不痛不痒)
  • 年费:¥68/年(相当于每月¥5.67,明显折扣)
  • 买断:¥128(给长期用户一个"安全感")

这里用了锚定效应

  • 先展示月费¥12
  • 再展示年费¥68,用户会觉得"很划算"
  • 最后展示买断¥128,给长期用户一个选择

《管子》云:"仓廪实而知礼节,衣食足而知荣辱。"

先活下去,再谈理想。收费不是羞耻,是生存的基础。

营销渠道:从你最舒适的地方开始

海外渠道:Product Hunt、Twitter/X、Hacker News、Reddit

国内渠道:小红书、B 站、朋友圈

SlashZ 特别提到:小红书的效果出乎意料地好。

他用 AI 生成的 UI 图发帖,就能获得几百个点赞和大量评论。

我的建议:从你最舒适的地方开始。

如果你擅长写作,就从博客和公众号开始;如果你擅长视频,就从 B 站和视频号开始。

《庄子》说:"吾生也有涯,而知也无涯。以有涯随无涯,殆已。"

生命有限,精力有限。不要强迫自己做不擅长的事情,因为那会消耗你大量的精力。


术篇:战术执行

MVP 至上原则:别再打磨了

SlashZ 在视频中三次强调了同一个词:MVP(最小可行产品)。

他说:

"很多时候你以为你在打磨打磨打磨,别打磨了,别骗自己了,其实你只是在延迟上线而已。"

这句话太扎心了。

我们经常在想:

  • "要不要做一个社交功能?"
  • "要不要做 iCloud 同步?"
  • "要不要把动效再优化一下?"

SlashZ 的回答是:都是白扯。

他举了一个例子:做言购时,他纠结要不要做 iCloud 同步。这个功能很复杂,需要大量时间。但他问自己:不做这个功能,用户能给我反馈吗?

答案是:能。

所以他选择了最简单的方案:CSV 导出 + 解析器。用户可以导出数据,需要的时候再导入。虽然不够优雅,但完全够用。

《道德经》说:"天下难事,必作于易;天下大事,必作于细。"

再难的事,从简单的开始;再大的事,从细节做起。

技术选择三原则

SlashZ 总结了三个判断标准:

  1. 是否是验证需求的前提?
    如果不做这个功能,你就无法验证产品是否有市场,那就必须做
  2. 是否是我熟悉的技术?
    如果是你熟悉的技术,可以快速实现,那就做;如果需要学习新技术,就要慎重考虑
  3. 不实现是否影响用户反馈?
    如果不做这个功能,用户就无法给你有效反馈,那就必须做

Build in Public:公开你的开发过程

Build in Public(公开开发) 是一个特别好的理念。

就是把你的开发过程、遇到的问题、做出的决策,都公开分享出来。

好处有三个:

  • 快速迭代反馈:用户可以实时给你建议
  • 用户参与感:用户觉得自己参与了产品的诞生
  • 自然营销:你的开发过程本身就是最好的营销内容

《论语》云:"三人行,必有我师焉。"

公开开发,就是让用户成为你的老师。

我的建议

作为技术人员,我必须承认:我们都有"完美主义陷阱"。

《道德经》说:"大成若缺,其用不弊。大盈若冲,其用不穷。"

真正的完美,看起来是有缺陷的;真正的充实,看起来是空虚的。

在企业级项目中,我们追求高可用、高性能、高扩展性。这些都是对的,因为企业级系统需要服务成千上万的用户。

但个人产品不一样。

我的经验是:架构设计和产品开发是两回事。

  • 架构设计:追求完美,因为改动成本极高
  • 产品开发:追求速度,因为市场反馈才是最重要的

我强烈建议技术人员克服"技术自嗨"。

什么是技术自嗨?就是你觉得某个技术很酷,某个架构很优雅,但用户根本不在乎。

我的判断方法:

当你想做一个功能时,问自己:

  • 用户会因为没有这个功能而放弃使用吗?如果不会,就先不做。
  • 这个功能能让用户多付 10% 的钱吗?如果不能,优先级就很低。
  • 做这个功能需要多少时间?如果超过一周,就要重新评估。

我的原则:一个功能如果不能在一周内完成,就说明它太复杂了,需要拆分或者砍掉。

关于 Build in Public,我的建议是:不要害怕暴露你的不完美。

技术人员往往觉得"我的代码还不够优雅"、"我的产品还有 bug",不好意思公开。

但实际上,用户不在乎你的代码是否优雅,他们在乎的是你是否解决了他们的问题。


器篇:工具使用

SlashZ 的工具链

硬件:MacBook Pro M4 芯片,48GB 内存

代码编辑器:Cursor($20/月)

  • AI 辅助编程工具,大大提高开发效率
  • 技巧:给 Cursor 添加上下文,它就会有更好的理解

IDE:Xcode(开发 iOS 应用必备)

原型设计:圆形图生成 prompt(来自"小猫补光灯"作者)

设计工具

  • 即梦(Jimeng):国内的 AI 图片生成工具
  • 技巧:好的 prompt 是成功的一半

文案:ChatGPT(用于生成产品描述、营销文案)

管理工具

  • 滴答清单:管理开发任务和待办事项
  • Notion:记录产品设计、技术文档
  • Terms Feed:生成隐私政策、用户协议等法律文档

发布与营销工具

  • Screenshots Pro:生成漂亮的产品截图
  • Screen Studio:录制产品演示视频
  • 剪映:视频剪辑工具

数据追踪

  • Revenue Cat:追踪应用内购买和订阅收入
  • Apple Connect:查看下载量、用户行为等数据

我的工具选择原则

看完 SlashZ 的工具链,我最大的感受是:够用就好,不追求最好最全。

技术人员我们很容易陷入"工具癖好"。

我们总想找到"最好的"工具,花大量时间研究各种工具的优劣。

但实际上,工具选择本身不会让你的产品更成功。

《庄子》说:"鹪鹩巢林,不过一枝;偃鼠饮河,不过满腹。"

小鸟筑巢,只需要一根树枝;小鼠喝水,只需要填饱肚子。

我的工具选择原则:

  1. 优先选择熟悉的工具
    学习新工具需要时间,这个时间成本往往被低估
  2. 控制工具成本
    一人公司的每一分钱都要花在刀刃上
    能用免费工具解决的,就不要付费
  3. 不要让工具选择成为拖延的借口
    很多时候,我们纠结用哪个工具,其实是在逃避真正的工作

记住:完成比完美更重要。

我的工具成本控制建议

  • 必须付费的:Cursor(99/年)
  • 可以付费的:设计工具、营销工具(根据需要)
  • 尽量免费的:任务管理、文档、数据分析

一个小技巧:很多工具都有学生优惠或者开源替代品,可以多研究一下。

《朱子家训》云:"一粥一饭,当思来处不易;半丝半缕,恒念物力维艰。"

一人公司的每一分钱,都要花在刀刃上。


总结:从技术思维到产品思维

核心要点回顾

让我用五个字总结 AI 时代的独立开发方法论:

势:顺势而为,借势而起

  • 认清 AI 编程是大势
  • 找到细分赛道
  • 快速行动,持续迭代

道:找准定位,Pain Killer 优先

  • 从解决真实痛点入手
  • 宁可做一个小而精的止痛药,也不要做一个大而全的维生素
  • 一人公司的资源有限,必须聚焦

法:快速验证,商业模式清晰

  • 验证比完美更重要
  • 用最小的成本测试市场需求
  • 不要害怕收费,收费本身就是一种验证

术:MVP 至上,避免过度打磨

  • MVP、MVP、还是他妈的 MVP
  • 克服技术人员的"完美主义陷阱"
  • 架构设计和产品开发是两回事

器:工具够用就好,不追求完美

  • "够用就好"胜过"最好最全"
  • 控制工具成本,每一分钱都要花在刀刃上
  • 不要让工具选择成为拖延的借口

企业级思维 vs 产品思维

当你开始做独立开发时,就会发现:企业级思维和产品思维是完全不同的。

企业级架构追求:

  • 高可用:99.99% 的稳定性
  • 高性能:毫秒级的响应时间
  • 高扩展性:支持百万级用户

个人产品追求:

  • 解决问题:真正帮用户解决痛点
  • 快速迭代:根据反馈不断优化
  • 可持续:有清晰的商业模式

这两者的思维方式完全不同。

企业级架构是"先设计后实现",个人产品是"先实现后优化"。

《道德经》说:"反者道之动,弱者道之用。"

有时候,反过来想,才是对的。

一人公司的优势与挑战

优势:

  • 决策快:不需要开会讨论,想到就做
  • 成本低:没有团队开销,利润率高
  • 灵活性强:可以快速转向,不受约束

挑战:

  • 时间有限:所有事情都要自己做
  • 技能要求高:需要懂开发、设计、营销、运营
  • 孤独感:没有团队支持,容易迷茫

我的行动建议

如果你是一名技术人员,正在考虑做独立开发,我给你三个建议:

1. 现在就开始砍需求

拿出你的需求列表,问自己:

  • 哪些功能是"必须有"的?
  • 哪些功能是"最好有"的?
  • 哪些功能是"可以没有"的?

把"可以没有"的全部删掉,把"最好有"的放到第二期,只保留"必须有"的。

然后再问自己:这些"必须有"的功能,真的必须吗?

2. 用一周时间验证你的想法

不要闭门造车。用一周时间:

  • 第 1-2 天:用 AI 生成 UI 原型
  • 第 3-4 天:发到社交媒体,收集反馈
  • 第 5-7 天:根据反馈决定是继续还是转向

如果反馈好,就继续投入;如果反馈一般,就赶紧止损。

3. 公开你的开发过程

不要等到产品完美了再发布。从第一天开始,就公开你的开发过程:

  • 你在做什么
  • 你遇到了什么问题
  • 你是如何解决的

这样做有两个好处:

  • 你会得到真实的反馈
  • 你的开发过程本身就是最好的营销

最后说几句真话

文章开头,我提到了独立开发的"三件套"现象:笔记、记账、Todo。

现在你应该明白了:这些应用之所以这么多人做,不是因为市场需求大,而是因为它们"容易做"。

但"容易做"不等于"应该做"。

作为技术人员,我们要克服的第一个陷阱,就是"因为我会做,所以我去做"。

正确的思路应该是:"因为用户需要,所以我去做"。

我的核心观点是:独立开发不是技术展示,是解决问题。

你的代码写得多优雅,架构设计得多完美,用户不在乎。

用户在乎的只有一件事:你是否解决了他们的问题。

我对一人公司的理解是:可持续发展才是王道。

不要追求一夜爆红,不要幻想做出下一个微信。

脚踏实地,找到一个真实的痛点,做一个小而美的产品,获得一批愿意付费的用户,实现可持续的收入。

这就是一人公司的成功。

《道德经》说:"千里之行,始于足下。"

再远的路,也是一步步走出来的。


如果你也正在或考虑用AI编程做独立开发,欢迎在评论区聊聊。

记住:独立开发不是技术展示,是解决问题。


感谢 SlashZ 斜杠青年 Z 和 dtsola 的精彩分享。"道法术器"框架给了我很大的启发,也希望我的这篇文章能够帮助到更多的独立开发者。

我是Hugo,一个 40 多岁的连续创业者,现在专注 AI 赋能应用开发领域。

大道至简,返璞归真。真诚利他,成人之美。

愿我们都能顺势而为,借势而起,在 AI 时代找到属于自己的那片天空。


独立开发者 #AI 编程 #个人开发者 #一人公司 #程序员 #软件开发者 #创业者 #数字游民 #AI 创业 #软件工程 #来微信做个小程序 #国学智慧

本文由mdnice多平台发布

朋友们,最近和几位工程圈的老总聊天,个个都在大倒苦水。一位做市政的朋友说,一场连绵雨,工期直接打乱,甲方的催工电话比雨点还密;另一位房建老板更愁,钢材水泥价格坐上“过山车”,签合同时的利润算盘,眼下打得噼啪响,都快成“算盘侠”了。

这场景,你是不是也特熟悉?工程这行,就像在雷区里跳舞,“雨季延误”和“材料涨价”不过是两颗明晃晃的地雷。更多的风险,藏在繁杂的流程里、散落的数据里、依赖个人经验的判断里。管理,很多时候是在跟“不确定性”赌运气。

说到底,我们缺的不是拼命三郎的精神,而是一套能提前预警、精准排雷的“数字神经系统”。今天,我们不聊虚的,就掰开揉碎,看看专业的工程项目管理软件,到底是怎么帮咱们锁住风险的。我们会聚焦业内两个响当当的名字——红圈和新中大,看看它们背后的风控逻辑,究竟有何不同,谁更适合正在突围中的你。

红圈:为工程企业而生的“业务+AI”双核驱动

在数字化转型的浪潮中,红圈代表了一种融合的路径。它并非一个单一的工具,而是一个集成了扎实的业务管理根基与前沿人工智能应用的解决方案。

红圈工程项目管理系统,一款深度聚焦建筑工程行业痛点的SaaS产品。旨在通过资金、成本、物资、质量等核心模块的数字化,帮助企业实现业务流程的标准化与透明化,从执行层面堵住管理漏洞,为风险管控打下坚实基础。

与此同时,红圈AI系列智能产品,如同为这套管理系统装上了“智慧大脑”。这一系列智能助手将AI能力深度嵌入项目经营、采购、录单、知识管理等具体场景,旨在将风险管控从“人防”的被动响应,升级为“智防”的主动洞察与决策支持,代表了工程管理软件发展的一个前沿方向。

新中大:深耕大型项目管理的“流程合规专家”

与红圈不同,新中大是工程项目管理软件领域资历深厚的代表,尤其在大型、复杂工程项目管理中拥有广泛的影响力。新中大的系统设计,非常注重业务流程的规范化与刚性约束,强调通过预设的、不可逾越的流程节点来确保业务操作的规范性。它尤为擅长处理多组织、多层级的协同管理,能够满足投资方、总包、分包等多方参与的复杂项目管理需求。

这套逻辑深植于大型工程,特别是政府及国企投资项目的管理土壤中。在这些场景下,确保流程绝对合规、数据全程可追溯、经得起严格审计,是与提升效率同等重要甚至优先级更高的风控目标。

风控逻辑深度PK:“智慧预警系统”VS“精准流程关卡”

红圈与新中大在风险控制的底层逻辑、技术路径和最终效果上,呈现出犹如“智慧大脑”与“精密仪器”般的鲜明对比。

(一) 核心理念:主动洞察预见风险vs严格流程规避风险

这是两者最根本的区别。红圈认为,风险藏于数据变化的趋势之中。因此,其风控起点是利用红圈AI和大数据技术,主动地、持续地“扫描”和“解读”全维度的经营数据,从中发现异常模式、预测潜在问题。例如,红圈AI的项目360°AI解读,能够整合资金、成本、合同等指标,一键生成项目全景分析,不仅报告现状,更深度解读风险与策略。它的目标是帮助管理者“看见隐藏的风险”,并给出行动建议。

新中大的风控起点是在关键业务环节(如合同签订、付款申请、预算调整)设置强制的“流程关卡”和“规则校验”。任何操作必须符合规则才能向下流转。

(二) 技术路径:AI驱动数据智能vs规则驱动流程刚性

理念的差异直接体现在技术实现上。红圈依托红圈“AI系列智能产品”来实现风控升级:

在风险识别端,采购助理Agent通过AI算法整合多维度外部数据,对供应商进行动态风险评分与监测,实现快速筛查。

在风险分析端,BOSS助理Agent和项目360°AI解读利用大模型推理能力,智能生成经营汇报与深度分析,将复杂数据转化为决策洞察。

在风险应对端,AI业务助手能自动解析业务数据,生成风险预警与优化建议;AI企业知识库则将历史经验(如判例、方案)转化为即问即答的智库,赋能精准决策。

新中大则更依赖于其强大的“业务流程引擎”和“业财一体化”数据架构:通过将预算、合同、物资、进度等业务流,与财务的核算、支付流深度绑定,实现“数出一孔”。

(三) 应用场景:赋能成长型企业管理进化vs保障大型项目合规运行

不同的逻辑,天然适配不同的战场。红圈的“业务+AI”组合拳,特别适合寻求管理突破和竞争优势的成长型、中型工程企业。这些企业往往面临管理规范化与发展敏捷性的双重挑战。红圈的SaaS模式具有轻量、灵活、成本相对较低的特点,能快速部署。红圈AI系列智能产品更能直接赋能管理者,提升风险预见性和决策科学性,助力企业从“粗放增长”向“精益运营”进化。它服务于大量产值在数千万至数十亿的客户,证明了其在动态市场中的适配性。

新中大是大型集团企业、国有建设单位及重大政府投资项目的“定海神针”。新中大的系统能完美支撑复杂的组织协同,并通过铁一般的流程控制和完整的审计轨迹,确保巨型项目在规范轨道上平稳推进,风险可控。

如何选择?匹配你的发展阶段与管理哲学

说到底,在红圈与新中大之间做选择,不是评判软件本身的高下,而是一次对企业自身“风险观”与发展阶段的审视。

如果你的企业正处于快速发展期,渴望在规范管理的同时,借助数字化工具获得敏锐的市场洞察和决策优势,实现差异化竞争,那么红圈所代表的“智能预警”范式可能更能点燃你的团队,它的灵活性与智能赋能特性,能陪伴企业在动态市场中敏捷前行。

如果你的企业运营着规模庞大、结构复杂的项目,将稳定性、合规性与风险的可审计性置于首位,管理风格强调层级、规则与绝对可控,那么新中大经过无数大型项目验证的“流程合规”体系,能为你提供最坚实、最令人放心的保障。

无论选择哪条路径,主动拥抱数字化风控,都已不再是选择题,而是生存与发展的必修课。因为,在这个时代,锁住风险,才能真正锁住企业的利润底线和长远未来。

在建筑工程行业混了这些年,一个绕不开的话题就是:数字化管理软件到底选哪家?每每聊起来,广联达和红圈总被拿出来对比,广联达如同专业工具,深耕造价与BIM,解决“算不准、看不清”的实体与精度问题,是预算与技术的深度支撑。红圈则侧重管理体系,通过“系统+AI”贯穿项目全流程,应对成本、进度与经营中的“管不住、析不透”难题,提升协同与决策能力。

今天,我们就抛开那些笼统的品牌光环,直接扎进成本控制、施工管理、经营决策这三个工程老板和项目经理最头疼的核心场景里。把这两者掰开揉碎了看,看看它们到底分别在解决什么问题,你的企业又真正需要什么。

看懂本质,才知道你需要什么

选择之前,必须先看清两者的根本定位。这决定了它们在你的企业数字化版图里,将扮演什么角色。

红圈:聚焦项目经营与智能决策的“管理中枢”

红圈,是一个 “以提升企业经营结果为目的的信息化平台” 。它服务的是工程企业老板、经营班子和项目经理,核心任务是让项目管理流程标准化、透明化,最终实现降本增效。

红圈系统背后有和创科技自研的PaaS平台支撑,能适应产值在5000万到20亿之间不同规模企业的个性化需求。功能模块围绕“管好项目”展开的:资金管理、成本管理、投标管理、招采管理、物资管理、劳务管理、合同管理等。目的就是攻克工程企业那些老毛病:现金流管理薄弱、成本不可控、项目进度滞后、质量问题频发和安全风险较多。

更值得玩味的是红圈推出的 AI系列智能产品。 比如,BOSS助理Agent 能借助大模型生成精准的经营汇报;采购助理Agent 可对供应商进行多维度AI风险评级;录单助手Agent pro 能实现单据图像识别的秒级录入闭环,减少90%人工操作。此外,还包括项目360°AI解读、AI报表助手、AI企业知识库和AI业务助手。这些功能的共同目标很明确:将复杂数据转化为清晰决策语言,让管理全局尽在掌握。

广联达:深耕造价与BIM数字化的“专业工具集”

广联达是建设工程领域的专业数字工具与模型底座。在造价方面,凭借权威数据库和算量计价软件,解决工程量计算与成本清单的专业性问题。在BIM与智慧工地方向,通过模型模拟和物联网硬件,实现施工过程的可视化与现场要素的实时监控,优势在于工程实体与过程的数字化、透明化。

成本控制:是“算准每一分”重要,还是“管住每一笔”更重要?

成本是工程企业的生命线。在这个场景下,两者的路径差异立刻显现。

红圈的逻辑是 “全过程动态管控” 。红圈系统通过成本管理、资金管理、合同管理、物资管理、机械设备管理等核心模块,把成本控制的闸口设在了每一个业务动作上。材料采购必须关联合同预算,超了系统会预警;劳务结算必须走线上审批流程,杜绝糊涂账。

红圈AI的能力让这种管控变得更“聪明”。比如,面对堆成山的混凝土票、机打送货单、手写确认单,传统方式是安排几个文员埋头苦录。红圈AI的录单助手Agent Pro能直接通过大模型自动识别这些五花八门的单据,智能提取关键字段,并匹配相关数据回填业务系统。不仅把人工录入工作量砍掉90%,更能够将智能分析入库材料匹配的合同明细并挂接,厘清成本发生源头,从而实现低成本的实际成本归集统计。

但这还不是终点。 项目360°AI解读可以一键整合全维经营指标(资金/成本/合同/付款等),生成一份“项目全景作战图”。不仅能展示数据,更能通过大模型深度解读经营风险与应对策略。这就把成本管理从传统的“事后核算”,变成了“事中预警”和“事前洞察”。

广联达的核心价值在于 “奠定成本的数字基石” 。专业算量与计价软件,通过三维模型自动精准计算工程量,并依据定额生成权威的工程量清单与综合单价,解决 “成本应该是多少” 这一根本问题,为项目提供了无可争议的成本基准。在施工过程中,其工具也用于变更、签证的工程量重算,确保成本调整有据可依。

施工管理:要“现场黑科技”,还是“流程执行力”?

到了热火朝天的施工现场,两者的关注点再次分岔。

红圈针对房建工程、市政工程、装饰工程、机电工程、新能源工程等多种类型,将质量安全巡检、材料验收、劳务打卡等动作固化为线上流程,推动执行标准化、透明化。

红圈AI系列智能产品则是来给项目管理“减负”和“增智”的。现场技术员设备坏了怎么办?打开AI企业知识库,用自然语言提问,系统能在3秒内从知识库中获取精准答案,大幅降低新人培养周期。

项目经理每天被各种日志淹没?AI业务助手能实时解析工程管理业务数据,自动生成业务分析。能将非结构化的口语化表述,自动汇总并呈现为多维立体信息,并自动预警深度风险,快速提取风险待办事项。

广联达则侧重 “科技感与可视化” 。通过BIM 5D平台进行施工模拟优化工序,利用智慧工地物联网硬件(监控、传感器、闸机)实现现场安全、进度、人员的远程精准管控。

经营决策:是看“数据仪表盘”,还是听“AI分析师”汇报?

对于公司老板和经营班子来说,软件的价值最终要体现在辅助决策上。在这个层面,两者的能力代差可能是最大的。

红圈系统能够为建筑工程企业决策者实时呈现动态数据、提供智能数据分析,核心目标是让管理者实时了解项目整体运营效率及效益是否达标、经营风险是否可控。

红圈AI的BOSS助理Agent能通过自然语言交互,随时随地智能生成经营数据汇报,辅助管理者科学决策。而 项目360°AI解读 不仅能一键生成项目全景作战图,更能调用行业专家经验积累,对项目经营状况综合评定后智能分级,并围绕项目风险及问题,匹配业务管理实践方案,提供改进建议。同时,AI报表助手能秒级解析业务报表,自动定位异常指标、生成根因解读与改善建议。把管理者的角色,从“数据审计员”变成了“决策指挥官”,将经营分析从“事后总结”变为“事中洞察与事前预警”。

广联达的造价与BIM能力产出精准的预算成本、物料计划、实际进度等高质量数据,是上层经营分析不可或缺的“原料”。然而,将这些原料加工成直接的经营策略报告,并非其核心设计目标,仍需管理者进行复杂的关联分析。

厘清核心诉求,在专业工具与智能大脑间做出明智抉择

经过多个维度的深度对比,一个清晰的图景已然呈现:广联达与红圈虽然同处建筑工程数字化的大赛道,但其核心定位、解决的关键问题与赋能对象存在显著差异。

当企业的管理瓶颈在于“经营过程”的失控与“决策层面”的失焦时,红圈所构建的“管理系统+AI智能”体系则提供了另一种解题思路。选择红圈,意味着将数字化重心放在了提升企业整体的运营协同效率、风险控制能力和基于数据的经营决策水平上。红圈AI系列智能产品正是为了系统性地攻克这些管理难题而生。

反义当企业的核心挑战集中于“工程实体”的精准量化与“物理现场”的透明化控制时,广联达无疑是经过市场长期验证的专家。选择它,意味着将资源优先投入于提升单点业务的专业精度与现场管理的科技感。

抉择关键在于自我剖析:数字化转型的主要矛盾,是技术性痛点还是管理性顽疾?前者需专业深度工具,后者需智能管理体系。认清“专业工具”与“智能大脑”的路径分野,方能做出契合自身战略的明智选择。

我的项目是从 0-1 ,用 AI 来做。

比如我看都要配置 CLAUDE.md ,mcp ,skills ( PRD 文档,原型设计,技术架构,技术分析,开发任务拆解...)

这些内容有没有常用的基本配置的; 或者有开源的项目里面包含这些内容的,我准备照抄一下,自己写自己积累确实要花时间。

Amazon Key 团队对其事件平台进行了现代化改造,以解决由高度耦合的单体架构所带来的可扩展性与可靠性瓶颈。随着服务之间的交互逐渐演变为复杂的依赖网络,系统稳定性与集成效率不断受到限制。此次重构引入了基于 Amazon EventBridge 的集中式事件驱动架构,用以支持每日数百万级事件处理、实现毫秒级延迟,同时改进 Schema 治理能力,并为新增服务消费者提供可持续的接入路径。

Amazon Key 套件为车库内安全投递和物业访问管理提供支持。其早期架构依赖紧密耦合的服务体系,一个组件的变更或故障往往会直接影响其他组件。事件路由逻辑需要手动实现,缺乏高级过滤和并行发布能力。事件 Schema 定义较为松散,仅支持对必填字段进行基础校验。若需扩展校验规则或演进数据契约,往往需要额外的跨团队协作与定制开发。同时,该平台能够支持的订阅方数量有限,在新业务场景不断出现时,也缺乏标准化的消费者接入扩展机制。

为解决这些限制,工程团队采用了“单总线、多账户(single bus, multi-account)”架构模式。在这一模式下,核心账户中部署集中式 EventBridge 事件总线,用于接收来自事件生产者的领域事件。路由规则会根据事件模式进行匹配,并将符合条件的事件转发至各订阅账户,而每个账户则独立维护自身的目标服务与处理逻辑。这种结构在实现服务隔离的同时,也保留了对路由策略、权限管理以及合规控制的集中治理能力。各团队能够独立部署服务,同时共享统一的事件基础设施。

架构总览

团队还引入了集中式 Schema 仓库,用于统一事件定义并实施版本控制。Schema 成为事件契约的权威来源,并支持结构化校验。在事件发布至 EventBridge 之前,定制客户端库会依据已批准的 Schema 对事件进行校验与序列化;在订阅方侧,同一套库则负责事件的反序列化与校验,然后再触发下游服务调用。这一机制确保生产者与消费者之间的数据契约保持一致,并减少因 Payload 不兼容导致的集成错误。

在基础设施层面,订阅账户的资源配置通过 AWS Cloud Development Kit 构建的可复用组件实现自动化。这些组件负责配置事件总线、定义路由规则、建立跨账户访问所需的 IAM 权限,同时启用监控与告警能力。标准化流程减少了重复的基础设施配置工作,并确保各服务在可观测性与安全实践方面保持一致。

Schema 校验与发布流程

架构重设计带来了可量化的成果。目前平台每秒可处理约 2,000 个事件,成功率达到 99.99%。团队测得从事件接收到目标服务触发的 p90 延迟约为 80 毫秒。运营效率也显著提升:事件接入时间从原先的 48 小时缩短至 4 小时,而过去大约需要 40 小时完成的服务集成,如今约 8 小时即可完成。系统现已能够在保持低延迟与稳定可靠性的前提下,支持每日数百万级事件处理规模。

原文链接:

https://www.infoq.com/news/2026/02/amazon-key-event-driven-platform/

https://cursor.com/home 主页没问题,有问题的是 dashboard ,登录之后转半天。

一度以为是代理问题,转半天之后好几个 401 和 500

本来 cursor 用的自定义 api ,今天自定义 api 的开关频繁关闭,然后排查了一圈才发现。

是不是大伙都还没上班,都没人发现😡

几乎所有的 AI 编程 cli 都是 TS/JS 写的,skill 和 MCP 都是 TS python 写的,迭代飞快。
但是这类 cli 打印个版本号都要一秒以上。opencode -v 。

以后技术稳定了是否会用性能更高的语言,例如 rust 。

需求

需要支持播放下载的音频, 家里有个 PVE 服务器, 下载了很多儿童故事, 小孩喜欢听故事, 但是现在用的天猫精灵无法播放下载的音频。

所以需要一个方案或者换一个音箱, 可以链接 NAS 通过语音指令播放对应音频故事的。

求各位大佬不吝赐教

电影圈或许也没想到,抢走 2026 年春节档风头的,竟然是 AI。

从年前到年后,全球 AI 领域迎来了一波密集的发布潮,国内外科技巨头与创新企业争相“交卷”,火药味十足。从 Seedance 2.0 到 GLM-5,从 Claude Sonnet 4.6 到 Gemini 3.1 Pro,诸神混战,商量好了似的一起致敬去年 DeepSeek 在春节档的一战成名。

值得玩味的是,这一轮诸神之战,大家更多关注的是如何刷新“天花板”,却很少有人在改变“地板”。换句话说,模型越来越强,但能触达这些能力的人,依然有限——最先进的模型仍然掌握在极少数公司手中,再强的突破,也难以转化为更广泛的创新红利。

在这场春节档混战中,蚂蚁集团也发布了三款模型:百灵家族旗舰即时模型 Ling-2.5-1T混合线性架构的思考模型 Ring-2.5-1T,以及全模态大模型 Ming-flash-omni-2.0。前两款模型均基于 Ling 2.5 架构,该架构在 Ling 2.0 基础上,采用混合线性注意力机制,大幅提升了长文本处理效率。其中,Ling-2.5-1T 在 token 效率、偏好对齐等维度全面升级;Ring-2.5-1T 主打复杂推理,同时实现 IMO 2025 和 CMO 2025 的金牌水平。Ming-flash-omni-2.0 则基于 Ling-2.0 架构,在视觉理解、语音交互、图像编辑上均实现大幅提升。

相比“更大更强”的发布,这次发布的特殊性在于,开源世界终于又迎来了一款万亿参数推理模型。

在当前以 OpenAI、Google 为代表的闭源大模型体系主导下,万亿级参数模型长期被视为超级实验室的专属资产。要打造一个万亿参数的模型,必须同时跨越算力、数据、工程三道门槛:需要数万张高端 GPU 组成的集群,并且这些 GPU 能够协同工作,还需要海量、高质量、多样化的数据。因此,目前业内开源的万亿级模型寥寥,专注于深度思考的万亿级推理模型更是稀缺。

这也是 Ring-2.5-1T 这款开源模型能够在社区引起广泛讨论的根因之一。最重要的是,蚂蚁愿意在万亿参数这个量级上,持续进行底层的架构创新。这一点尤为关键,意味着团队需要具备迎难而上、勇于探索技术边界的决心和能力。比如这次在架构上,百灵大模型创新引入了混合线性注意力架构,大幅提升推理效率,同时保持训练系统的开放开源,与社区携手攻坚这一工程难题。

万亿模型的意义,不只在于参数本身

当模型规模跨过千亿之后,单纯依赖参数堆叠,已经很难带来线性的能力提升,反而会带来训练成本飙升、推理效率下降等一系列现实问题。行业对此已经形成了效率优先的共识,要么围绕注意力机制进行优化,要么针对 KV Cache 进行压缩,要么在数据质量和训练策略上挖掘突破口……本质上,大家再次来到同一起跑线,寻找新的 Scaling Law。

这也是为什么,这次 Ling 2.5 在架构上的升级能够成为社区讨论的焦点。

去年 10 月,蚂蚁百灵团队在一份长达 58 页的硬核技术报告《Ling 2.0 Technical Report》中,详细介绍了 Ling 2.0 架构。Ling 2.0 采用了统一的 MoE 基础架构,总专家数达 256 个,每次前向传播仅激活 8 个专家和 1 个共享专家,整体激活率约为 3.5%。

Ling 2.5 在 Ling 2.0 架构基础上,引入了混合线性注意力机制,对传统全注意力路径进行重构。具体而言,百灵团队通过增量训练方式,将原有 GQA(Grouped Query Attention)升级为 1:7 的 MLA(Multi-head Latent Attention)与 Lightning Linear Attention 组合结构。一部分注意力层被替换为线性注意力路径,以降低长序列计算复杂度;其余层则通过近似转换为 MLA,在压缩 KV Cache 的同时实现更好的表达能力。在实现层面,还对 QK Norm、Partial RoPE 等关键组件进行了针对性适配,以增强 Ling 2.5 架构在混合注意力架构下的表达能力。

这一设计其实相当务实,同时 兼顾了长序列处理能力与低成本部署的现实要求。 用线性注意力将传统自注意力的时间复杂度从 ‌O(n²)‌ 降低至 ‌O(n)‌,提升模型在长上下文场景中的效率;通过对 KV Cache 的针对性优化,有效降低推理阶段高昂的显存与带宽开销。

在训练阶段,Ling-2.5-1T-base 专门基于约 9T 高质量语料进行了持续预训练,重点强化了知识覆盖、智能体多轮交互和长程执行能力。在此基础上,借助混合线性注意力在长序列上的计算效率,将训练上下文窗口扩展至 256K tokens,并通过 YaRN(Yet another RoPE extensioN)实现最高 1M tokens 的稳定外推。

对于混合线性注意力在超长上下文推理中的效果,此前在社区中仍存在争议。一部分原因在于,线性注意力在理论上可能损失部分全局信息交互能力,此外,其在实际任务中的表现依赖于具体实现与训练策略。

架构改造后,Ling-2.5-1T 的激活参数规模由 51B 提升至 63B,但整体推理效率并未因此下降,相反,其在长文本生成中的吞吐优势甚至会随着生成长度增加而进一步放大。

Ling-2.5-1T 还专门针对超长上下文场景进行了系统性评测。在与采用 MLA 和 DSA 架构的大型即时模型对比中,Ling-2.5-1T 在多项长文本任务中表现出一定优势,验证了混合注意力路径在工程落地中的可行性。不过,与当前领先的闭源模型,如 GPT-5.2、Gemini 3 Pro 相比,仍存在一定差距。百灵团队表示,仍将持续在接下来版本中推进相关能力的进一步提升。

整体而言,从性能表现上来看,这一次的架构改造带来的提升十分明显,尤其是在效率上的提升,直接回应了深度思考模型的长期痛点。

过去,强调多步推理、链式思考的模型,往往意味着高延迟、高成本,在真实的生产环境中落地挑战重重。基于高比例的线性注意力机制,Ring-2.5-1T 在⽣成⻓度超过 32K 时,访存规模降低 10 倍,⽣成吞吐提升 3 倍 +。通过混合线性注意力的设计,让长程推理变得更轻量、更高效。

从这个角度来看,万亿推理模型开源的意义,早已不在于参数规模本身,而在于是否找到一条可以持续扩展的路径。而混合线性注意力所代表的,正是一种面向长期演进的架构思路。以新的架构范式,将模型能力真正转化为可落地的价值。某种程度上,这也体现了蚂蚁百灵团队的价值取向——长期主义,以及对 inclusion 的关注。通过架构创新,让更多开发者、更多场景有机会参与进来。

奥数金牌水平的模型,如何深度思考?

架构上的升级使得 Ring-2.5-1T 和 Ling-2.5-1T 在多个权威基准评测上均有不错的表现。Ling-2.5-1T 作为百灵家族当前最强大的即时模型,其与主流的大尺寸即时模型相比,在复杂推理、 指令遵循能力具有明显优势。

Ring-2.5-1T 则在数学、代码、逻辑等高难推理任务和智能体搜索、软件工程、工具调用等长程任务执行上均达到了开源领先水平。并且在 IMO 2025(满分 42 分)中,Ring-2.5-1T 获得 35 分,达到金牌水平;在 CMO 2025(满分 126 分)中取得 105 分,显著高于金牌线(78 分)及国家集训队入选线(87 分)。(Ring-2.5-1T 在 IMO 2025 与 CMO 2025 中的详细解答:https://github.com/inclusionAI/Ring-V2.5/tree/main/examples

在实际应用中,这两款模型表现如何?

在一句话生成 PPT 测试中,Ling-2.5-1T 根据一句指令,快速完成了从内容组织到 HTML 代码生成的全过程,直接输出了一份可用于演示的 PPT 页面,并且给出了详细的参考文献。在可视化、专业知识梳理上,均有不错的表现。

Prompt: 帮我用 HTML 生成一个介绍 LLM 基本原理的 PPT,画风要有科技感,术语严谨学术性强,16:9 的页面。

Ring-2.5-1T 则更擅长深度思考,能根据指令自动开发一个微型版操作系统(TinyOS),完成从任务拆解、模块设计到代码生成与调试的完整闭环。

这种深度思考能力,决定了模型能否真正跨越复杂问题的门槛。在 Ring-2.5-1T 中,一个关键变化是 dense reward 机制(稠密奖励),这也是支撑 Ring-2.5-1T 能够实现奥数金牌水平深度思考的关键。

百灵团队将 dense reward 引入到了 RLVR 的框架中,让模型的训练目标从给出正确结果,转向对每个推理步骤或关键节点都给予反馈。这种训练方式带来最直接的变化就是,相当于给模型思考过程加上了监督员,确保每一步推理都能合乎逻辑,减少漏洞,从而提升模型在复杂推理任务中的稳定性。

简单来说,dense reward 的核心理念就是关注过程而非仅仅是结果。当思考过程本身成为优化目标,大模型才真正具备了接近人类思考方式的能力。这也是蚂蚁这几款开源模型,能够在春节档杀出重围的根因之一。

万亿推理模型的开源,只是蚂蚁 AGI 布局中的一环

从行业经验来看,开源已经被证明是一条有效的生态路径,但如果仅仅把蚂蚁在这次春节档的动作理解为“开源策略”,明显低估了其背后的意图。因为蚂蚁正在做的,从来不只是开放模型本身,而是试图开放一整套围绕大模型运行的系统能力——包括训练、推理、强化学习乃至应用构建在内的完整技术体系。

支撑百灵大模型体系的,是蚂蚁集团自研的高性能强化学习系统 ASystem,其针对万亿参数模型的显存管理和训推权重交换问题做了精细的优化,实现了单机显存碎片秒级回收、权重零冗余交换,把大规模 RL 训练稳定跑成日常。

围绕这一底座,百灵团队在过去一年中持续推进核心能力的开源。自去年 11 月起,陆续推出「ASystem 系统开源」系列技术解析,并同步开放了一系列关键组件,包括高性能强化学习权重交换框架 Awex、用于提升通信效率的 NCCL 扩展库 AMem NCCL-Plugin、面向强化学习的高性能状态数据管理系统 AState、强化学习训练框架 AReaL,以及 Agentic RL 环境系统 AEnvironment。百灵团队希望将这套融合了技术深度与工程实践的系统性探索回馈社区,提供模型与系统协同设计的实践经验与参考路径。

当行业都在热热闹闹地重新定义模型“天花板”时,百灵团队紧盯“地板”,向更多开发者构建一条面向未来的技术路径:不仅提供模型能力,还提供构建模型的能力。 百灵团队表示,未来还将陆续开源 ASystem 的其他核心 RL 组件,进一步完善开源强化学习训练生态。表面上看,这似乎脱离了金融科技公司的叙事主线,实际上,这只是蚂蚁集团在 AGI 布局中的冰山一角。

作为最早将 AI 技术大规模应用于金融场景的公司之一,蚂蚁集团在过去多年来一直致力于 AI 研究,并将机器学习应用于欺诈检测、信用评估和服务自动化等领域。2023 年,随着生成式 AI 兴起,集团明确提出“AI First”战略,将 AI 置于公司发展的核心位置,并与“支付宝双飞轮”“加速全球化”共同构成新的增长引擎。

在模型层,百灵大模型系列持续演进,覆盖语言、多模态与推理能力;在应用层,则围绕自身优势场景,在金融、健康与生活服务等领域探索 AI 原生产品形态,通过“AI 管家”等形式,将模型能力转化为可感知的用户价值。

2025 年是蚂蚁 AGI 的重要分野。这一年,百灵大模型的迭代节奏明显加快,技术路线也逐渐清晰,从大语言模型 Ling,到多模态模型 Ming,再到强调深度思考能力的 Ring,构建起一套覆盖理解、生成与推理的模型体系。

在应用层,蚂蚁也在加速探索。去年 11 月,发布了“灵光”AI 助手,将多模态生成能力与实际使用场景结合,支持包括 3D、音视频、图表、动画与地图在内的多种信息形式输出,尝试构建一种更加直观的人机交互方式。

去年 12 月升级的 AI 健康助手——阿福,则集成健康问答、健康陪伴、健康服务三大功能模块,支持语音、文字、图片交互及“AI 诊室”主动追问模式,曾连续三天登顶 App Store 应用下载总榜第一。在 2 月 16 日的马年央视春晚舞台上,蚂蚁阿福出现在小品《血压计》中,成为全民关注热点。

当模型能力、系统基础设施与应用场景开始协同演进时,一套完整的 AI 体系正在逐步成型。而蚂蚁,也早已完成从金融科技公司到 AI 核心玩家的转身。从数据库、隐私计算,再到智能体、万亿参数模型,蚂蚁源源不断地将核心能力向社区释放,试图在更大范围内建立技术共识与生态协同。对蚂蚁而言,开源更像是一种组织能力与创新模式,驱动团队在开放中进化,在探索中打磨能力。通过持续的开放与协同,构建一个能够自我生长的技术生态。

从这个角度来看,这次万亿参数推理模型的开放,并不只是一次技术展示,更像是其在 AGI 路径上的一次阶段性落子——将能力交给开发者,让生态参与进来,也为下一个智能十年写下自己的注脚。当模型、算力与场景通过开放机制形成正循环时,技术的演进速度将不再由单一组织决定,而是由整个生态共同驱动。谁能够在这一过程中构建起稳定的开放体系,谁就更有可能在下一阶段占据主动权。而蚂蚁的选择,正是押注在这样一条更长期、更复杂,但也更具确定性的路径之上。

前言

相信很多学 Java 的同学都听说过黑马程序员在哔站推出的经典项目——“苍穹外卖”

作为一个单体架构项目,它对 Java 后端技术栈的讲解确实非常详细:
SpringBoot、MyBatis、Redis、JWT、Nginx、微信小程序……
对于新手来说,它几乎是一套完整的实战练习模板。

但问题也来了——

学的人太多,它已经变成了“烂大街”项目。

如果你把它原封不动写进简历,面试官大概率已经见过几十遍。

所以我做了一件事:

我没有推翻重做,而是在它的基础上进行了系统性改造升级。


🌾 “敕勒食驿”——基于地区特色的二次开发版本

“敕勒食驿”,是我结合学校和地区特色,对“苍穹外卖”的一次完整升级改造。

升级范围包括:

  • ✅ 后端架构升级
  • ✅ 管理端 UI 重构
  • ✅ 小程序端品牌重设计
  • ✅ 源码问题修复
  • ✅ 技术栈版本升级
这不是简单换皮,而是一次完整的工程实践。


🛠 使用工具栈

  • ClaudeCode 终端 + sonnet-4-6模型
  • ChatGPT
  • Figma
  • IntelliJ IDEA
  • Redis
  • 微信开发者工具
  • Nginx

可以说,这个项目也是一次 AI 辅助开发实践


一、后端改造

命名体系重构

我使用 ClaudeCode 对整个项目进行了批量重命名:

  • 系统名称
  • 数据库表名
  • 包结构
  • 配置文件

统一升级为 chile 系列命名规范

👉 这一步虽然简单,但非常重要:
它意味着这个项目已经真正属于你,而不是“套壳项目”。


技术栈升级

原项目基于较早版本的 SpringBoot。

我将其升级到:

  • JDK 17
  • SpringBoot 3.2.5(LTS长期稳定版)
  • 所有依赖升级到对应兼容版本

升级过程中需要特别注意:

⚠ javax → jakarta 迁移

SpringBoot3 全面迁移到 Jakarta 命名空间:

javax.*

需要替换为:

jakarta.*

否则项目无法启动。


Swagger 变化

SpringBoot3 下 Swagger 注解发生变动。

图中断点处:

如果你使用 Apifox 管理接口,其实可以考虑:

直接删除 Swagger 相关代码

接口文档统一外置管理,代码更干净。


二、源码问题修复(非常关键)

学习过程中,我发现原项目存在几个隐藏问题。

🐛 地址修改数据不更新

在修改地址时,小程序端的省市区数据一直不更新。

原因是:
MyBatis 的 update 语句中缺少对应字段。

需要补充:

<if test="provinceCode != null">
    province_code = #{provinceCode},
</if>
<if test="provinceName != null">
    province_name = #{provinceName},
</if>
<if test="cityCode != null">
    city_code = #{cityCode},
</if>
<if test="cityName != null">
    city_name = #{cityName},
</if>
<if test="districtCode != null">
    district_code = #{districtCode},
</if>
<if test="districtName != null">
    district_name = #{districtName},
</if>

👉 这类问题如果你只是照着敲代码,是不会发现的。
只有真正调试、排查,才会意识到问题。

这也是“二次开发”和“抄项目”的本质区别。


🐛 删除地址 404

小程序端删除地址时一直报错。

原因是路径不匹配:

  • 小程序请求:/user/addressBook/
  • 后端映射:@DeleteMapping

默认只匹配 /user/addressBook

导致 404。

修复方式:

@DeleteMapping({"", "/"})

同时匹配两种路径。


三、管理端重设计

主题定位

我重新设计了管理端视觉风格:

  • 主色:白色
  • 字体:黑色
  • 模块组件根据场景定制
  • 品牌统一为“敕勒食驿”风格

我先让 ClaudeCode 给出设计思路,再用 Figma 设计图片资源,然后逐步修改样式。

AI 给结构,人来做审美,这才是效率最大化。


源码问题:WebSocket 报错

如果你使用非 80 端口运行 nginx:

登录后右上角会一直出现 WebSocket 报错。

原因是:

编译后的 JS 文件里写死了:

ws://localhost:80/ws/...

解决方案:

改为动态获取端口:

window.location.host

四、小程序端改造

原项目的小程序 UI 已经做得非常成熟。

所以我没有大改结构,只做了:

  • 顶部品牌名修改
  • Logo 替换
  • 简介修改
  • 数据库中插入本地特色菜品数据

小提示:大家可能会碰到菜品不显示报错的问题,大家可以将 Redis 中的菜品缓存删除,一般就可以解决了。


五、这次改造带来的思考

很多人问我:

有必要在这个项目上花这么多时间吗?

我的答案是:

如果你只是为了交作业,那没必要。
如果你是为了找实习,那非常有必要。

因为:

  • 你能讲出版本升级踩坑
  • 你能讲出源码 bug
  • 你能讲出部署问题
  • 你能讲出架构思考

面试官会明显感受到:

你不是“学过”,而是“做过”。

六、下一步计划:集成大模型

目前项目还没有结束。

下一步我打算:

在管理端集成大模型能力,例如:

  • 智能菜品描述生成
  • 销量分析建议
  • 自动活动文案生成
  • 数据异常提醒

让系统真正具备 AI 辅助运营能力。


结尾

从“苍穹外卖”到“敕勒食驿”,
我完成的不是一个项目,而是一次真正的工程改造。

如果你也不想让自己的项目“烂大街”,
不妨试着做一次属于自己的升级。

如果这篇文章对你有帮助:

👍 点个赞
⭐ 关注一下
💬 评论区交流你的改造思路

我们一起把项目做出“自己的味道”。

—— 程序员小崔日记

本文由mdnice多平台发布

https://github.com/ipfs/kubo/blob/master/docs/p2p-tunnels.md

1. 启用实验性功能

复制
ipfs config --json Experimental.Libp2pStreamMounting true

2. 服务器端配置(暴露服务的机器)

假设服务器运行 SSH 服务(端口 22),执行:

复制
# 注册 P2P 监听器
ipfs p2p listen /x/test123 /ip4/127.0.0.1/tcp/22

# 查看服务器 PeerID
ipfs id -f "<id>\n"

/x/test123:协议名称(自定义标识符,/x/ 前缀是必需的)
/ip4/127.0.0.1/tcp/22:本地服务地址

3. 客户端连接(访问服务的机器)

复制
# 创建本地端口转发隧道
ipfs p2p forward /x/test123 /ip4/127.0.0.1/tcp/2222 /p2p/$SERVER_ID

# 通过隧道连接 SSH
ssh [email protected] -p 2222

/x/ssh:必须与服务器端协议名称一致
/ip4/127.0.0.1/tcp/2222:本地监听端口
/p2p/$SERVER_ID:目标服务器的 PeerID (12D3KooWD....)

4. 管理隧道

复制
# 查看所有活动隧道
ipfs p2p ls

# 关闭特定隧道
ipfs p2p close -p /x/test123

# 关闭所有隧道
ipfs p2p close --all

SSH 远程转发示例对比

SSH 远程转发命令:

复制
ssh -R 2222:localhost:22 user@remote-server

Kubo 等效操作:

复制
# 服务器端(被访问方)
ipfs p2p listen /x/ssh /ip4/127.0.0.1/tcp/22

# 客户端(访问方)
ipfs p2p forward /x/ssh /ip4/127.0.0.1/tcp/2222 /p2p/$SERVER_ID

IPFS 内网穿透优点

无需公网 IP 即可建立连接
自动通过 DHT 发现对等节点
支持 NAT 打洞直连,或通过中继节点转发

模型介绍

阿里巴巴开源全新一代大模型千问 Qwen3.5-397B-A17B,登顶全球最强开源模型。该模型总参数为 3970 亿,激活仅 170 亿,以小胜大,性能超过万亿参数的 Qwen3-Max 模型,部署显存占用降低60%,推理效率大幅提升,最大推理吞吐量可提升至19倍。

作为原生视觉-语言模型,Qwen3.5-397B-A17B 在推理、编程、智能体能力与多模态理解等全方位基准评估中表现优异,助力开发者与企业显著提升生产力。该模型采用创新的混合架构,将线性注意力(Gated Delta Networks)与稀疏混合专家(MoE)相结合,实现出色的推理效率,在保持能力的同时优化速度与成本。同时还将语言与方言支持从 119 种扩展至 201 种,为全球用户提供更广泛的可用性与更完善的支持。

PAI-Model Gallery 简介

Model Gallery 是阿里云人工智能平台 PAI 的产品组件,它集成了国内外 AI 开源社区中优质的预训练模型,涵盖了 LLM、AIGC、CV、NLP 等各个领域。通过 PAI 对这些模型的适配,用户可以以零代码方式实现从训练到部署再到推理的全过程,简化了模型的开发流程,为开发者和企业用户带来了更快、更高效、更便捷的 AI 开发和应用体验。

PAI-Model Gallery 访问地址:https://pai.console.aliyun.com/#/quick-start/models

阿里云PAI-Model Gallery已同步接入 Qwen3.5 本次开源的模型,提供企业级部署方案。

  • 零代码一键部署
  • 自动适配云资源
  • 开箱即用API
  • 全流程运维托管
  • 企业级安全 数据不出域
    e96850bc4b7e41c598a2241265429718.png
    2e9dcd34742c43698a709beaa0b548f8.png

一键部署 Qwen3.5-397B-A17B 模型

1、https://pai.console.aliyun.com/#/quick-start/models/Qwen3.5-3...
65519c53a1394a91858c76c0db2c394f.png

2、在模型详情页右上角点击「部署」,已支持 SGLang、vLLM 高性能部署框架。在选择计算资源后,即可一键完成模型的云上部署。
d3fd1edae5ce4530b7f13c7842a312e8.png
4de5858298c74cedadc0344ff9c610e3.png

3、部署成功后,在服务页面可以点击“查看调用信息”获取调用的调用地址和 Token,想了解服务调用方式可以点击预训练模型链接,返回模型介绍页查看调用方式说明。
3a8447e6721a409baf7848542087c5ba.png

4、使用推理服务:您可以在本地或使用各类客户端直接调用模型服务,也可以使用 PAI 平台提供的在线调试功能进行在线体验。详情可参考文档:https://help.aliyun.com/zh/pai/getting-started/model-gallery-...
022621e10ad44dfb8bf8aecdf4fefa4c.png

更多模型支持

PAI-Model Gallery 持续提供开源社区热门模型的快速部署、微调、蒸馏、评测实践,模型覆盖 Qwen、Wan、DeepSeek、Kimi、MiniMax 等优秀开源模型,同时还提供 Qwen3-235B-A22B-PAI-optimized、Qwen3-Next-80B-A3B-Instruct-FP8-PAI-optimized、DeepSeek-R1-0528-PAI-optimized 等 PAI 优化版本模型,内置了 PAI 优化版的 EP+PD 分离部署等模板,性能更优。

某安卓 app 顶部导航栏是当前登陆账户名 以及打码的手机号 格式为 188****8888 打码 4~7 位

该 app 已经上架 拥有 20 余万会员

走安卓联盟上架, 已上架数年

即 从 oppo/mi/vivo/honor 任何一个市场上架 同步推给其他三家审核 上架三家市场

春节前, 荣耀开始抽风

不是每个安卓 app 必须提供四张竖屏 app 运行截图嘛

我们测试提供的截图那个用户名是

张三, 手机号为 188****8888 (实际是 18888888888 的测试号)

被荣耀软件抽查组抽查 直接下架

理由是 "APP 截图包含个人信息"

然后我们把截图里的"张三"改成了 "系统测试用户" 进行整改

整改合格成功, 他们 accept 了我们的整改

然后到春节假期期间 又被查了 责令整改 否则下架

整改理由是 "包含测试信息"

我们把手机号直接扣掉 把 UID 直接抠掉 反正来来回回试着整改了 N 次 都不通过

没办法了 邮件联系了他们的人(给的渠道根本没有任何活人 只好邮件了)

最后需要整改的原因是 "用户名"那里 看着假 有测试字样...

可是他妈的 之前我们用 "张三" 18888888888 你们不干啊

我们又改回了张三 + 18888888888 提交 不跟大厂杠

然后荣耀还没审 其他厂商又不干了 包含个人信息 给打回来了

本文为墨天轮数据库管理服务团队第166期技术分享,内容原创,作者为技术顾问闫建,如需转载请联系小墨(VX:modb666)并注明来源。如需查看更多文章可关注【墨天轮】公众号。

部署概述

本文档详细描述了在龙蜥OS 8.6操作系统上,使用二进制压缩包安装MySQL 8.4.7数据库的完整步骤,并配置基于GTID的异步主从复制。所有参数配置均遵循生产环境最佳实践,旨在充分利用16核CPU、64GB内存和SSD磁盘的硬件性能,确保数据库系统的稳定性、安全性与高性能。

环境介绍

操作系统: Anolis OS 8.6 x86-64

CPU:16核

内存:64GB

硬盘:1TB SSD操作系统

环境准备

在安装MySQL之前,需对操作系统进行必要的配置优化,以满足数据库运行的基础要求。

1. 系统参数调整

编辑 /etc/sysctl.conf文件,添加或修改以下内核参数,优化网络、内存和文件系统性能。

# 编辑系统参数配置文件
vi /etc/sysctl.conf
# 添加或修改如下内容:
# 网络核心参数
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# 网络TCP参数
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_keepalive_time = 600
# 内存与虚拟内存
vm.swappiness = 1
vm.dirty_ratio = 60
vm.dirty_background_ratio = 5
# 文件系统与Inode
fs.file-max = 655350
fs.aio-max-nr = 1048576

2. 资源限制调整

编辑 /etc/security/limits.conf文件,提高MySQL用户可用的进程数和文件打开数。

vi /etc/security/limits.conf
# 在文件末尾添加:
mysql soft nproc 65535
mysql hard nproc 65535
mysql soft nofile 65535
mysql hard nofile 65535

3. 创建用户与目录

为MySQL服务创建专用的用户、组和数据目录,并设置严格的权限控制。

# 创建mysql用户组和用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
# 创建MySQL基础目录和数据目录
mkdir -p /usr/local/mysql
mkdir -p /data/mysql/{data,logs,binlogs,tmp,run}
# 更改目录所有者
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mysql

4. 磁盘IO调度策略(针对SSD优化)

建议将SSD磁盘的I/O调度策略设置为 deadline或 none(对应多队列的blk-mq)。

# 查看磁盘调度策略,假设数据盘为 /dev/nvme0n1
cat /sys/block/nvme0n1/queue/scheduler
# 临时修改调度策略(重启失效)
echo deadline | sudo tee /sys/block/nvme0n1/queue/scheduler
# 永久生效,可写入 /etc/rc.local 

安装部署二进制包安装

1. 下载与解压

从MySQL官方网站下载对应的二进制包(mysql-8.4.7-linux-glibc2.17-x86\_64.tar.xz或根据龙蜥OS的glibc版本选择),并解压到安装目录。

image.png

# 切换到安装包所在目录
cd /tmp
# 下载(见上图)
下载后拷贝至/tmp目录下
# 解压并移动到目标目录
tar -xvf mysql-8.4.7-linux-glibc2.17-x86_64.tar.xz -C /usr/local/mysql

2. 设置环境变量

# 编辑全局profile文件
vi /etc/profile.d/mysql.sh
# 添加以下内容:
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
# 使环境变量立即生效
source /etc/profile.d/mysql.sh

3. MySQL参数配置

根据64G内存和SSD磁盘的特性,精心调优的 my.cnf配置文件是数据库性能的关键。以下为主库的配置示例,从库的 server-id不同。

主库配置文件/etc/my.cnf

[client]
port = 3306
socket = /data/mysql/run/mysql.sock
[mysql]
prompt="\\u@\\h : \\d \\r:\\m:\\s> "
default_character_set = utf8mb4
no_auto_rehash
[mysqld]
# === 基础路径与标识 ===
port = 3306
basedir = /usr/local/mysql
datadir = /data/mysql/data
socket = /data/mysql/run/mysql.sock
pid_file = /data/mysql/run/mysql.pid
tmpdir = /data/mysql/tmp
# === 服务器标识(主从必须不同)===
server_id = 101
report_host = master_ip_or_hostname # 请替换为主库实际IP或主机名
# === 字符集与语言设置 ===
character_set_server = utf8mb4
collation_server = utf8mb4_general_ci
lower_case_table_names = 1
# === 内存配置(64G内存优化)===
# InnoDB缓冲池,约占物理内存的50%
innodb_buffer_pool_size = 32G
# 缓冲池实例数
innodb_buffer_pool_instances = 8
# 其他内存缓冲区
key_buffer_size = 64M
innodb_log_buffer_size = 256M
sort_buffer_size = 4M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
join_buffer_size = 4M
thread_stack = 512K
binlog_cache_size = 2M
# === 连接与线程 ===
max_connections = 2000
max_connect_errors = 1000000
thread_cache_size = 64
table_open_cache = 4096
table_definition_cache = 2048
# === InnoDB引擎核心优化(针对SSD)===
# 事务日志刷盘策略,1为最安全,2性能更好但可能丢失1秒数据
innodb_flush_log_at_trx_commit = 1
# redo日志文件大小
innodb_redo_log_capacity = 6G
# IO线程数,可设置为CPU核心数
innodb_read_io_threads = 8
innodb_write_io_threads = 8
# 刷盘方式,Linux下建议O_DIRECT避免双缓冲
innodb_flush_method = O_DIRECT
# 每个表独立表空间
innodb_file_per_table = 1
# 打开文件数限制
innodb_open_files = 65535
# === 二进制日志与复制(GTID模式)===
log_bin = /data/mysql/binlogs/mysql-bin
binlog_format = ROW
relay_log = /data/mysql/binlogs/relay-log
relay_log_index = /data/mysql/binlogs/relay-log.index
# 为GTID复制启用
gtid_mode = ON
enforce_gtid_consistency = ON
log_replica_updates = ON
# 二进制日志保留时间(秒),7天
binlog_expire_logs_seconds = 604800
max_binlog_size = 1G
sync_binlog = 1
# === 其他重要参数 ===
# 跳过域名解析,提升连接速度
skip_name_resolve = 1
# 错误日志路径
log_error = /data/mysql/logs/error.log
# 慢查询日志
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/logs/slow.log
# 最大数据包大小
max_allowed_packet = 1G
# 自动超时时间
interactive_timeout = 10800
wait_timeout = 10800

从库配置差异

从库的 my.cnf文件绝大部分与主库相同,只需修改以下参数:

[mysqld]
# 服务器标识必须唯一
server_id = 102
report_host = slave_ip_or_hostname # 请替换为从库实际IP或主机名
# 从库可选项:延迟复制(按需设置)
# relay_log_recovery = 1
# 从库可选项:禁止写入(增强只读状态)
# read_only = 1
# super_read_only = 1 (如果希望超级用户也只读)

4. 初始化数据库与启动服务

4.1 初始化数据目录

使用 --initialize 选项进行初始化,初始化过程中会为root用户生成一个临时密码。

sudo -u mysql /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql &

重要: 初始化完成后,务必在错误日志中记下生成的临时密码。

grep 'temporary password' /data/mysql/logs/error.log

4.2 配置启动关闭脚本

cd /data/mysql
vi startMySQL.sh
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
vi stopMySQL.sh
/usr/local/mysql/bin/mysqladmin -uroot -p'passwrod' -S /data/mysql/run/mysql.sock shutdown
chmod +x /data/mysql/startMySQL.sh
chmod +x /data/mysql/stopMySQL.sh
##后面可以通过执行脚本来启动和关闭MySQL实例
/data/mysql/startMySQL.sh
/data/mysql/stopMySQL.sh
启动MySQL服务
/data/mysql/startMySQL.sh

4.3 修改root密码并初始化权限

使用临时密码登录,并立即修改密码。

mysql -uroot -p -S /data/mysql/run/mysql.sock

在MySQL提示符下执行:

-- 输入临时密码登录后,立即修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'my_passwrod123!';
-- 刷新权限
FLUSH PRIVILEGES;

5. 配置GTID主从复制

5.1 主库操作

-- 创建复制用户
CREATE USER 'repl'@'%' IDENTIFIED BY 'repl_password_123!';
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repl'@'%';
-- 刷新权限
FLUSH PRIVILEGES;

5.2 从库操作

-- 配置主库连接信息
CHANGE REPLICATION SOURCE TO 
SOURCE_HOST='master_ip',  --替换为主库IP地址
SOURCE_PORT=3306,
SOURCE_USER='repl',
SOURCE_PASSWORD='repl_password_123!',
SOURCE_AUTO_POSITION=1,
GET_SOURCE_PUBLIC_KEY=1; 
-- 启动复制
START REPLICA;
-- 检查复制状态
SHOW REPLICA STATUS\G

关键检查点:

(1)Slave\_IO\_Running: Yes

(2)Slave\_SQL\_Running: Yes

(3)Seconds\_Behind\_Master: 0

(4)Retrieved\_Gtid\_Set 和 Executed\_Gtid\_Set 应正常显示和增长。

总 结

本文档提供了一套完整的、针对生产环境的MySQL 8.4.7二进制安装与GTID主从复制部署方案。所有参数均基于16C/64G/SSD的硬件配置进行了优化。在实际生产环境中,请根据具体的业务负载特点进行微调,并严格执行备份、监控和告警策略。


墨天轮从乐知乐享的数据库技术社区蓄势出发,全面升级,提供多类型数据库管理服务。墨天轮数据库管理服务旨在为用户构建信赖可托付的数据库环境,并为数据库厂商提供中立的生态支持。
墨天轮数据库服务官网:https://www.modb.pro/service

数字化转型的驱动力与发展目标
近年来,随着全球制造业的数字化浪潮不断推进,汽车产业作为国民经济的重要支柱,也迎来了前所未有的变革机遇。尤其是在2025年底,工信部等四部门联合发布的《汽车行业数字化转型实施方案》中,明确提出到2027年要实现整车标杆企业智能制造能力成熟度等级提升一档,零部件企业数字化水平显著提升的目标。更长远地看,到2030年,整个行业的数智化发展将达到较高水平,数字化与业务深度融合成为常态。
这些目标的实现不仅需要企业在技术层面的投入,还需要政策引导、生态协同和人才培养等多方面的支持。从当前的发展态势来看,汽车产业的数字化转型已经不仅仅是提升效率那么简单,它更是一场关乎未来竞争力的系统性变革。比如,研发周期的缩短、交付环节的优化、生产过程的智能化,这些都直接关系到企业的生存和发展。
研发到交付的数字化升级路径
在研发环节,数字化技术的应用已经从单纯的辅助工具逐渐转变为不可或缺的核心能力。传统的汽车研发需要大量物理实验和样车测试,而如今,借助仿真设计和虚拟验证,企业可以在电脑屏幕上完成大部分研发工作,大大缩短了产品研发周期。生产制造环节则更加智能化,从大规模标准化生产向柔性化、个性化定制转变,这不仅提升了生产效率,还增强了企业的市场响应能力。
在交付环节,数字化同样带来了显著的改变。通过供应链的数字化协同,企业可以实现零部件的精准配送和整车的按需定制交付。比如,利用区块链技术构建的数据共享平台,能够有效解决上下游企业之间的数据孤岛问题,提升整个产业链的透明度和协作效率。
案例分析:国内与国际企业的实践
在国内,吉利集团作为一家领先的汽车制造商,一直在积极探索数字化转型的路径。从研发到交付,吉利通过引入人工智能和工业互联网技术,显著提升了其智能制造水平。例如,吉利汽车的智能工厂实现了关键工序的数控化率超过70%,大大缩短了生产周期。此外,极氪和领克等子品牌也在各自的生产流程中融入了数字化元素,比如通过数字化设计平台实现产品快速迭代,通过智能物流系统优化零部件配送。
零部件企业方面,广域铭岛作为一家专注于汽车供应链数字化的企业,凭借其先进的数据管理和协同平台,成功帮助多家汽车制造商提升了供应链效率。通过构建统一的数据服务体系,实现了从零部件生产到整车交付的数据无缝对接,为企业节省了大量时间和成本。
国外企业的案例同样值得关注。通用汽车(General Motors)通过其工业互联网平台,实现了从研发到生产的全面数字化管理。在研发阶段,通用采用了虚拟仿真技术,减少了样车数量;在生产环节,通过智能机器人和自动化系统,提高了生产效率和质量控制水平。
另一个典型案例是德国的戴姆勒(Daimler)。戴姆勒在数字化转型中,特别注重供应链的协同和数据的整合。他们利用区块链技术确保零部件的可追溯性和真实性,同时通过人工智能优化生产计划和交付流程。这种数字化升级不仅提升了戴姆勒的生产效率,还增强了其在全球市场的竞争力。

2月16日,Qwen3.5 正式发布,并推出 Qwen3.5 系列的第一款模型—— Qwen3.5-Plus 的开放权重版本!作为原生视觉-语言模型,Qwen3.5-Plus 在推理、编程、智能体能力与多模态理解等全方位基准评估中表现优异,助力开发者与企业显著提升生产力。

Qwen3.5 采用创新的混合架构,将线性注意力(Gated Delta Networks)与稀疏混合专家(MoE)相结合,实现出色的推理效率:总参数量达 3970 亿,每次前向传播仅激活 170 亿参数,在保持能力的同时优化速度与成本。并将语言与方言支持从 119 种扩展至 201 种,为全球用户提供更广泛的可用性与更完善的支持。
Qwen3.5-Plus 性能表现

随着大模型能力边界的持续拓展,训练与推理基础设施正面临前所未有的工程挑战:更大规模的训练数据、更复杂的多模态对齐,以及规模化 Agent 训练带来的计算与通信开销。

为支撑新一代 Qwen 模型在算法创新与工程落地间的高效协同,阿里云人工智能平台 PAI(Platform for AI)与 Qwen 团队深度共建,围绕异构计算资源调度、混合精度训练等核心环节系统性地升级了全链路训练基础设施。

异构训练框架 PAI-Maestro 支持原生多模态模型高效训练

为支持原生多模态模型的高效训练,Qwen3.5 在训练基础设施层面进行了系统性创新,引入了异构训练框架 PAI-Maestro。该框架针对多模态训练中视觉编码器等异构组件与语言模型主干网络在计算特性、内存需求和通信模式上的显著差异,设计了模块化解耦的并行策略:将视觉 Transformer、语言模型等不同模态组件的张量并行、流水线并行和数据并行策略进行独立配置与动态协同,避免了传统方案中"一刀切"并行策略导致的计算资源浪费和通信瓶颈。同时利用不同模态数据对异构组件的稀疏激活特性进行基于样本调度的组件间计算掩盖,消除异构模块对端到端训练性能的负面影响。

基于这一方案 PAI-Maestro 在端到端训练流程中几乎完全消除了多模态组件引入的性能损耗。在混合包含文本、图像、视频的训练数据集上,Qwen3.5 的训练吞吐量达到了接近100%的相对纯文本训练效率。这意味着模型可以在不牺牲训练速度的前提下,无缝融合多模态能力,大幅降低多模态大模型的训练成本与工程复杂度,为原生多模态架构的规模化落地提供了关键基础设施支撑。
PAI-Maestro 架构图

FP8 低精度训练:高效稳定的大模型低精度预训练方案

在低精度训练方面,PAI 团队和 Qwen 团队一起在预训练阶段和 RL 阶段精心设计了原生 FP8 低精度训练流程。在预训练阶段,我们采用细粒度的 FP8 混合精度策略,将 FP8 应用于激活值存储、MoE 专家分发及 GEMM 计算。为了应对低精度训练过程中数值不稳定导致 loss spike 的潜在风险,我们设计了轻量级运行时监控机制,动态追踪模型各部分权重、激活值、梯度值分布,在此基础上我们在对数值稳定性敏感的层保留高精度表示。该一方案在支撑模型稳定训练数十万亿 token 的同时,将激活显存占用降低约50%,并带来超过10%的端到端训练加速,显著提升了大规模训练的效率与可扩展性。

在强化学习工作流中,我们同样在训练引擎和推理引擎均引入了 FP8 精度。这种端到端的精度一致性有效消除了训练引擎和推理引擎之间的精度不匹配问题,降低了训练崩溃的风险,同时加快了与环境的交互过程,为高效、稳定的策略优化提供了坚实基础。

云原生的 Agentic RL 架构

云原生 Agentic 环境架构
为提升 Qwen 3.5 模型在 Agent 场景下的性能表现,阿里云 PAI 团队联合阿里云容器服务团队联合自研了一套云原生 Agentic 环境架构。该架构以容器云服务为底座,可支持数十万并发轨迹,并具备容纳百万级镜像的能力。通过引入镜像公共层缓存预读取、OSS 加速器等关键技术,有效解决了高并发场景下环境镜像拉取失败率过高的挑战。同时,团队构建了统一的 Agentic 环境可观测性系统,实现了分钟级的轨迹失败自动归因和告警能力。依托上述技术创新与突破,成功将因环境问题导致的轨迹失败率从1%显著降低至0.05%(即万分之五)。

总结

在模型尺寸持续扩展、集群规模不断扩大、输入序列日益增长、数据模态日趋多元的行业演进背景下,大模型训练与推理基础设施所面临的挑战正呈现出高度的系统性与复杂性。阿里云 PAI 团队始终以打造业界顶尖的大模型基础设施为使命,与 Qwen 团队深度协同,直面 Qwen 系列模型带来的世界级技术挑战,持续锤炼高性能、高可靠、高可用的训推一体化平台,致力于为内外客户提供坚实、领先且值得信赖的 AI 基础设施服务。

如题,根据我对 hodlai 的 v2 、推特、电报群里的消息观察,我认为$hodlai 要结束了

PS:我是买了,使用下来也回本了,虽然感觉计算费率实际偏高?