AI Agent 开发(01):全景地图
2026 年,Agent 开发完成了从"演示"到"生产"的转折:代码评审 Agent 跑在 CI 流水线里,数据分析 Agent 接上了真实报表。转折的底层前提并不神秘——2025 年 10 月 LangChain 与 …
AI 开发 · 共 30 篇 · 按发布时间正序排列
从模型调用到多代理系统:Python 技术栈的 Agent 开发全流程 30 篇
2026 年,Agent 开发完成了从"演示"到"生产"的转折:代码评审 Agent 跑在 CI 流水线里,数据分析 Agent 接上了真实报表。转折的底层前提并不神秘——2025 年 10 月 LangChain 与 …
上一篇把 Agent 的全景地图铺开了:模型层决策、编排层循环、工具层干活。地图看完了,这一篇开始铺路——三十分钟内,让一个真正会"自己决定调工具"的 Agent 在你机器上跑起来。 工具链选 2026 年 Python…
上一篇我们把第一个 Agent 跑了起来:一个模型、一个工具、一个循环。跑通之后再回头看,你会发现 Agent 的每一种高级能力——规划、反思、调用工具——最终都落在同一个原子操作上:把一组消息发给大语言模型(LLM),…
写 Agent 最容易低估两件事:Prompt 怎么组织,输出怎么消费。不少团队的 Agent 在 demo 阶段跑得飞起,一进生产就问题不断——翻日志十有八九是两类:模型没理解任务,或者模型理解了、输出格式却飘了,下游…
工具是 Agent 与世界交互的唯一通道:查天气、搜文档、读数据库、发请求,模型的一切"行动力"都来自工具调用。但 Function Calling 这个名字自带误导——模型从不真正执行函数,它只输出一段结构化的"调用意…
前五篇把地基打完了:第二篇用 create_agent 三十行跑通会调工具的 Agent,第 5 篇/post/1552又把它的内核拆开——那段不到 20 行的 while 循环。工具调用这层协议吃透之后,该进引擎室了。…
第 6 篇/post/1553用 StateGraph 把"模型循环"变成了图:节点是函数,边是路由。但决定一个 Agent 能长多大的,往往是那个容易被一笔带过的 State——所有节点共享它、读写它,图每走一步它就变…
第 6 篇/post/1553用 add_edge 搭出了第一条 StateGraph,但那条图里所有边都是焊死的——数据从 START 出发,沿固定管道流到 END,跑一万次路线不变。这对流水线够用,对 Agent 不…
第 1 篇/post/1548埋过一条主线:到本篇为止,你在使用别人的抽象;本篇之后,你理解每个抽象为什么存在。现在就走到这条主线的分水岭——不用任何 prebuilt,徒手把一个完整的 ReAct Agent 从 St…
第 9 篇/post/1556我们徒手搭了 ReAct:agent 节点、tool 节点、条件回边,从零跑通了"推理 → 行动 → 观察"的循环。轮子怎么造已经心里有数,这一篇反过来看另一面——什么时候该直接用现成的轮子…
第 10 篇/post/1557结尾留了一句话:下一篇讲人机协同,让 Agent 在关键动作前停下来等你点头。这篇兑现承诺。create_agent 参数表里那两个"停下来"的入口——interrupt_before 参…
第 11 篇/post/1558做审批流时,interrupt 停得下来、Commandresume=... 续得上去,靠的都是当时一笔带过的那个参数——compilecheckpointer=...。这篇把它正面讲透:…
第 12 篇/post/1559给图装上了持久化:checkpointer、thread_id、时间旅行。到这里 LangGraph 的核心积木只剩最后一块没讲:所有图跑起来都是同一个体验——invoke 一声令下,屏幕…
前 13 篇里,Agent 获取知识的路子只有两条:模型参数里的训练记忆,和工具实时拿回的外部数据。问它公司内部的报销制度,问它你三年前博客里写过的某句结论,它要么一本正经地编,要么老实承认不知道。从本篇起系列进入第三模…
第 15 篇/post/1562我们把 RAG 流水线从加载一路串到生成,拿自己的笔记库已经能跑了。但换成一组真实问题压测,朴素流水线很快会暴露四个症状:型号、错误码这类精确词检索不到;答案明明在库里,却排在 topk …
第 14 篇/post/1561我们攒下两样零件:能把文本变成向量的 embedding 模型,和能按相似度取回结果的 Chroma 向量库。零件单独看都不难,这一篇把它们和 LLM 串成一台整机——RAG(Retrie…
第 15 篇/post/1562结尾留了一扇门:"这条从管道到 Agent 的路,正是第 17 篇/post/1564 Agentic RAG 的全部剧情。"现在兑现。系列两条线在本篇会师:模块二搭好了 Agent 的循…
第 16 篇/post/1563的混合检索与 Rerank 解决"召回不准",第 17 篇/post/1564把检索降级成 Agent 的一件工具、让它自己决定查什么。但两篇都在同一个地基上施工——向量相似度:问题变成向…
到第 18 篇/post/1565为止,我们给 Agent 造的每一件工具都是"私有的":@tool 装饰器定义在项目里,bind_tools 绑定进图里,换个应用就得重写一遍。可工具明明是通用的——查数据库、读文件、调…
第 19 篇/post/1566把 MCP(Model Context Protocol)的协议层拆完了:三原语 Tools/Resources/Prompts、两种传输 stdio 与 Streamable HTTP、…
第 19 篇/post/1566拆协议、第 20 篇/post/1567写 Server,链条只剩最后一环:你自己的 Agent。前 20 篇里 Agent 用的工具全是"私有"的——@tool 定义在项目里,bind_…
第 21 篇/post/1568把外部 MCP Server 接进了自己的 Agent 图,"会用工具"这条线至此闭环:第 5 篇/post/1552在进程内定义工具,第 19 到 21 篇让工具跨进程、跨机器。但同一个…
第 12 篇/post/1559讲 checkpoint 内部结构时埋过一句话:"第 23 篇/post/1570的长期记忆走 Store 跨线程共享,与线程内的 checkpoint 互补。"现在兑现。checkpoi…
第 10 篇/post/1557讲子代理时留了个尾巴:把 Agent 包成工具,主编就能把活派出去。那是多 Agent 的最小形态——控制权始终攥在主编手里,子代理跑完就交卷。到了真实的业务规模,这颗种子会长成完整的多人…
到第 24 篇/post/1571为止,这个系列的主角始终是 LangGraph:State 设计、控制流、人机协同、持久化、流式,八篇核心加 RAG 与 MCP 一路深潜。深潜有代价——视角变窄,手里拿着锤子,看什么都…
到第 25 篇/post/1572为止,这个系列把 Agent 开发的工程地基打完了:工具调用、图编排、RAG、MCP、记忆、多 Agent,一路到框架选型。本篇是系列第 26 篇/post/1573、第五模块"进阶架构…
模块五的收官篇看过了前沿形态:Deep Research 一跑几十分钟,Computer Use 直接上手操作浏览器。形态越炫,一个朴素的追问越响——它凭什么进生产?demo 的标准是"当着你的面成功一次",生产的标准是…
第 27 篇/post/1574把 Agent 变成了可测量的系统:轨迹可评测、调用可复盘。但"可测量"回答的是干得好不好,本篇回答一个更冷的问题:被攻击时,损失能控制在多大。Agent 手里有工具、循环里有自主性、生态…
第 28 篇/post/1575给 Agent 装上了护栏,功能、评测、安全三关都过了,但它还住在你的笔记本里:langgraph dev 一关,服务就没了。生产化的最后一公里,是把一个 Python 进程变成 7×24…
第 29 篇/post/1576讲部署,Agent 从脚本变成服务,系列的工具箱到那一篇就齐了。但工具箱不等于项目:29 篇文章各自解决一个问题,还没有一次在同一个程序里合体。本篇是《AI Agent 开发》系列第 30…