Agent Runtime 设计
这篇只记一句
Agent Runtime 是夹在模型和外部世界之间的受控执行系统:模型只表达意图,Runtime 负责把意图变成可校验、可恢复、可审计的动作。
它不是什么
| 容易混的概念 | 区别 |
|---|---|
| Agent 类封装 | Agent 类只是代码组织;Runtime 要管状态、工具、安全、调度、观测。 |
| Workflow 引擎 | Workflow 解决流程怎么跑;Runtime 还要解决模型上下文、能力注册、权限、trace。 |
| Tool Executor | Executor 只负责执行工具;Runtime 还要在执行前后做编排、校验、恢复和审计。 |
| Prompt 脚本 | Prompt 只影响模型怎么想;Runtime 决定系统能不能安全地做。 |
必背五层框架
| 层 | 负责什么 | 面试关键词 |
|---|---|---|
| 入口层 | API、用户、租户、限流、请求规范化 | gateway、auth、tenant |
| 编排状态层 | session、task、checkpoint、终止条件、恢复 | orchestrator、state machine |
| 能力层 | tool、MCP、A2A、skills、模型路由 | capability registry |
| 执行隔离层 | executor、sandbox、queue、durable workflow | sandbox、worker、idempotency |
| 治理观测层 | 权限、审批、审计、trace、replay、eval | policy、approval、audit |
一次运行怎么走
- 用户请求进 Gateway,绑定身份、租户、session。
- Orchestrator 读取 task state,组装本轮 context。
- Model Router 选择模型,调用模型。
- 模型输出 final answer 或 tool call 等动作意图。
- Runtime 做 schema 校验、权限判断、审批判断、幂等检查。
- Executor 在隔离环境里执行工具或外部调用。
- 工具结果写入 state / artifact / trace。
- Orchestrator 判断继续、结束、等待用户、等待审批、失败恢复。
面试最爱追问
1. 为什么模型不能直接执行工具?
因为模型输出只是动作意图,不等于业务合法。Runtime 必须在模型和副作用之间插入 schema 校验、权限、审批、幂等和审计,否则一次错误 tool call 就可能变成真实事故。
2. Runtime 和 Workflow 是什么关系?
Workflow 是 Runtime 的一部分,主要处理流程编排和持久执行。Runtime 范围更大,还包括模型上下文装配、工具注册、权限治理、执行隔离、trace 和 eval。
3. Runtime 最核心的模块是什么?
Orchestrator。它读状态、组上下文、调模型、解释动作、调工具、写回状态,并决定下一步是继续、终止、等待、恢复还是转人工。
4. 为什么要有 Capability Registry?
因为能力不再只是几个本地函数,还可能来自 Function Tools、MCP servers、A2A agents、skills/plugins。统一注册后,才能统一做发现、授权、路由、版本和观测。
5. 长任务为什么需要 checkpoint?
因为长任务可能中断、失败、等待审批或后台执行。Checkpoint 记录当前阶段、已完成步骤、已产生副作用、artifact 指针和恢复位置,保证任务能继续而不是从头乱跑。
高危坑点
- 把 Runtime 写成一个
while not done的循环,没有显式状态机。 - 模型一输出 tool call 就直接执行,没有权限和审批。
- 工具结果全塞回上下文,导致 context 膨胀。
- 只存聊天消息,不存 task state、artifact、审批和副作用记录。
- 没有 trace,线上失败后不知道模型看了什么、调用了什么、哪里错了。
- 没有终止条件,Agent 在工具之间循环。

1109

被折叠的 条评论
为什么被折叠?



