Agent 是什么:从一次工具调用到五层结构
在动手造 Agent 之前,先把"Agent 到底是什么"说清楚。它不是聊天机器人,而是能自主完成任务的软件系统。这一篇建立定义、拆解五层结构,并从最小的原子——一次工具调用——讲起。
在动手造 Agent 之前,先把"Agent 到底是什么"说清楚。它不是聊天机器人,而是能自主完成任务的软件系统。这一篇建立定义、拆解五层结构,并从最小的原子——一次工具调用——讲起。
一次工具调用是原子,把它放进循环才成为 Agent。但循环真正的难点不在循环体,而在「停」——停错了,要么是半句话就退出的聊天机器人,要么是烧穿账单的失控进程。
工具是 Agent 与真实世界握手的地方。模型只看到 schema,但循环需要的是 schema 之外的一整套契约——元数据、验证管线、错误信封、输出裁剪。这一篇讲怎么把"一个模型能调的函数"变成"一个 Agent 能被信任的工具"。
系统提示词不是一个字符串,而是一个组装出来的结构——稳定的前缀 + 易变的尾巴。前缀被缓存,一个字节的改动就让整轮全价重算。这一篇讲怎么组装提示词让缓存真正命中,什么会静默地打破它,以及怎么设计构建器让记忆更新、工具变更、压缩不会悄悄让你刚付的钱打水漂。
上下文窗口是 Agent 跑长任务时第一个爆掉的地方。这一篇讲短期记忆的三种视图,以及裁剪、去重、非对称摘要、折叠再压缩这一整条压缩流水线——附 6 个开源项目的真实阈值对比。
短期记忆是模型此刻看到的东西,长期记忆是让有用的信息活到下一次会话,并且还能被找回来。三种检索范式、三个注入位置、一条铁律,以及 16 个真实项目的记忆系统横评。
一个跑了 40 分钟的 Agent,进程重启后能不能不重做已完成的工作、不重复执行有副作用的操作?这一篇讲持久化执行——什么算运行时状态、提交点在哪、run 状态机怎么防重复、崩溃恢复与 Resume 的区别,以及 16 个开源项目在中断恢复上的不同答案。
有的任务一步就能答,有的要三步,有的要三十步。规划层决定你面对的是哪一类任务、以及怎么组织 Agent 走完这条路。四种规划形态、如何选、以及什么时候该重新规划。
单个 Agent 撑不住的复杂任务,交给多个 Agent 协作。但真正的分歧不在"要不要多 Agent",而在一个更尖锐的问题——谁来决定哪些任务能并行:代码、LLM,还是人写的规则?六个开源项目给出了三种答案。
前面十篇讲的每一个部件——循环、工具、提示词、记忆、持久化、规划、委派——都是 Harness 的一块。这一篇把它们组装成一个有清晰生命周期的完整程序,并回答一个更上位的问题:什么是 Harness,什么不是。
Agent 光会在自己进程里循环还不够,它要接住外部世界的输入,也要在做危险动作前停下来等人拍板。这一篇讲两件事:人在环路(Human-in-the-loop)的审批机制,以及连接器/MCP 如何把 Agent 接到真实系统上。
当 Agent 缺一种能力时,你有三种给法——写个 Skill 教它怎么做、接个 MCP 服务器隔离执行、派个子代理隔离推理。它们不可互换。再加上"行为塑造派"用纯 Markdown 约束 AI 行为的实证:合规率怎么从 33% 做到 72%。
一个 Agent 从"能在 demo 里跑"到"能在生产里活",中间隔着后端架构、可观测性、成本控制和安全四道关。这一篇把这四件事一次讲清,并对照 16 个开源项目里两条相反的安全路线。
前面所有 Agent 都是被动的——用户发消息,Agent 回应。这一篇讲两种打破这个前提的能力:主动式 Agent(不用提示就自己行动)和自进化 Agent(改进自己的行为)。两者都拿走了反应式 Agent 白送的那条安全属性——每次运行开头都有人盯着。
把前十四篇的原理放到真实系统里检验——pi-agent、DeerFlow、deepagents 各自怎么落地,以及从 16 个开源项目里提炼出的四象限派别与"约束→架构"映射。最后回答那个终极问题:如果从零开始,你该怎么选。
全专题收官。把前十五篇散落各处的横评汇成一张地图——16 个开源 Agent 的四阵营归属、11 个维度的对照、以及从约束反推架构的选型速查。不讲新原理,只做索引:日后选型时可以随时回来查的那一张表。