工程化与运行时
前置阅读:Agent 核心概念(看不懂状态/工具/循环就先回去)。 预期收获:读完你能列出一个 Agent 上线前必须达到的工程门禁清单,并区分"框架"和"Runtime"的差异。
资料里最重要的工程结论是:能跑一次的 Agent Demo,不等于可以信任的生产系统。
从 Prompt Hack 到 System Design
Prompt Hack 可以让 Demo 跑通,但通常缺少:
- 可复现性。
- 可追踪性。
- 跨场景稳定性。
- 可测试性。
- 安全边界。
- 成本控制。
- 中断后的恢复能力。
系统设计要补齐这些能力。
| Prompt Hack 的局限 | 系统化对策 |
|---|---|
| 改 Prompt 后行为难复现 | 版本化 Prompt、Memory、工具和 RAG 索引 |
| 多任务提示词膨胀 | 模块化 Prompt、Memory、工具和工作流 |
| 幻觉不可预测 | Grounding、验证、日志、回放、评估器 |
| 工具失败导致状态不一致 | 状态机、重试、幂等、检查点 |
| 人工审核随意 | 定义审批点和风险等级 |
复杂性迁移
框架降低了启动成本,但复杂性会迁移到运行阶段。
| 层次 | 目标 | 挑战 |
|---|---|---|
| 可运行 | Demo 能跑 | 框架隐藏了复杂性 |
| 可复现 | 行为可解释、可回放 | 缺少 Trace 和状态管理 |
| 可进化 | 系统能从反馈中改进 | 需要反馈闭环和知识沉淀 |
Agent 成长阶段
| 阶段 | 特征 | 关键挑战 |
|---|---|---|
| Hello World | Demo 可跑 | Prompt 试验 |
| 场景拼接 | 工具 + RAG | 上下文管理 |
| 系统化 | 多 Agent 或图工作流 | 状态一致性 |
| 工程落地 | 面向真实用户 | 可观测性、安全、成本 |
| 智能演化 | 从反馈中学习 | 长期记忆和治理 |
Agentic Runtime
Agentic Runtime 是 Agent 的执行层。
它管理:
- 推理循环。
- 任务状态和会话状态。
- 执行图。
- 工具运行时和沙箱。
- 调度。
- 成本和资源治理。
- Trace 和 Replay。
- 审计和权限。
简化公式:
Agentic Runtime = 推理 + 状态 + 工具 + 沙箱 + 调度 + 成本治理
框架与运行时的区别
| 维度 | 框架 | Agentic Runtime |
|---|---|---|
| 关注点 | 组织调用、封装接口、简化开发 | 运行、调度、治理、隔离、恢复 |
| 控制方式 | 开发者代码控制流程 | Runtime 控制生命周期和调度 |
| 生命周期 | 进程或脚本级 | Query、Session、Workload 级 |
| 状态 | 变量、数据库、缓存、上下文对象 | 明确的 Session State 和 Task State |
| 并发 | 本地进程或应用并发 | DAG/任务图和多 Agent 调度 |
| 资源 | 主要是一轮模型或工具调用 | Token、KV、GPU、工具调用预算 |
| 工具执行 | 直接调用库或 HTTP API | 沙箱化、可审计、可限权 |
运行时核心模型
推理循环
运行时应定义规划、行动、反思、评估、超时、重试和终止的语义。
执行图
复杂任务通常是图结构:
- Planner 拆解任务。
- Router 选择模型、工具或 Agent。
- Worker 执行。
- Evaluator 验收。
- Memory Agent 存储可复用发现。
状态模型
最低状态模型:
- Session State。
- Task State。
- Intermediate State。
- Tool Trace。
- Approval State。
- Error/Retry State。
工具运行时
工具执行应该:
- 隔离。
- 有权限。
- 有限流。
- 有日志。
- 可重试。
- 可终止。
- 可审计。
Workload 模型
生产系统中,Agent 应被视为工作负载:
- 入口。
- 所需模型。
- 所需工具。
- 资源需求。
- 权限边界。
- 超时和预算。
- 可观测钩子。
生产准备门禁
Agent 上线前至少要具备:
- 用户可见成功标准。
- 离线评测用例。
- 每次运行都有 Trace ID。
- 记录模型调用、工具调用、输入、输出和错误。
- 失败任务可回放。
- 高风险写操作需要人工审批。
- 工具和代码执行有沙箱。
- Prompt、RAG、Memory 有版本。
- 有成本上限和限流。
- 有兜底策略。
指标体系
建议跟踪:
- 任务成功率。
- 人工纠正率。
- 幻觉或无依据回答率。
- 工具错误率。
- 重试次数。
- 延迟。
- Token 使用量。
- 单任务成本。
- 漂移率。
- 升级人工率。
工程设计模式
| 模式 | 机制 | 场景 |
|---|---|---|
| ReAct | 推理 + 行动 | 多步问答和工具使用 |
| CodeAct | 生成代码、执行、观察反馈 | 数据分析、API 操作、转换任务 |
| Tool Use/MCP | 工具抽象协议 | 多系统集成 |
| Self-Reflection | 主模型 + 批评/评估模型 | 质量控制 |
| Multi-Agent Workflow | 角色化协作编排 | 企业自动化流程 |
| Agentic RAG | Agent 决定检索策略 | 自主知识检索 |
工程路线图
| 层级 | 策略 |
|---|---|
| 运行层 | 使用 LangChain、LangGraph、Flowise 等框架起步 |
| 观测层 | 加入日志、回放、版本控制、指标 |
| 控制层 | 建立恢复、验证、权限和安全边界 |
| 进化层 | 引入反馈驱动学习和记忆治理 |
读完自测
- [ ] 列出"Agent 上线前的 10 个工程门禁"清单。
- [ ] 用一段话解释"框架"和"Agentic Runtime"的核心差异。
- [ ] 给一个 Demo 阶段的 Agent,你能指出它从 Demo 走到生产还差哪些能力。
- [ ] 列出至少 5 个生产侧应该埋的指标(任务成功率、幻觉率、漂移率…)。
- [ ] 解释为什么"加 retry 就能修复工具失败"是错的,正确做法是什么。
下一站
| 你接下来想… | 去这里 |
|---|---|
| 看 Runtime 治理的完整流程图 | Runtime 运行时治理流程 |
| 看 Agent 评测和回放怎么做 | Agent 评测与回放流程 |
| 准备一份评测清单 | 评测清单 |
| 深入运行时全景 | Runtime 资料专题综述 |
| 看 AI PM 怎么把工程能力转成 PRD 验收点 | AI 产品经理工作流 |