一个能跑通 demo 的 Agent 和一个生产级 Agent 运行时之间,差的不是代码行数,而是对失败模式的理解深度。
LLM 本质上是不确定的——同一个 prompt 在不同时刻可能给出不同结果。而生产环境要求的是确定性:你不能让 Agent 偶尔执行一条危险命令,不能让它偶尔跳过关键步骤,不能让它偶尔忘记用户的偏好。
这篇文章从一个真实的、11 万行 Rust 代码的 Agent 运行时出发,拆解了 9 个不可省略的核心子系统。每个组件的本质,都是在 LLM 的不确定性之上叠加确定性约束。
最值得关注的不是某个单一组件,而是"确定性预门禁"的设计思路:每轮循环开始前,系统不经过 LLM,用纯代码注入一段执行契约。这等于给 Agent 发一张任务工单——不管你脑子里在想什么,先看清楚工单上写的当前进度和未完成项。
工具执行安全框架的设计也很务实:不是在"全自动"和"每步都问你"之间做非此即彼的选择,而是用静态分析做中间态——命令被拆解为原子操作后逐一风险评估,通过的直接放行,没通过的才降级为人工确认。
多层 Context 组装把 System Prompt 从一段文本变成了一座七层建筑。每层独立组装、独立裁剪,对话过长时可以按层优先级压缩。这解决了一个所有 Agent 都会遇到的问题:对话越长,模型越容易忘记关键指令。
MCP 协议集成让 Agent 不再每接一个新工具就写定制代码。这是 Anthropic 在 2024 年推出的开放标准,目标是统一 AI 与外部工具的连接方式。一个面向未来的 Agent 运行时必须拥抱这个标准。
读完这篇文章(请去文章列表去查找),你会获得一张完整的"生产级 Agent 架构地图"——不是 PPT 上画几个框的那种,而是每个框里跑着什么代码、为什么这么设计、物理约束在哪里。











