Agent
Chatbot 会说话,没有工具。一问一答,答完就停。问「今天星期几」,它只能认怂或瞎编。
Agent 不是换一种模型。它仍是同一支 chat completion。多出来的是:它能伸手,伸完还能再问一次。
要补上的能力
在 Chatbot 上面,先补两样。门禁先不放进来。
- 工具:窗口外的事,交给一个有名字、有参数、有返回值的行动。看时间、读文件、发请求,都是工具。模型只点名,自己并不执行。
- 循环:Chatbot 一轮就
stop。Agent 若响应里有tool_calls,就执行,再请求一次。直到不再伸手,或步数到顶。
「今天星期几」走一遍就是:模型说「帮我看时间」→ 运行时去看 → 再请求一次 → 它才说出星期几。
写回去仍是多轮
工具的结果要写成一条 role: tool 的消息,接在刚才那条 assistant 后面。这和 Messages 那篇把历史贴回去是同一件事:你把新材料塞进同一次 messages,服务端并不忽然有了记忆。少贴这条,它就看不见这次观察。
所以写回去归在对话底板上,不算 Agent 新长出来的能力。记不记得也不是分界。眼下这份 messages 就是工作记忆;跨会话还留着的事实,是后面的 Memory。一个只会贴历史、从不调用工具的对话,仍是 Chatbot。
还没补上的
两样齐了,已经会办事,但门是敞的。模型点哪个工具,循环就执行哪个。
Harness 是之后才加的门禁:能不能读、能不能出网、高风险要不要等人点头、循环会不会自己停。那些不在模型权重里,在运行时里。第一次工具调用见 Tool。
总结
- Agent = Chatbot + 工具 + 循环
- 工具结果写回
messages,沿用多轮,不是新的记忆 - 模型负责点名,运行时负责执行
- 裸循环先不设门。权限、审批、沙箱是后面的 Harness
参见
- 上一篇:Streaming
- 下一篇:Tool
- 底板:Chatbot · Messages
- 循环:Agent loop
- Agent 百科里尚未成文的相邻词条:Memory、Harness
- 动手:从 0 实现一个 Agent · 阶段三(循环与工具)