DOCAI · 概念 · L3
Agent 框架是什么,要不要用
一句话定义
把「调模型 + 调工具 + 记状态」打包成抽象层的库;小任务自己写循环更透明,复杂流程才值得上框架。
专业更新 2026-11-13核验 2026-11-13 · docai 编辑部
框架替你做的事
一个 agent 的最小循环其实很短:把消息发给模型 → 模型要调工具就执行 → 把结果塞回去 → 再问一次,直到模型不再调工具。
框架在这之上补的是工程部分:
- 工具注册与 schema 生成:少写重复的适配代码;
- 状态与持久化:多轮、断点续跑、人工介入;
- 可观测性:每一步的输入输出、耗时、token;
- 多 agent 编排:谁调谁、什么时候停。
如果这四件事你都不需要,框架带来的主要是抽象层。
先问三个问题
- 流程是固定的还是模型自己决定? 固定流程用普通代码串起来就好,不需要 agent。
- 需要跨请求保存状态吗? 需要才考虑带持久化的框架。
- 出问题时你能看到中间步骤吗? 框架的黑盒是排障成本的主要来源。
三个都答「否」,就先写那个几十行的循环。
一个够用的循环
messages = [system, user]
loop:
r = model(messages, tools)
if r.tool_calls:
for call in r.tool_calls:
messages.append(execute(call))
continue
return r.text
配三样东西就能上生产:最大轮数(防死循环)、每轮预算(防烧钱)、 完整日志(防说不清)。这三样框架不一定替你设好。
常见误解
- 「不用框架就不算 agent」:agent 是行为模式,不是某个库。
- 「框架能提升效果」:框架改的是工程效率,模型效果还是由提示、工具和材料决定。
- 「多 agent 一定更强」:多数任务里,多个 agent 只是把一次对话拆成几次, 成本和出错面都变大。先试单 agent。