聚焦规划、工具执行、状态恢复与治理边界,回答 Agent 怎样从 Demo 走向可控系统 (2025-2026)
| 层级 | 核心职责 | 典型问题 | 关键关注 |
|---|---|---|---|
| 目标输入 | 定义 Agent 该做什么 | 目标模糊、边界不清、上下文缺失 | 任务拆解、输入约束、优先级 |
| 规划与决策 | 决定下一步行动 | 走弯路、重复动作、计划发散 | 规划模式、终止条件、反思机制 |
| 工具与执行 | 调用外部能力完成任务 | 参数错误、副作用失控、权限过大 | 工具设计、幂等性、错误恢复 |
| 状态与记忆 | 保存中间结果与长期知识 | 上下文丢失、状态错乱、记忆污染 | 会话状态、检查点、记忆更新策略 |
| 治理与恢复 | 让系统可控可回退 | 越权执行、无限循环、失败不可解释 | 护栏、人工确认、审计与回滚 |
如果没有合适的规划机制,Agent 很容易在局部最优里来回试错,或者把本该拆开的任务一口气做乱。
简单工具调用可能用 ReAct 就够,长链路任务更常需要 Plan-and-Execute、任务树或阶段性重规划。
任务越长、外部依赖越多,越要显式定义终止条件、失败条件和中间检查点。
搜索、浏览器、数据库、文件系统、工单系统、部署接口和业务 API,都是 Agent 从“会说”走向“会做”的关键桥梁。
参数要清晰、动作要原子、副作用要显式、错误信息要便于自我修正,否则 Agent 很容易调用失败或误操作。
工具越强,权限和副作用风险越高,很多生产问题不是“不会调工具”,而是“工具不该随便让它调”。
中间步骤、已获取证据、待确认事项、失败重试位点和外部系统返回值,都需要进入状态管理。
短期记忆更像当前任务上下文,长期记忆更像用户偏好、经验规则或历史案例,两者混在一起很容易污染判断。
如果任务执行中断后无法恢复到一个确定状态,Agent 很难真正进入生产环境。
涉及转账、删改数据、发版、发邮件、客户回复和权限变更等高风险动作时,人工确认通常比完全自治更稳妥。
超时、权限拒绝、参数错误、外部系统抖动和上下文污染都很常见,需要可重试、可回滚、可降级的恢复路径。
不是“Agent 会不会失败”,而是失败时系统能不能知道失败在哪里、该不该继续、是否需要人接手。
| 阶段 | 关键问题 | 必须留下的证据 |
|---|---|---|
| Plan | 目标是否清楚、边界是否明确、是否需要拆成子任务 | 原始目标、约束条件、计划版本、风险等级、预算上限 |
| Act | 本轮准备调用什么工具,是否有副作用,是否需要确认 | tool_name、参数、权限裁决、执行身份、人工确认记录 |
| Observe | 工具返回了什么,是否改变下一步计划 | 外部返回值、错误码、引用来源、状态变更、脱敏摘要 |
| Replan | 继续、重试、降级还是转人工 | 重规划原因、重试次数、替代路径、待确认事项、检查点 |
| Stop | 成功、失败、超预算、越权、无进展都要能明确停止 | stop_condition、终止原因、最终产物、恢复位置、责任归属 |
Agent 的每一轮都要能回答:为什么这样计划、为什么调这个工具、观察到了什么、为什么继续或停止。否则执行链越长,越难区分能力不足、工具失败、权限拦截和任务本身不可完成。
| 类别 | 定位 | 典型能力 | 关键关注 |
|---|---|---|---|
| 规划器 | 决定执行路径 | 任务拆解、阶段计划、重规划、终止判断 | 稳定性、可解释性、步数控制 |
| 工具层 | 连接外部世界 | 函数调用、浏览器操作、数据库查询、文件处理 | 权限、副作用、错误处理 |
| 状态管理 | 保存任务上下文 | 会话状态、检查点、重试位点、流程状态机 | 恢复能力、一致性、可追踪性 |
| 记忆层 | 沉淀可复用信息 | 用户偏好、经验案例、长期知识、摘要记忆 | 污染、过期、检索粒度 |
| 观测与审计 | 还原执行过程 | 步骤 Trace、工具日志、token、成本、审批记录 | 脱敏、链路还原、问题定位 |
| 护栏与确认 | 控制高风险动作 | 权限校验、规则拒绝、人工确认、回滚 | 误伤率、体验、风险隔离 |
| 方式 | 强项 | 代价 | 适合场景 |
|---|---|---|---|
| 完全自治 | 效率高、人工负担低 | 失控代价高、对护栏要求极高 | 低风险、可回滚、可验证任务 |
| Human-in-the-Loop | 风险可控、适合关键节点兜底 | 流程更慢、设计更复杂 | 高风险操作、敏感信息、对外动作、核心业务流程 |
更关键的是它能否在有限权限、明确目标和可恢复路径下稳定完成任务。
规划、工具、状态、记忆和护栏任何一层失控,都可能放大为连锁故障。
很多高质量系统的关键优势,恰恰来自约束清晰、默认安全和容易接管。
| 证据节点 | 必须记录字段 | 判断重点 |
|---|---|---|
| 任务入口 | agent_run_id、request_id、trace_id、tenant_id、user_intent、risk_tier、budget_limit | 这次 Agent 代表谁、要完成什么目标、能消耗多少预算、风险等级是什么? |
| 计划版本 | plan_id、plan_version、task_graph_id、planner_model_id、stop_condition、success_criteria | 计划是怎样拆解的,终止条件和成功标准是否在执行前明确? |
| 状态检查点 | state_checkpoint_id、step_id、state_hash、memory_snapshot_id、context_snapshot_id | 任务失败或暂停后,能否恢复到某个确定状态,而不是整段重跑? |
| 工具链路 | tool_call_ids、tool_schema_versions、permission_decision_ids、idempotency_keys、approval_ids | 每一步工具调用是否可校验、可授权、可去重、可审批? |
| 观察与重规划 | observation_ids、replan_reason、retry_count、loop_detector_id、fallback_path | Agent 是基于什么观察继续、重试、降级或停止,是否出现无进展循环? |
| 人工接管 | human_gate_id、handoff_reason、approver_id、takeover_snapshot、resume_point | 哪些节点需要人类确认、接管或恢复,接管时上下文是否完整? |
| 回归闭环 | incident_id、eval_case_id、regression_slice、release_gate_id、fixed_agent_version | 失败样本是否进入 Agent 循环、工具、副作用、权限和停止条件回归集? |
| 事故现象 | 先查证据 | 常见根因 | 沉淀动作 |
|---|---|---|---|
| Agent 无进展循环 | agent_run_id、step_id、loop_detector_id、observation_ids、retry_count | 停止条件不明确、观察结果无法改变计划、模型反复调用同一工具 | 补 loop detector、最大步数、无进展判定和停止条件回归 |
| 任务半完成后不可恢复 | state_checkpoint_id、tool_call_ids、idempotency_keys、resume_point | 状态只存在对话历史里,副作用工具缺幂等和补偿路径 | 状态机显式化,补检查点、补偿动作和恢复 runbook |
| 多 Agent 互相覆盖状态 | task_graph_id、agent_role、state_hash、memory_snapshot_id | 角色边界和共享状态没有版本控制,审查者或执行者写入同一工作区 | 拆分角色权限、共享状态加版本号,关键写入走 artifact registry |
| 高风险动作跳过人工确认 | risk_tier、human_gate_id、approval_ids、permission_decision_ids | 风险分级只写在 Prompt,运行时没有强制确认门 | 把 human gate 下沉到策略引擎,发布前跑高风险动作门禁 |
| 上下文污染导致错误长期记忆 | memory_snapshot_id、context_snapshot_id、source_authority、failure_label | 临时任务状态、外部文本和长期记忆混写 | 记忆写入前做来源、权限、过期和人工审核,坏例进入记忆回归集 |
| 发布后 Agent 成本或延迟暴涨 | trace_id、budget_limit、step_count、tool_latency_ms、model_cost | 新版本计划更碎、工具重试更多、无效反思或检索过多 | 把 step_count、cost、latency 和成功率纳入 release gate |
Agent 与工作流继续融合: 很多系统会走向“确定性流程 + 局部 Agent 决策”的混合形态,而不是全流程完全自治。
工具协议和运行时治理更重要: Tool Use、状态管理、步骤追踪和审计会越来越成为基础设施能力。
Human-in-the-Loop 成为常规设计: 对高风险动作,确认、审批和接管机制会更常见。
多 Agent 协作的真实收益边界: 分工未必总是更好,什么时候该拆、什么时候该合,仍需要更多工程经验积累。
长期记忆与经验沉淀: 怎样让 Agent 记住有价值经验而不被脏数据污染,会越来越重要。
过度追求全自治: 在权限复杂、系统脆弱或责任边界不清的环境里,全自治很容易带来高昂代价。
工具权限扩张过快: 一旦 Agent 拥有写入、执行和对外动作能力,风险会明显上升。
长链路不可恢复: 如果任务一旦中断就必须整段重来,很多生产场景会难以承受成本和不确定性。