如何从零构建一个Agent框架
开篇
如果你最近在看 AI Agent,大概率绕不开 OpenClaw。
它火得很快,也火得很典型。因为它第一次把很多人脑子里那种模糊的“智能体想象”,变成了一个能看见、能演示、甚至能自己上手试的东西:模型不只是陪你聊天,它还能接工具、调浏览器、跑命令、处理文件,像一个真的能干活的系统。
这件事一旦被看见,传播就会非常快。大家会突然意识到,原来所谓 Agent,不只是“回答得更像人”,而是“开始能替你动手”。这也是 OpenClaw 火爆的根本原因:它把 Agent 从概念,拉成了体验。

但问题也恰好出在这里。
一个产品越火,误解往往也会跟着一起扩散。很多人看完演示,第一反应不是去理解背后的运行机制,而是直接把 Agent 理解成“大模型 + 一段更长的提示词”。好像只要 prompt 写得更细、角色设定更全、规则列得更多,系统就会自然变成智能体。
真去看实现,你会发现不少东西其实还是“大模型接口 + 一段更长的提示词”。这种做法在简单问答里当然能用,可任务一复杂,问题就会冒出来。要查资料、调工具、分步骤执行、根据中间结果调整方向时,系统很快就会露底:该做什么不清楚,做到哪一步不清楚,错了也不知道怎么收回来。
所以这个系列要回答的,不是“怎么调用一次模型”,而是更实际的问题:如果要从零写一套 Agent 框架,真正要解决的到底是什么。
1.1 大模型应用、工作流、Agent,到底差在哪
先说结论:不是所有接了大模型的东西都叫 Agent。
常见系统大致可以分成三类。

大模型应用、工作流、Agent 的区别
第一类是普通大模型应用。比如问答助手、翻译工具、文案改写器。它的流程很短:接收输入、拼提示词、调用模型、返回结果。重点是把一次生成做好。
第二类是工作流系统。它比单次问答多了一层固定步骤。比如先抽取需求,再查知识库,再生成初稿,最后做格式整理。每一步做什么,什么时候往下走,基本是提前写好的。重点是按预设流程稳定执行。
第三类才是这里要讨论的 Agent。它和工作流最大的区别,不是“更高级”,而是能根据当前目标、上下文和反馈决定下一步动作。比如先搜索,再读网页,再调用计算工具,发现证据不够就继续补信息,最后再组织结果。这个过程不是提前把每条路径写死,而是边执行边判断。
当然,这里的“自主”是工程意义上的,不是什么像人一样的意识。说到底,Agent 就是一套带有目标、状态、工具和执行循环的运行机制。
如果用一句话概括三者的差别:
-
• 大模型应用,重点是一次生成
-
• 工作流,重点是固定步骤
-
• Agent,重点是围绕目标做动态决策
1.2 一个最小 Agent 需要哪些部件
把一个最小可用的 Agent 拆开看,通常至少有六个部分:模型、提示词、消息上下文、工具、状态、执行循环。
模型层负责生成下一步输出。它很重要,但只是一块基础能力,不等于整个系统。
提示词层负责告诉模型当前要做什么、遵守什么边界、用什么方式输出。它像行为约束,不是全部能力来源。
消息上下文负责保存已经发生过的事:用户说了什么,模型回了什么,工具调了什么,结果是什么。没有这些上下文,系统没法连续做事。
工具层负责把“建议”变成“动作”。模型可以说“去搜索”“读文件”“执行命令”,但真正把这些动作落地的是工具。
状态层负责记录消息以外的信息。任务复杂一点后,往往还要保存步数、阶段、预算、错误信息、计划结果等内容。只靠消息历史,通常不够。
最后是执行循环。普通问答是一问一答,调用一次模型就结束;Agent 往往不是。它要先判断要不要调用工具,执行之后再读回结果,再决定下一步,直到完成任务或触发停止条件。
可以把这六层简单理解成:
-
• 模型负责想
-
• 工具负责做
-
• 上下文和状态负责记
-
• 执行循环负责往前推
而框架做的事,就是把这些部分组织起来,让它们能稳定协作。

一个最小 Agent 的六个核心部件
1.3 为什么很多“伪 Agent”一碰复杂任务就失效
很多项目的问题,不是模型差,而是系统底子太薄。
最常见的一种做法,是把所有期待都压在一次模型调用上。开发者给模型塞一段很长的提示词,要求它“先分析,再决定是否搜索,再整合结果,最后输出答案”。演示时看起来像那么回事,真到复杂任务里就撑不住了。
原因也不复杂:如果系统没有真正的工具机制、状态管理和执行循环,那么所谓“搜索一下”“继续检查”都只是文本表演,不是实际动作。模型写得再像,也没有真的做。
第二个问题是上下文失控。任务一长,消息越来越多,系统开始重复、遗忘、混淆已完成和未完成的步骤。很多时候不是模型突然变差,而是上下文管理太粗糙。
第三个问题是没有错误处理。现实里的接口会超时,参数会出错,网页会变,结果也可能为空。如果系统没有失败恢复机制,就会带着错误结果一路往下推,最后给出一段看上去很顺、其实不可靠的输出。
第四个问题是没有清楚的停止条件。什么时候继续,什么时候停,什么时候宣告失败,都得有边界。否则要么过早结束,要么反复兜圈,白白浪费时间和成本。
所以,复杂任务下的失效,很多时候不是“模型不聪明”,而是运行时结构根本没搭起来。

伪 Agent 在复杂任务下为什么失效
1.4 这个系列准备做什么
这个系列不会一上来就做一个大而全的平台,也不会先讨论多智能体编排、分布式调度或者复杂 UI。我们要做的是一套最小但完整的运行骨架:它能接收输入、维护上下文、调用模型、注册和执行工具、跑多步循环,并留出记忆、日志和安全边界的位置。
整体会按这个顺序往下走。
第 2 章先搭最小内核,把模型调用、消息结构和执行入口理顺,让系统先跑起来。
第 3 章加入工具机制,让系统不只会说,也能做事。
第 4 章加入执行循环,让它能围绕目标连续推进,而不是只做单轮响应。
第 5 章再处理上下文管理、记忆和任务规划,这一部分决定系统能不能应对更长、更复杂的任务。
最后再回到工程侧,补上可观测性、安全控制和可扩展设计,让整个东西不只是个 demo,而是一套能继续长的框架骨架。

AI Agent 框架系列 6 章路线图
最后
从0到1!大模型(LLM)最全学习路线图,建议收藏!
想入门大模型(LLM)却不知道从哪开始? 我根据最新的技术栈和我自己的经历&理解,帮大家整理了一份LLM学习路线图,涵盖从理论基础到落地应用的全流程!拒绝焦虑,按图索骥~~
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取