博客七周年:AI 一天完成整体重构
博客从 2019 年国庆用 Xiuno BBS 搭建,到 2026 年国庆整整七年。868 篇文章、53 条评论、6060 个代码块,这次与 AI Agent 结对,一天完成从 PHP 论坛到 Next.js 的整体重构与无损迁移。
资深 Android 开发工程师,丰富系统级应用经验,覆盖亿级用户设备,专注 AI Agent 工程化落地。白天在搞 AI 智能体,晚上回来折腾这个博客。以前的文章是从刚毕业一个字一个字敲的,现在嘛——我跟 AI 说一句话,它就写好发出来了。不信?看看最新的文章 🚀
博客从 2019 年国庆用 Xiuno BBS 搭建,到 2026 年国庆整整七年。868 篇文章、53 条评论、6060 个代码块,这次与 AI Agent 结对,一天完成从 PHP 论坛到 Next.js 的整体重构与无损迁移。
第 13 篇/post/1713把前十二篇的机制拼成了一个完整的多代理研究助手,项目层面算是收官了。但有一件事整个系列都刻意绕开:那张图怎么跑进生产环境。差距不在图本身——生产跑的还是同一个编译产物——而在图外面的一圈:…
《LangGraph 从入门到实战》走到这里,单图的兵器谱已经集齐:建图五步、reducer 合并、条件边路由、create_agent、interrupt 审批、子图组网、checkpointer 落档、Store 长…
第 11 篇/post/1709的 CRAG 图把检索、打分、改写串成一条纠错链,单线程问答够用;任务一旦变成"一批文档并行摘要、二十条查询并行检索",串行就是灾难。第 4 篇/post/1718亮过一次并行——条件边返…
基础 RAG 的五步固定管线——加载、切分、向量化、检索、生成——LangChain 基础系列第 8 篇/post/1700已经整条走通:问题从一头进,答案从另一头出。这条管线默认了一件事:检索回来的内容对问题有用。默认…
《LangGraph 从入门到实战》走到第 9 篇/post/1722,图的骨架已经齐装满员:条件边管路由,create_agent 出成品代理,子图组多代理,checkpointer 落档,Store 管长期记忆。但驱…
第 8 篇/post/1717把 checkpointer 讲透了:thread_id 是档案抽屉号,图每推进一步就给黑板打快照,进程崩了能续跑,想回看能时间旅行。但快照有一条天然边界——它只记"这一次会话"。明天用户带…
第 6 篇/post/1710把 interrupt 讲透了,留了个尾巴:MemorySaver 把档案放在进程内存里,进程一退,所有挂起待审的单子当场蒸发——审批流"挂起等人"的天性,撞上"重启即失"的存储,生产环境根…
前六篇把一张图的能力推到了头:State 定黑板语义,条件边管路由,create_agent 一行拿到成品代理,interrupt 又把人工审批接进流程。图越写越大是迟早的事——几十个节点挤在一张图里、几个团队同时在改、…
第 5 篇/post/1714用 create_agent 把标准 Agent 循环收进一个函数:模型推理、工具调用、结果回填全部自动流转,接工具只是往参数里添几行。自动化的另一面随之浮现——转账、删库、群发邮件这类不可…
第 4 篇/post/1718收尾预告过:条件边讲完,官方预制的 Agent 图就该登场了。前四篇一直在从零搭图——五步建图、reducer 定合并语义、条件边管路由——每个零件都亲手摸过一遍。本篇把零件拼回官方成品:c…
第 3 篇/post/1720的多轮翻译实战收尾时,route 函数已经亮过一次相:审校节点跑完,它读一眼黑板上的 done,决定把流程送回 draft 回炉,还是直达 END。当时一句带过,本篇把它背后的机制正面讲透—…
第 2 篇/post/1721收尾留了一句话:黑板字段的默认合并语义是覆盖,str 这类单值字段刚好合适,换成消息列表就是灾难——后一个节点会把前一个节点攒下的对话历史整个顶掉。当时只让 add_messages 露了个…
《LangGraph 从入门到实战》第 1 篇/post/1711把心智模型立住了:节点是函数、边是控制流、State 是共享黑板,结尾还留了个作业——把你手头一个真实业务画成纸上的图。本篇是第 2 篇/post/172…
Agent 专题写到今天,工具箱已经换过三代:裸 SDK 系列手写工具循环,messages 列表、tool call 分发、重试兜底全部亲手造过一遍;LangChain 基础系列换了趁手的家伙,用 create_age…

一个智能体配上一套工具,已经能完成相当多任务。但让它同时“当产品经理、写后端、跑测试、做代码评审”,很快就会露馅:上下文里塞满了互相干扰的指令,十几件工具的清单来回切换,任务做到一半忘了开头。解法看起来很自然——像人类团队一样分工:让多个智能体各司其职,由一个协调者调度,这就是 Multi-Agent(多智能体)系统。它也是 2026 年智能体工程里讨论度最高、误用率也最高的架构。本文按“架构模式…

Function Calling 解决了“模型怎么发起一次调用”,但真正让智能体能干活的是另一件事:给它配一套什么工具、工具怎么设计、错误怎么处理、工具从哪来。这就是 Tool Use(工具使用)要回答的问题——它不是某个 API 特性,而是“让模型可靠地操作外部世界”的完整工程学科。2025 年以来,这个领域完成了一次关键跃迁:MCP 协议把工具接入从“逐家定制”变成“即插即用”,工具生态成为智…

与模型对话时,同一个需求换一种问法,得到的结果可能天差地别:一次得到可用的生产代码,另一次得到一堆正确的废话。这不是模型“看心情”,而是提示词(Prompt)本身就在决定模型的注意力分配与输出形态。提示工程(Prompt Engineering)就是把这件看似玄学的事,变成一套可复现、可迭代的工程方法。本文按“基本结构 → 核心技巧 → 结构化输出 → 迭代优化 → 常见误区 → 总结”组织全文。…

问大模型“北京今天多少度”,它只能用训练数据里的旧知识猜,或者老实承认不知道。但如果告诉它“我这里有个查天气的接口”,它会说:“帮我调用 get_weather,城市参数填北京。”你的程序执行调用,把结果递回去,它再组织成一句自然的回答。Function Calling(函数调用)让模型从“只会聊天”进化为“会办事”——它是大模型连接外部世界的第一块基石,也是一切 Agent 系统的地基。本文按“…

大模型知道很多,但不知道你公司的内部文档、上周的产品公告、你个人笔记里的那条备忘。直接问它,它要么坦白不知道,要么一本正经地编一个答案——后者就是臭名昭著的幻觉。RAG(Retrieval-Augmented Generation,检索增强生成)给出的解法是:回答之前先查资料——把相关的私有知识实时检索出来,塞进上下文,再让模型基于资料作答。这是当前企业级 AI 应用采用率最高的架构,没有之一。本…