(九)把 Agent Runtime 对应到实际工作
一次工具循环已经出现了几项运行职责:调用模型、识别工具请求、执行工具、追加结果、再次调用模型。再加上失败重试、状态保存、等待用户和限制任务工作量,就是这里所说的 Agent Runtime。
| 运行职责 | 本章的实际实现 |
|---|---|
| 组织执行顺序 | create_agent 的模型/工具循环,或自己定义的 StateGraph |
| 传递当前身份与依赖 | AgentContext、RunContext 与 Runtime |
| 保存运行位置 | 按 thread_id 存取的检查点 |
| 控制副作用 | 用户确认、参数检查、事务与幂等编号 |
| 查看运行情况 | 节点更新、日志、模型调用量与测试结果 |
LangGraph 的 Runtime 是节点接收运行上下文等能力的具体接口;它只是整套运行工作的一个入口。模型运行时、Python 解释器和 Agent Runtime 也各有职责:模型运行时执行权重计算,Python 解释器执行程序语句,Agent Runtime 组织模型与工具之间的持续执行。Runtime 接口
接下来把“查笔记 → 检查回答 → 等待确认 → 保存计划”写成显式图。步骤已经由需求确定时,固定工作流更容易逐项检查;遇到模型需要选择工具的部分,再使用上一节的循环。RAG 可以是确定的流水线,也可以成为工具循环中的一项能力。
本章用两个入口观察它们:tool_round.py 运行模型选择工具的循环,最后保留一条 AIMessage;study-agent ask 与 HTTP 接口运行接下来的业务图,先固定检索,再解析 Answer、检查引用、确认与保存。两条路线复用 NoteIndex,正式计划沿经过检查的业务图写入。继续阅读时,先沿业务图完成一次持久化操作,再考虑把其中某个节点换成工具循环。