Agent 应用工程架构:模块、挑战与传统工程迁移

一、总览:Agent 应用的 12 个模块

Agent 应用本质上是一个以模型为决策核心、以工具为行动边界、以上下文和状态为运行记忆、以权限和评估为治理闭环的工程系统。模块划分不是为了"功能多",而是为了把不确定模型放进可治理的软件边界:输入要归一,状态要可恢复,工具要可审计,权限要可证明,质量要可回放。

先给全文结论(主轴)。 Agent 应用和传统软件的差别只在两个根因 :决策核心从确定性代码变成概率模型 、输入面从结构化字段变成自然语言 ;除此之外,它仍是一套要管状态、重试、权限、可观测、发布的普通分布式软件系统。由此得到一张贯穿全文的判断表------拿到任何 Agent 问题先归类:

  • 旧问题换皮(约 80%):传统工程早有成熟解,复用心智模型即可,重新发明只会更差;
  • 真正新维度(少数):只有回溯到那两个根因的问题,传统模式才失效、机制必须重做(且"维度新"不等于"机制从零造",多半能借自 ML / 分布式 / CI)。

误判双向昂贵:把新问题当旧的,会用拦不住的传统机制兜底;把旧问题当新的,会为一个 Redux 就能解的事发明"Agent 专用"轮子。后文 §2--§3 按 12 模块展开挑战与落地,§4 用 12 张传统对照表把这张判断表逐格量化,并收敛出 4 个真·新增维度。

claude code 相关内容可以参考:https://blog.csdn.net/qq_40369829/article/details/160119051

1.1 分层架构图

#mermaid-svg-lU3XU9vi9C9GQE2d{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-lU3XU9vi9C9GQE2d .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-lU3XU9vi9C9GQE2d .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-lU3XU9vi9C9GQE2d .error-icon{fill:#552222;}#mermaid-svg-lU3XU9vi9C9GQE2d .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-lU3XU9vi9C9GQE2d .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-lU3XU9vi9C9GQE2d .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-lU3XU9vi9C9GQE2d .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-lU3XU9vi9C9GQE2d .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-lU3XU9vi9C9GQE2d .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-lU3XU9vi9C9GQE2d .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-lU3XU9vi9C9GQE2d .marker{fill:#333333;stroke:#333333;}#mermaid-svg-lU3XU9vi9C9GQE2d .marker.cross{stroke:#333333;}#mermaid-svg-lU3XU9vi9C9GQE2d svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-lU3XU9vi9C9GQE2d p{margin:0;}#mermaid-svg-lU3XU9vi9C9GQE2d .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-lU3XU9vi9C9GQE2d .cluster-label text{fill:#333;}#mermaid-svg-lU3XU9vi9C9GQE2d .cluster-label span{color:#333;}#mermaid-svg-lU3XU9vi9C9GQE2d .cluster-label span p{background-color:transparent;}#mermaid-svg-lU3XU9vi9C9GQE2d .label text,#mermaid-svg-lU3XU9vi9C9GQE2d span{fill:#333;color:#333;}#mermaid-svg-lU3XU9vi9C9GQE2d .node rect,#mermaid-svg-lU3XU9vi9C9GQE2d .node circle,#mermaid-svg-lU3XU9vi9C9GQE2d .node ellipse,#mermaid-svg-lU3XU9vi9C9GQE2d .node polygon,#mermaid-svg-lU3XU9vi9C9GQE2d .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-lU3XU9vi9C9GQE2d .rough-node .label text,#mermaid-svg-lU3XU9vi9C9GQE2d .node .label text,#mermaid-svg-lU3XU9vi9C9GQE2d .image-shape .label,#mermaid-svg-lU3XU9vi9C9GQE2d .icon-shape .label{text-anchor:middle;}#mermaid-svg-lU3XU9vi9C9GQE2d .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-lU3XU9vi9C9GQE2d .rough-node .label,#mermaid-svg-lU3XU9vi9C9GQE2d .node .label,#mermaid-svg-lU3XU9vi9C9GQE2d .image-shape .label,#mermaid-svg-lU3XU9vi9C9GQE2d .icon-shape .label{text-align:center;}#mermaid-svg-lU3XU9vi9C9GQE2d .node.clickable{cursor:pointer;}#mermaid-svg-lU3XU9vi9C9GQE2d .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-lU3XU9vi9C9GQE2d .arrowheadPath{fill:#333333;}#mermaid-svg-lU3XU9vi9C9GQE2d .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-lU3XU9vi9C9GQE2d .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-lU3XU9vi9C9GQE2d .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-lU3XU9vi9C9GQE2d .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-lU3XU9vi9C9GQE2d .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-lU3XU9vi9C9GQE2d .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-lU3XU9vi9C9GQE2d .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-lU3XU9vi9C9GQE2d .cluster text{fill:#333;}#mermaid-svg-lU3XU9vi9C9GQE2d .cluster span{color:#333;}#mermaid-svg-lU3XU9vi9C9GQE2d div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-lU3XU9vi9C9GQE2d .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-lU3XU9vi9C9GQE2d rect.text{fill:none;stroke-width:0;}#mermaid-svg-lU3XU9vi9C9GQE2d .icon-shape,#mermaid-svg-lU3XU9vi9C9GQE2d .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-lU3XU9vi9C9GQE2d .icon-shape p,#mermaid-svg-lU3XU9vi9C9GQE2d .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-lU3XU9vi9C9GQE2d .icon-shape .label rect,#mermaid-svg-lU3XU9vi9C9GQE2d .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-lU3XU9vi9C9GQE2d .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-lU3XU9vi9C9GQE2d .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-lU3XU9vi9C9GQE2d :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 横切治理层 / 控制面
运行执行层
认知决策层
策略 / 权限 / 审批 / 沙箱
工具权限 / 执行边界
trace / metrics / eval
经验 / 数据集 / 版本回流
能力演进
用户 / 外部事件
Entry / Ingress

入口与接入
Profile / Perception

角色与感知
Context / Memory

上下文与记忆
Planning / Reasoning

规划与推理
Orchestration / Lifecycle

编排与生命周期
Multi-Agent Collaboration

多 Agent 协作
Extension / Capability

扩展与能力接入
Tool / Action Execution

工具与动作执行
Environment / State

环境与状态
Safety / Governance

安全与治理
Evaluation / Observability

评估与可观测性
Learning / Evolution

学习与演化
外部系统 / 工具 / 文件 / API / 人工审批

1.2 模块分层、命名与依据

模块 关注点 边界说明 命名依据
接入层 Entry / Ingress / 入口与接入 请求归一、运行模式、接入协议 直接对接用户和外部事件;只做归一化和准入,不承载认知决策。它更接近 DDD / 六边形架构里的 inbound adapter,不是外部能力接口层。 architecture.md §3 入口 / 初始化层;gpt-deep-research-report.md「模块对照总表 / 集成/接口层」
认知决策层 Profile / Perception / 角色与感知 输入解释、角色约束 处理本轮输入语义和行为锚点;不负责长期信息生命周期。 2308.11432.md §2.1.1 Profiling Module;2309.07864.md §3.2 Perception;gemini-deep-research-report.md 第二章
认知决策层 Context / Memory / 上下文与记忆 模型可见信息、记忆生命周期 Context 是面向模型的投影;State 是系统事实源。这里定义信息选择、压缩、检索和写入策略。 2512.13564.md §2.2 Agent Memory Systems;architecture.md §10 Context 体系;gemini-deep-research-report.md 第三章
认知决策层 Planning / Reasoning / 规划与推理 任务拆解、推理策略、下一步意图 由 LLM / planner / critic 产生决策意图;不负责运行时推进和副作用。 2308.11432.md §2.1.3 Planning Module;2503.21460.md §2.1.3 Planning Capability;gpt-deep-research-report.md「决策/规划」
运行执行层 Orchestration / Lifecycle / 编排与生命周期 回合推进、LLM/工具/Agent 路由、停止与恢复 把计划推进为可执行回合;负责路由、compact 触发、hooks、停止和恢复。 architecture.md §4 引擎层、§9 Command、§10 Context;gpt-deep-research-report.md「对话管理/交互」「Anthropic workflow patterns」
运行执行层 Tool / Action Execution / 工具与动作执行 工具协议、副作用执行 工具是模型产生真实副作用的边界,必须有 schema、权限、审批、执行、审计的统一流水线。 2308.11432.md §2.1.4 Action Module;2309.07864.md §3.3 Action;architecture.md §6 工具子层
运行执行层 Environment / State / 环境与状态 系统事实源、运行态、恢复点 维护系统真实运行态;给模型看的状态摘要应通过 Context 投影。 2512.13564.md §2.1 LLM-based Agent Systems;2412.17481.md §2.2 Environment;architecture.md §11 状态体系
运行执行层 Extension / Capability / 扩展与能力接入 外部能力注册与注入 MCP、Plugin、Skill、子 Agent、外部 API 需要统一注册、隔离和版本治理。 architecture.md §7 能力子层;gpt-deep-research-report.md「集成/接口层」
运行执行层 Multi-Agent Collaboration / 多 Agent 协作 多 Agent 分工、通信、裁决 多 Agent 是横向扩展认知和执行能力的方式,但本质是分布式协作问题。 2501.06322.md §4 Methodology;2412.17481.md §3-§6;gemini-deep-research-report.md 第六章
横切治理层 Safety / Governance / 安全与治理 策略、权限、审批、沙箱 横切接入、认知和执行链路;安全不是最终输出过滤。 2507.21504.md §3.4 Safety and Alignment;2601.01743.md §6.6 Safety and Compliance、§7.1 Verification and Trustworthy Tool Execution;architecture.md §2.2.1、§6.4、§8.4
横切治理层 Evaluation / Observability / 评估与可观测性 trace、指标、评估、回放 贯穿每个回合和工具调用;Agent 质量存在于轨迹中,而不是只在最终文本里。 2507.21504.md §2 Taxonomy、§3 Evaluation Objectives、§4 Evaluation Process;2601.01743.md §6;gpt-deep-research-report.md「监控与可观测性」「指标体系与故障排查」
横切治理层 Learning / Evolution / 学习与演化 经验沉淀、版本迭代 从观测和评估回流到认知、能力和数据集;必须受版本和发布门禁约束。 2308.11432.md §2.2 Agent Capability Acquisition;2503.21460.md §2.3 Agent Evolution;2512.13564.md §5 Memory Evolution

二、模块挑战、解决方案与依据

2.1 Entry / Ingress / 入口与接入

作用:把 CLI、UI、SDK、headless、后台任务、子 Agent、远程 bridge 等入口统一成内部可执行的会话与运行模式。

挑战 通用解决方案 依据 Claude Code 对应难点 Claude Code 落地方案
多入口导致同一请求在上下文、权限、输出协议上表现不一致。 建立 canonical request / session / run mode;入口只做归一化和分发,业务语义下沉到主循环。 architecture.md §3.1-§3.3;gpt-deep-research-report.md「集成/接口层」 architecture.md §3.4.3、§5.4.2、§9.4.3 Commander preAction/action 分层复用初始化;UI/headless/remote 输入统一归一为 message / command / event;remote/headless 命令在命令层裁剪。
启动链路重、首响慢,用户感知会先于模型质量变差。 区分快速路径和完整主循环;延迟加载非必要模块;入口阶段只做必须的信任、配置和模式判断。 architecture.md §3.4;gpt-deep-research-report.md「感知/输入」 architecture.md §3.4.1、§3.4.2 cli.tsx 先处理 --version、daemon、remote-control 等 fast path;keychain/MDM fire-and-forget 预取;信任前只应用安全环境变量,信任后再启用完整项目配置。
SDK / remote bridge / headless / 外部事件等接入通道增加后,请求 schema、认证身份、租户 / 会话边界容易不一致。 用统一 inbound adapter 承接输入协议;做请求契约校验、来源标记、run mode / session 归一、允许列表和背压。外部能力 schema 与认证治理下沉到 Extension / Capability。 gpt-deep-research-report.md「集成/接口层」 architecture.md §5.4.2、§9.4.3;外部能力侧见 §7.4.5、§8.4.1 入口侧把 UI / headless / remote 输入归一为 message / command / event;remote/headless 命令在命令层裁剪。外部能力侧再落到 Tool / Command / AgentDefinition / AppState,并由 MCP schema 刷新、re-auth、命名空间和护栏控制漂移。

2.2 Profile / Perception / 角色与感知

作用:定义 Agent 的身份、行为边界、沟通风格和任务优先级,同时把文本、文件、图像、音频、UI 事件等输入转成模型可处理的结构化信号。它解决的是"这次输入应该如何被解释",不是"历史信息如何被长期保存"。

挑战 通用解决方案 依据 Claude Code 对应难点 Claude Code 落地方案
长会话中角色漂移,模型逐渐忘记身份、风格和限制。 角色配置结构化、版本化,并在关键推理节点重新注入;把角色约束和任务上下文分层。 2308.11432.md §2.1.1;2503.21460.md §2.1.1;gemini-deep-research-report.md §2.2-§2.3 architecture.md §10.4.7 按 system / project / Skill / Agent / mode 划分规则作用域;compact、resume、Agent 调用时补回必要规则,避免 Skill、plan mode、子 Agent 规则漂移。
多模态输入存在噪声、延迟、时间对齐和解析失败。 做流式输入归一、模态解析、置信度降级;复杂多模态任务引入 planner-critic 或专用解析器。 2309.07864.md §3.2;gemini-deep-research-report.md §2.1-§2.3;gpt-deep-research-report.md「感知/输入」 architecture.md §5.4.2、§10.4.6 终端输入、粘贴、文件、图片、remote / bridge 事件先归一为 message / attachment / command / event,并保留来源和信任边界。
外部输入可能同时携带用户数据、恶意指令和上下文污染。 在入口即区分指令、数据和环境描述;敏感字段分级,外部数据标记为不可信。 architecture.md §10.4;gpt-deep-research-report.md「安全与权限」 architecture.md §10.4.6、§8.4.1 tool_result<system-reminder>LOCAL_COMMAND_CAVEATisMeta/[id] 区分真实用户意图、工具资料、本地命令输出和系统注入资料。
容易和 Context / Memory 混淆。 角色与感知只负责输入解释和行为锚点;上下文与记忆负责信息选择、压缩、检索、写入和过期。 2308.11432.md §2.1.1-§2.1.2;2512.13564.md §2.2 architecture.md §10.4.7、§11.4.4 规则作用域由 §10.4.7 管,模型可见 Context 是请求快照;AppState 是系统事实源,不把完整运行态直接塞进模型。

2.3 Context / Memory / 上下文与记忆

作用:管理当前回合上下文、历史消息、工具结果、用户偏好、长期事实、任务状态和可恢复检查点。它负责"信息资产和信息预算",包括压缩策略、摘要形态、缓存层级和记忆写入规则。

挑战 通用解决方案 依据 Claude Code 对应难点 Claude Code 落地方案
上下文持续膨胀,噪声、日志和中间步骤挤占有效信息。 分层记忆与主动压缩:短期上下文、工作记忆、长期事实、工具结果引用分开管理。 2512.13564.md §2.2、§3、§5;architecture.md §10.4;gemini-deep-research-report.md §3.2-§3.3 architecture.md §10.4.5 成本阶梯处理:prompt cache 稳定前缀、超大工具结果外置、旧工具结果清理、context collapse / autocompact 摘要,长期记忆另走来源与作用域管理。
长期记忆检索可能召回陈旧、错误或跨租户污染的信息。 写入前做事实抽取、清洗、命名空间隔离、TTL、版本和完整性校验;检索后做重排和来源校验。 2512.13564.md §5.3;gpt-deep-research-report.md「记忆/状态管理」;gemini-deep-research-report.md §3.3 architecture.md §10.4.8 路径和作用域隔离污染半径;读回时保留来源与 mtime;发现与当前事实或用户纠正冲突时,由 Agent 用工具修正或移除。
主循环、compact、子 Agent、后台摘要看到的上下文不一致。 复用统一 context 构建协议;缓存层级显式化,避免各路径自行拼装系统提示词。 architecture.md §10.3-§10.4 architecture.md §10.4.3、§10.4.4 context.ts 统一生成 userContext/systemContext;主循环、Agent、compact、analyzeContext 复用同一套注入协议;缓存按失效频率分层。
和 Orchestration 都会提到 compact / 压缩,边界容易不清。 Context / Memory 定义压缩什么、压成什么、如何缓存和失效;Orchestration 只决定何时触发、触发后如何回到主循环。 architecture.md §4.4、§10.4 architecture.md §4.4.1、§10.4.4、§10.4.5 §10 定义压缩对象、成本阶梯和缓存边界;§4 主循环只负责按预算和生命周期触发,并把结果带回下一轮。

2.4 Planning / Reasoning / 规划与推理

作用:把目标拆成可执行步骤,并在每一步产出下一步意图,例如继续推理、调用工具、澄清、分派或停止。它负责"想清楚下一步是什么",不负责驱动整个运行时状态机。

挑战 通用解决方案 依据 Claude Code 对应难点 Claude Code 落地方案
长链任务中错误会逐步放大,计划抖动、工具空转和成本失控。 计划对象显式化,设置步骤、时间、token、并发和停止预算;planner 与 executor 分离。 2308.11432.md §2.1.3;2601.01743.md §4.1、§7.3;gpt-deep-research-report.md「决策/规划」 architecture.md §4.4.4、§10.4.5 模型只产出下一步意图;主循环负责状态推进、权限、工具执行、Stop hooks、token budget 和恢复。显式 planner / executor 服务仍是演进方向。
单线 CoT / ReAct 容易短视,遇到坏观察后难以恢复。 对复杂任务使用 ToT / GoT / MCTS、自我反思、critic、外部 planner 或 evaluator-optimizer。 2308.11432.md §2.1.3;gemini-deep-research-report.md §4.1-§4.3;2601.01743.md §5.7 architecture.md §4.4.2、§4.4.3、§4.4.4 主要靠 max_output_tokens 截断恢复、Stop hooks / 外部检查和状态机边界处理坏观察;没有宣称实现通用多分支 planner。
过早追求自由自治,会把不确定性放大到生产系统。 工作流优先,自治增量引入;先让固定流程、路由、并行、评审闭环稳定,再开放动态规划。 gpt-deep-research-report.md「执行摘要」「实施优先级与依赖」 architecture.md §4.4.4、§4.4.5、§12.1 先固定主循环、路由边界、工具并发、Stop hook / 回归闭环;动态 planner、多模型路由等放到 §12.1 演进问题。
和 Orchestration 都涉及"下一步",容易被看成同一件事。 Planning / Reasoning 产出候选计划和决策依据;Orchestration / Lifecycle 负责执行路由、状态推进、停止、恢复和副作用边界。 architecture.md §4.1-§4.4;gpt-deep-research-report.md「决策/规划」「对话管理/交互」 architecture.md §4.4.4 文档明确边界:模型提出意图,编排层裁决和落地;tool_useend_turn 都必须经过系统边界。

2.5 Tool / Action Execution / 工具与动作执行

作用:把模型意图转为真实动作,包括 API 调用、搜索、文件读写、命令执行、浏览器操作、数据库查询、代码执行和外部系统更新。

挑战 通用解决方案 依据 Claude Code 对应难点 Claude Code 落地方案
工具参数非确定,JSON 破损、schema 不匹配和参数幻觉会中断流程。 严格 schema、值级校验、repair、默认值策略、错误回灌和契约测试。 2309.07864.md §3.3.2;gemini-deep-research-report.md §5.1-§5.3;architecture.md §6.2-§6.4 architecture.md §6.4.1、§6.4.2 统一 Tool 契约、schema parse、validateInput()、权限前置检查;失败收敛为错误型 tool_result
工具调用会产生真实副作用,误调用、重复调用、越权调用的代价高。 工具可见性、权限决策、审批门、幂等键、补偿动作、审计记录必须进入统一执行流水线。 2308.11432.md §2.1.4;architecture.md §6.4;gpt-deep-research-report.md「执行/动作」 architecture.md §6.4.5 工具可见性、权限规则、Pre/PostToolUse hooks、审批门、模式收紧和 transcript / telemetry 统一进入执行链;幂等和补偿由具体业务工具补齐。
外部系统不稳定会触发重试风暴和成本燃烧。 超时、退避、断路器、重试预算、失败分类和快速失败;trace 中保留 tool span。 gemini-deep-research-report.md §5.2-§5.3;gpt-deep-research-report.md「执行/动作」 architecture.md §6.4.6、§7.4.5 工具失败先结构化回灌,不在工具层静默自旋;用超时 / 取消、有界 API retry、快速失败、认证重连和 tool span 定位问题。

2.6 Environment / State / 环境与状态

作用:维护 Agent 所在世界的状态,包括会话、权限、工具连接、任务队列、后台任务、MCP 连接、UI 状态、外部环境观察和恢复点。

挑战 通用解决方案 依据 Claude Code 对应难点 Claude Code 落地方案
多处可写状态会导致副作用散落、恢复困难和并发冲突。 单一状态变更入口,状态变更与副作用解耦;关键状态建立 checkpoint 和事件日志。 architecture.md §11.1-§11.4;2512.13564.md §2.1 architecture.md §11.4.1、§11.4.3 AppStateStore 承载会话级事实;调用点只提交状态变更;外部同步统一收敛到 onChangeAppState()
环境不是静态 prompt,工具执行会改变外部世界和内部状态。 显式建模 state / observation / action / transition;工具结果回写时带来源、时间和版本。 2308.11432.md §2.1.4;2412.17481.md §2.2;2512.13564.md §2.1 architecture.md §11.4.4、§6.4.4 区分系统事实源 AppState 与模型可见 Context;工具结果用同一条 tool_result 同时回流 UI / SDK / 下一轮模型,并保留来源字段。
中断、恢复、后台任务和多 Agent 并发会造成状态错位。 用持久化状态机、锁或版本冲突解决;恢复路径必须和正常路径共享状态协议。 architecture.md §11.4;gemini-deep-research-report.md §6.2-§6.3 architecture.md §11.4.1、§11.4.4、§7.4.4、§7.4.6 进程内用 AppState、task state、transcript 和资源所有权清理维持一致;分布式锁、版本冲突解决是跨进程 Agent 的演进方向。

2.7 Orchestration / Lifecycle / 编排与生命周期

作用:主持完整请求生命周期,把模型调用、LLM/工具/Agent 路由、工具执行、hooks、权限、context、compact 触发、UI、后台任务和停止条件组织成可推进、可恢复的主循环。

挑战 通用解决方案 依据 Claude Code 对应难点 Claude Code 落地方案
Agent 回合不是一次模型调用,而是多轮推理、动作、观察和状态更新。 建立统一回合推进器;每一步收敛为 continue、return、error、handoff 或 ask user。 architecture.md §4.1-§4.4;gpt-deep-research-report.md「对话管理/交互」 architecture.md §4.4.1、§4.4.2、§4.4.3、§4.4.4、§6.4.3 主循环把模型输出、工具结果、Stop hooks、错误恢复和 token budget 收敛为继续下一轮、返回用户或失败退出。
模型、工具、Agent 的选择权如果各模块各自解释,会形成隐式路由网,导致成本、权限和行为不可治理。 把模型、工具、Agent 和辅助调用的选择权收敛到固定边界,避免隐式路由。 architecture.md §4.2-§4.4、§7;gpt-deep-research-report.md「决策/规划」「对话管理/交互」 architecture.md §4.4.5、§7.4.2、§7.4.4 入口确定主模型初值;主循环维护本轮决策快照和 fallback;API 层做请求能力投影;Agent 边界解析子 Agent 模型、工具池和权限收窄。
生命周期钩子既要可扩展,又不能破坏主循环语义。 明确 blocking 与 non-blocking hook 边界;同步决策点必须收敛为 continue / return / error。 architecture.md §4.4、§6.4、§8.4 architecture.md §4.4.3、§8.4.1 Stop hooks 是 blocking 决策点;Pre/PostToolUse hooks 进入工具执行链;普通系统收尾任务不冒充模型可见工具。
用户打断、澄清、计划模式、后台摘要、compact 和子任务会交织。 用状态机、任务队列、预算和人工确认点表达流程;压缩策略由 Context 层定义,编排层决定触发时机。 architecture.md §4、§9、§10;gpt-deep-research-report.md「对话管理/交互」 architecture.md §4.4.1、§4.4.4、§10.4.4、§10.4.5、§11.4.4 主循环阶段、任务队列、权限审批和 Context 压缩策略分别承接这些事件;编排层只决定何时触发和如何回到主循环。

2.8 Extension / Capability / 扩展与能力接入

作用:把 MCP、Plugin、Skill、自定义 Agent、OAuth、LSP、远程 bridge、模型 API、上下文压缩服务等外部能力接入运行时。

挑战 通用解决方案 依据 Claude Code 对应难点 Claude Code 落地方案
能力来源多,命名、版本、权限、可见性和生命周期容易冲突。 统一注册表、命名空间、签名去重、禁用状态例外、按轮次刷新可见能力快照。 architecture.md §7.1-§7.4 architecture.md §7.4.1、§7.4.3、§7.4.5 MCP 用 key 命名空间 + 内容签名去重;Skill / Agent 用固定来源优先级和同名覆盖;能力进入下一轮可见快照。
能力加载不能阻塞启动,但模型看到的工具列表必须一致。 异步发现能力,回合开始时冻结工具快照;新能力下一轮生效。 architecture.md §7.4 architecture.md §7.4.2 MCP 先 pending 后异步连接,16ms 批量 flush;refreshTools() 在轮次边界取新工具池,当前轮不 retroactively 改 schema。
外部能力接入会扩大攻击面和故障面。 允许列表、权限声明、最小暴露、连接健康检查、契约测试和审计。 architecture.md §7、§8.4;gpt-deep-research-report.md「集成/接口层」「安全与权限」 architecture.md §7.4.5、§8.4.1 外部 schema、认证和租户身份先收敛到 Tool / Command / Agent / AppState,再叠加最小暴露、显式 re-auth、连接健康、权限护栏和可观测记录。

2.9 Multi-Agent Collaboration / 多 Agent 协作

作用:让多个 Agent 通过分工、通信、评审、投票、辩论、handoff 或 supervisor-worker 模式完成单体 Agent 难以稳定完成的复杂任务。

挑战 通用解决方案 依据 Claude Code 对应难点 Claude Code 落地方案
Agent 数量增加后,通信成本、上下文复制和延迟呈倍数增长。 只在任务需要分工、并行或独立校验时启用;用 supervisor、DAG 或共享状态替代全连接聊天。 2501.06322.md §4.6;2412.17481.md §3.1、§6.2;gpt-deep-research-report.md「实施优先级与依赖」 architecture.md §7.4.4、§7.4.6、§10.4.5 子 Agent 复用执行框架但收窄工具、权限和上下文;后台 Agent 用 task / notification 回流;teammate 有独立 task state。
多 Agent 会产生信息孤岛、角色冲突和结论不一致。 明确角色、输入输出契约、共享记忆、冲突合并策略和最终裁决者。 2501.06322.md §3-§4;gemini-deep-research-report.md §6.1-§6.3 architecture.md §7.4.6 Claude Code 当前重点是区分普通子 Agent、后台 Agent、teammate 的创建、寻址、结果回流和清理;未实现通用语义冲突自动裁决。
恶意或错误信息可能在 Agent 网络内传播。 对跨 Agent 消息做来源标记、权限隔离、内容过滤和传播范围限制;高风险协作引入 HITL。 2503.21460.md §4.2.2;gemini-deep-research-report.md §6.3;2601.01743.md §7.5 architecture.md §7.4.6、§10.4.6、§10.4.8 跨 Agent / 工具 / 文件内容保留来源边界;子 Agent 权限只能收窄;长期记忆读回降信任并允许修复。

2.10 Safety / Governance / 安全与治理

作用:控制 Agent 的风险边界,包括提示注入、权限越界、工具副作用、数据外泄、记忆投毒、审计、合规和人工接管。

挑战 通用解决方案 依据 Claude Code 对应难点 Claude Code 落地方案
安全风险贯穿输入、上下文、工具和输出,不是最终回答过滤能解决。 输入/输出/工具/记忆分别建策略;外部数据默认不可信;策略结果进入主循环决策。 2507.21504.md §3.4;2601.01743.md §6.6;gpt-deep-research-report.md「安全与权限」 architecture.md §8.4.1、§10.4.6、§10.4.8 输入资料做来源和信任分层;工具执行统一走权限 / hook / sandbox;记忆写入与读回降信任;横切安全逻辑收敛到基础设施原语。
工具越权、命令执行、文件写入和外部 API 调用会产生真实损害。 最小权限、RBAC/IAM、审批门、沙箱、危险动作硬拦截、可审计执行日志。 architecture.md §6.4、§8.4、§10.4;2601.01743.md §7.1;gemini-deep-research-report.md §5.3 architecture.md §6.4.5、§8.4.1 工具可见性、权限规则、审批门、危险路径硬拦截、模式收紧、sandbox / helper 封装和 transcript / telemetry 审计共同约束副作用。
记忆、prompt、模型行为和多 Agent 通信都可能被攻击或泄露。 记忆写入清洗、命名空间隔离、敏感信息脱敏、反注入、红队集和版本化治理。 2512.13564.md §7 Trustworthy Memory;2503.21460.md §4.2-§4.3;architecture.md §10.4 architecture.md §10.4.6、§10.4.8、§7.4.6、§8.4.2 上下文标签区分指令与资料;记忆路径隔离和可修复;多 Agent 权限收窄;anti-distillation、telemetry redaction、非必要网络开关控制泄露面。

2.11 Evaluation / Observability / 评估与可观测性

作用:回答 Agent 是否可靠完成任务,并让每一轮输入、规划、工具、状态、权限、成本、错误和最终输出都可回放、可定位。

挑战 通用解决方案 依据 Claude Code 对应难点 Claude Code 落地方案
评估口径不完整:只看最终文本会掩盖规划错误、工具错误和安全绕过。 先定义"评什么":按 outcome、trajectory、tool correctness、memory retention、safety、cost、latency 建多维评估。 2507.21504.md §2-§4;2601.01743.md §6.1-§6.7 architecture.md §8.4.3 先把 trajectory、tool result、权限决策、cost、latency、安全事件记录成可解释轨迹;outcome evaluator 和切片评测是增强项。
排障证据链断裂:失败常跨模型、工具、上下文和外部系统,黑盒排障成本高。 再解决"怎么定位":全链路 trace、span 级指标、结构化日志、版本标签、输入输出样本和 tool span 互链。 gpt-deep-research-report.md「监控与可观测性」「指标体系与故障排查」;architecture.md §8 architecture.md §8.4.3、§6.4.6 queryChainId / queryDepth、tool span、OTel / analytics、debug log、Perfetto trace、transcript 和 sourceToolAssistantUUID 串起模型、工具、UI / SDK 事件。
变更回归不可控:Prompt、模型、工具、数据集一改就可能产生隐性退化。 最后解决"怎么发布":建立离线回放集、切片评测、shadow/canary、发布门禁和在线 trace 回流。 gpt-deep-research-report.md「数据与模型管理」;2507.21504.md §4.4 architecture.md §8.4.4 VCR fixture、token count fixture、transcript replay 和轨迹断言构成回归底座;shadow / canary 和在线 trace 回流属于通用发布流程增强。

2.12 Learning / Evolution / 学习与演化

作用:从历史轨迹、失败案例、用户反馈、工具结果和多 Agent 交互中沉淀改进资产,包括 prompt、skill、记忆、数据集、评估器和模型版本。

挑战 通用解决方案 依据 Claude Code 对应难点 Claude Code 落地方案
线上自我学习如果无约束,容易把错误经验、攻击样本和偶然成功固化。 人工或评估器审核后再写入长期资产;区分候选经验、已验证知识和可发布能力。 2308.11432.md §2.2;2512.13564.md §5;gpt-deep-research-report.md「数据与模型管理」 architecture.md §10.4.8 写入前降低权限和污染半径;读回时保留来源与新鲜度;发现冲突后通过工具修正或移除。
经验沉淀形式多,prompt、记忆、skill、模型和数据集容易割裂。 把 Prompt / Model / Dataset / Eval / Trace 绑定成发布单元,支持回滚和对比。 gpt-deep-research-report.md「数据与模型管理」;2507.21504.md §4 architecture.md §8.4.4 当前主要把 trace、transcript、VCR fixture 和 token fixture 作为可回放资产沉淀;完整发布单元属于更高阶方法论。
自我演化机制难以验证,可能提升局部指标却伤害整体可靠性。 先做离线学习和评测驱动迭代,再逐步引入受控在线优化;关键能力必须有回归门禁。 2503.21460.md §2.3;gemini-deep-research-report.md §4.3、§7 architecture.md §8.4.4 先用离线回放、轨迹断言和回归底座验证变化;当前文档覆盖的是回放底座,不是完整在线学习闭环。

三、和 Claude Code 架构的对应关系

Agent 应用模块 Claude Code 对应位置 对应关系
Entry / Ingress / 入口与接入 architecture.md §3 入口 / 初始化层 把命令、运行模式、信任检查和输出形态归一。
Profile / Perception / 角色与感知 architecture.md §10 Context 体系、§8 基础设施层 通过系统上下文、项目上下文、用户上下文和输入过滤影响模型行为。
Context / Memory / 上下文与记忆 architecture.md §10 Context 体系 管理 prompt 构建、缓存、压缩、工具结果引用和上下文安全。
Planning / Reasoning / 规划与推理 architecture.md §4 引擎层 形成候选计划、下一步意图和决策依据,供主循环执行。
Tool / Action Execution / 工具与动作执行 architecture.md §6 工具子层 统一工具协议、schema 校验、权限、hooks、执行和结果回灌。
Environment / State / 环境与状态 architecture.md §11 状态体系 会话、权限、桥接、后台任务和 UI 状态从统一状态口收敛。
Orchestration / Lifecycle / 编排与生命周期 architecture.md §4 引擎层、§9 Command、§10 Context 负责回合生命周期、命令调度、LLM/工具/Agent 路由、compact 触发、hook、stop 和恢复。
Extension / Capability / 扩展与能力接入 architecture.md §7 能力子层 MCP、Plugin、Skill、Agent、OAuth、LSP 等能力统一发现和注入。
Multi-Agent Collaboration / 多 Agent 协作 architecture.md §7.2 Agent、§7.4.4、§7.4.6 子 Agent 的上下文、工具、hooks 和消息需要隔离与可回收。
Safety / Governance / 安全与治理 architecture.md §2.2.1、§6.4、§8.4、§10.4 安全横跨权限、工具、上下文、外发、沙箱和遥测。
Evaluation / Observability / 评估与可观测性 architecture.md §8 基础设施层、agent_design_methodology_migration.md §1 方法论 Telemetry、日志、trace、指标和任务轨迹支撑排障与评估。
Learning / Evolution / 学习与演化 architecture.md §10 Context、§12 架构演进 通过上下文压缩、经验抽取、能力扩展和架构热点治理形成演进闭环。

四、传统工程对照与可迁移性

4.1 为什么要做这个对照

§1 的判断表(旧问题换皮 vs 真正新维度)要逐格落到模块才好用------这一章就做这件事:把每个模块的 Agent 挑战对到传统工程的同类问题与解法,用可迁移度 ★ 标出是"能整套搬"还是"机制会断"。读法上先用传统成熟解把工程底座兜稳(§4.3 的 8 个模式可整套搬),再只在真正新增的维度上叠加 Agent 专属机制(§4.4),别用旧机制硬扛新问题。

4.2 12 模块的传统工程对照

每张子表按"Agent 挑战 → 传统工程同类问题 → 传统工程典型解法 → 可迁移度"四列对照。可迁移度 ★ 就是上面那张分类表的量化:★★★★★ = 旧问题换皮,传统机制可整套搬;★★★☆ 及以下 = 只有框架能借、机制会断,而断点几乎都落在 §4.4 的新维度上。读一张表先看星级,低星行才是真正值得细读的地方。

两点统一说明,下表不再逐格重复:一是"传统工程典型解法"列写的是成熟形态,Claude Code 落地的多是其子集,差距集中在 §4.4 和演进问题里讨论;二是凡可迁移度未达 ★★★★★,原因都归在"机制会断",不再每格补一句"尚未完整实现"。

4.2.1 Entry / Ingress --- 入口与接入
Agent 挑战 传统工程同类问题 传统工程典型解法 可迁移度
多入口(CLI / SDK / headless / 子 Agent / Bridge)共享同一套核心逻辑时表现不一致 同一应用支持多种调用入口的一致性问题 分层架构:薄入口层只做协议归一,业务逻辑下沉到核心层共享(典型例子:Git/libgit2、Docker CLI/Engine API、kubectl/client-go) ★★★★★
启动链路重、首响慢 Cold start 优化、首屏白屏问题 并行加载与预取(Promise.all 并行 await、浏览器 preload/preconnect、子进程 fire-and-forget 与 CPU-bound 任务重叠)、Lazy import / code splitting、serverless 预热、CDN edge cache、fast path vs full bootstrap ★★★★★
接入协议 / 请求 schema 漂移 API Gateway / BFF / Adapter 层收拢多端协议差异 统一 ingress router + adapter:不同入口先路由到对应适配器,再归一成 canonical request / session / run mode;配合契约测试、版本标记、能力允许列表和降级策略 ★★★★☆(入口收拢心智可直接迁移;但 MCP / Tool 等外部能力 schema 漂移属于 Extension / Capability,不在本层解决)
4.2.2 Profile / Perception --- 角色与感知
Agent 挑战 传统工程同类问题 传统工程典型解法 可迁移度
长会话角色漂移 (无强对应)最接近的是"周期性 health check + reload" / 关键节点重新校验身份 思路可借:在关键推理节点重新注入角色约束(类似 JWT 在关键边界重新校验、配置中心定时刷新);但根因不同------传统是状态过期,Agent 是模型注意力随上下文增长衰减,工程层面只能缓解不能根治 ★☆☆☆☆(机制不能照搬,根因在模型层而非工程层)
多模态输入噪声 / 解析失败 ETL pipeline 中脏数据处理、多媒体解码 信号处理 filter chain、置信度降级、解析失败 fallback、专用解析器外置 ★★★★☆
输入数据 / 指令混合污染 SQL injection、XSS、CSRF 防御 信任分级(trusted vs untrusted source)、参数化查询、输出转义、入口分流标记 ★★★★★
与 Context/Memory 边界混淆 MVC 中 Controller 与 Model 职责重叠 关注点分离(SRP)、边界即纪律:解释当前输入 vs 管理长期信息 ★★★★★
4.2.3 Context / Memory --- 上下文与记忆
Agent 挑战 传统工程同类问题 传统工程典型解法 可迁移度
上下文膨胀 日志保留膨胀、事件流长期累积、缓存占用失控 保留窗口、事件摘要、冷热分层、按用途分桶、超大对象外置引用;重点是控制"哪些信息继续进请求",不是 GC 回收对象内存 ★★★★★
陈旧记忆 / 错误记忆 / 跨租户污染 缓存过期、配置污染、多租户数据串读 陈旧用版本号 / mtime / TTL / invalidate;错误写入用审核、来源记录和回滚;跨租户用 namespace、ACL 和读写边界校验 ★★★★☆
多路径上下文不一致 多副本一致性、状态分叉 Single Source of Truth、CQRS、Redux 单 store、数据库主从同步协议 ★★★★★
与 Orchestration 压缩边界不清 业务规则 vs 调度策略 关注点分离:策略层定义"压什么 / 怎么压",调度层决定"何时触发" ★★★★★
4.2.4 Planning / Reasoning --- 规划与推理
Agent 挑战 传统工程同类问题 传统工程典型解法 可迁移度
长链错误放大 / 成本失控 长事务超时、分布式作业失败放大 工作流引擎(Temporal/Airflow)的超时与重试预算、Saga 模式、分布式事务补偿 ★★★★☆
单线 CoT 短视、坏观察难恢复 局部最优陷阱 搜索算法(A* / MCTS,Monte Carlo Tree Search,蒙特卡洛树搜索)、分支限界、回溯、剪枝;Agent 侧可借 ToT(Tree of Thoughts,思维树)、GoT(Graph of Thoughts,思维图)、MCTS、critic 等多分支思路 ★★★☆☆(Agent 侧更概率化,传统搜索算法只能借鉴框架,不能直接复用)
过早追求自由自治 自动化爆炸式上线导致回滚困难 自动化阶梯:手动 → 半自动 → 全自动、HITL(Human in the Loop)、工作流优先 ★★★★★
与 Orchestration 边界("下一步"歧义) MVC:Model 不该知道 Controller;Planner vs Scheduler 计划者只产出意图,调度者负责推进------Airflow DAG 定义 vs Scheduler 运行 ★★★★★
4.2.5 Tool / Action Execution --- 工具与动作执行
Agent 挑战 传统工程同类问题 传统工程典型解法 可迁移度
参数非确定 / JSON 破损 弱类型 JSON API、ETL 脏数据、前后端契约漂移导致字段缺失或语义不合法 protobuf strict typing、JSON schema 校验、defensive deserialization、业务语义校验、repair 默认值、契约测试 ★★★★★
副作用代价高(误调、重复、越权) 重复扣款、并发写丢失、越权 API 调用 幂等键、Saga 补偿、事务边界、optimistic locking、审批门、audit log、最小权限 ★★★★★
外部系统不稳定 → 重试风暴 微服务雪崩、依赖故障级联 超时、取消、断路器(circuit breaker)、有界重试预算、快速失败、错误结构化回灌、trace span ★★★★★
4.2.6 Environment / State --- 环境与状态
Agent 挑战 传统工程同类问题 传统工程典型解法 可迁移度
多处可写状态 → 副作用散落 领域状态被多个入口直接改写,领域事件缺失或事件发布分散 领域事件、Event sourcing、CQRS、单写者模型、统一变更入口;状态变化先沉淀为事件,再由订阅者处理副作用 ★★★★★
动态环境建模 业务流程状态、订单生命周期 有限状态机(FSM)、Event sourcing、CDC(Change Data Capture)、state machine library ★★★★★
中断 / 并发恢复错位 进程崩溃后状态恢复、分布式作业断点续传 WAL(write-ahead log)、transcript、checkpoint、版本化恢复、任务状态机、saga 持久化 ★★★★☆
4.2.7 Orchestration / Lifecycle --- 编排与生命周期
Agent 挑战 传统工程同类问题 传统工程典型解法 可迁移度
多轮交互(不是一次请求) 长事务编排、长会话 stateful 协议 工作流引擎(Temporal / Cadence / Airflow)、Actor 模型、状态机驱动 ★★★★★
模型 / 工具 / Agent 路由分散 控制面规则分散、各模块自己解释能力边界 明确每个边界的决策责任:入口决定运行模式和主模型初值;主循环冻结本轮工具快照并处理 fallback;API 层只投影本次请求可见能力;Agent 边界再收窄子 Agent 的模型、工具和权限。它不是一个全局中心化 Router,而是多处固定边界各管一段 ★★★★☆
Hook 与扩展不破坏主循环 拦截器扩展性 vs 性能 / 语义 AOP(面向切面)、Middleware chain(Express / Koa)、Spring Interceptor、React useEffect 边界 ★★★★★
用户打断 / 后台任务交织 前台请求与后台 job 共享会话生命周期,用户取消后仍可能有结果返回或资源未释放 cancellation token / AbortController、job id、任务状态机、结果 mailbox、finally 清理和 orphan job 回收;关键是让"取消、完成、回收、展示"都有明确归属 ★★★★★
4.2.8 Extension / Capability --- 扩展与能力接入
Agent 挑战 传统工程同类问题 传统工程典型解法 可迁移度
命名 / 版本 / 权限冲突 包管理依赖地狱、命名空间冲突 npm / Maven / Cargo、SemVer、namespace、来源优先级、签名校验、SBOM、插件市场供应链治理 ★★★★★
异步加载但模型可见性需一致 服务发现 / 配置中心动态刷新,但单次请求不能中途换实例列表或配置版本 service registry + request-scoped snapshot、feature flag evaluation snapshot、配置版本号;新能力异步刷新,当前请求继续使用进入请求时冻结的能力快照 ★★★★★
扩展面 = 攻击面 第三方插件安全 / 供应链攻击 允许列表、最小暴露、权限声明、健康检查、契约测试、schema 刷新 ★★★★★
4.2.9 Multi-Agent Collaboration --- 多 Agent 协作
Agent 挑战 传统工程同类问题 传统工程典型解法 可迁移度
通信成本爆炸 微服务过度拆分、聊天式 RPC Conway's Law、避免过度拆分、Pub-Sub 解耦、共享状态替代全连接消息 ★★★★★
信息孤岛 / 冲突 多 worker 结果聚合、任务状态分叉 supervisor-worker、任务队列、result aggregation、显式最终裁决者;不要让 worker 之间互相覆盖最终事实 ★★★★☆
恶意 / 错误信息传播 网络中信息传播失控、僵尸节点 拜占庭容错、消息认证(mTLS)、零信任网络、来源标记、传播范围限制 ★★★★☆
4.2.10 Safety / Governance --- 安全与治理
Agent 挑战 传统工程同类问题 传统工程典型解法 可迁移度
多维安全(输入/上下文/工具/输出) Web 应用安全(OWASP Top 10) 防御纵深(defense in depth)、Zero Trust、4A(认证 / 授权 / 审计 / 账号)、入口 + 业务 + 数据三层防护 ★★★★★
工具越权 / 命令执行 / 文件写入 进程权限滥用、容器逃逸 最小权限、RBAC / ABAC、IAM、Linux capabilities、seccomp、AppArmor、危险动作硬拦截、沙箱 ★★★★★
记忆 / Prompt 投毒 / 数据泄露 DLP 数据防泄漏、缓存投毒 加密传输 / 存储、tokenization、敏感字段脱敏、WAF、反注入红队、版本化治理 ★★★★☆("记忆投毒"是 Agent 特有变体,但脱敏 / 反注入框架可借用)
4.2.11 Evaluation / Observability --- 评估与可观测性
Agent 挑战 传统工程同类问题 传统工程典型解法 可迁移度
多维评估(不能只评最终文本) 测试金字塔:单元 → 集成 → E2E 测试金字塔、Quality gates、SLO、多指标看板;Agent 增加 trajectory / cost / safety 维度 ★★★★☆(轨迹评估是新增维度)
黑盒排障跨模型 / 工具 / 外部 分布式系统全链路排障 OpenTelemetry / Jaeger / Tempo trace、Prometheus metrics、ELK 日志聚合、span 互链 ★★★★★
Prompt / 模型 / 工具改动隐性回归 任何配置变更都可能引发线上回归 离线回放、VCR fixture、轨迹断言、发布门禁、灰度观察、失败自动回退 ★★★★★
4.2.12 Learning / Evolution --- 学习与演化
Agent 挑战 传统工程同类问题 传统工程典型解法 可迁移度
在线自学习固化错误经验 A/B test 显著性误判、根据偶发线上数据下结论 数据质量门、显著性校验、code review、候选 / 已验证 / 可发布三级分级 ★★★★☆
资产割裂(Prompt/Model/Dataset/Eval/Trace) 配置 / 代码 / 数据 / 基础设施分别管理导致回滚困难 Git tag bundled release、IaC(基础设施即代码)、版本绑定、配置 + 代码 + 数据一起回滚 ★★★★☆
自演化难验证 自动调参 / 自动扩缩容的稳定性 CI/CD pipeline、Staged rollout、SRE 错误预算、离线回放和回归门禁 ★★★★★

4.3 提炼:8 个高频可迁移模式

把 12 张子表里反复出现的高★(★★★★★)模式提炼出来------这些就是"旧问题换皮"的核心,可以整套搬过来,是工程师从已有经验直接切入 Agent 的"捷径":

模块 传统工程模式 在 Agent 中的形态 关键收益
上下文与记忆 多层缓存 + 失效协议(CDN / L1-L2-L3) Context memoize + 依赖失效(架构 §10.4.3) 性能 + 一致性双赢
工具与动作执行 Schema 即合同(protobuf / OpenAPI / Pact) Tool.inputSchema + 工具协议(架构 §6.2) 防止参数 hallucination、契约可测
工具与动作执行 超时 / 取消 / 有界重试 / 错误回灌(Resilience4j 思路) 工具失败结构化回灌、abortController、有界 API retry、token budget(架构 §6.4.6) 防雪崩、防长阻塞
环境与状态 单一事实源 + 副作用收敛(Redux / CQRS) AppState + onChangeAppState(架构 §11) 防止状态分叉、可恢复
编排与生命周期 状态机 + 工作流(Temporal / FSM) 主循环 query() 回合推进 + Stop hooks(架构 §4.3) 多轮交互可恢复、可暂停
安全与治理 最小权限 + 沙箱(Linux caps / seccomp) 工具可见性 + 4 道权限关 + DANGEROUS_DIRECTORIES(架构 §6.4.5) 边界即纪律
评估与可观测性 Trace + Span 互链(OpenTelemetry) queryChainId + tool span + sourceToolAssistantUUID(架构 §8.4.3) 黑盒排障、轨迹回放
评估与可观测性 回放夹具 + 轨迹断言 + 发布门禁(CI/CD 思路) VCR fixture + transcript replay + 回归底座(架构 §8.4.4) 隐性回归早发现

把这 8 个模式当成"Agent 工程师的最小必备工具箱"。

4.4 真正新增的维度:回溯到两个根因

§4.2 的高★行可以直接复用,低★行才是 Agent 的真问题。但这些"新维度"不是彼此独立的 4 件事------它们全部回溯到两个根因:决策核心从确定性代码变成概率模型输入面从结构化字段变成自然语言。传统软件模式在这两个根因上失效,必须补上这几个维度(机制能借相邻领域则借,见小结)。

模块 新增维度 根因 传统机制为什么失效
上下文与记忆 上下文即资源 + 注意力衰减 概率核心 不只是容量预算(何时压缩),还有早期约束随上下文增长被稀释、需在关键节点重注入;后者是 LLM 内在特性,工程只能缓解不能根治
多 Agent 协作 自主体协作(vs 被动服务) 概率核心 各 Agent 有自己的目标、计划和决策,"调用方 → 被调用方"心智失效,要参考分布式多智能体协作
安全与治理 自然语言不可信输入面:prompt injection 语言 I/O 指令、数据、环境描述混在同一句话里,只能从"语义"层面分流,"字符"层面过滤拦不住
评估与可观测性 统计驱动评估:outcome / trajectory / cost / safety 多维分布 概率核心 同输入→不同输出,exact-match / pass-fail 断言失效:评判对象从单个结果变成输出分布(N 次通过率、方差),评判方式从相等比较变成语义评分(rubric / LLM-as-judge)。回放底座是旧的(§4.3),新的是对非确定系统做统计 + 语义评判(传统软件测试没有,借自 ML)

这 4 项是真·新增 ------问题本身传统软件没有(行为从确定变概率、输入从结构化变自然语言),且内在、不随生态成熟消失。但**"维度新"不等于"机制从零造":评估借 ML 的分布 + 语义评分,多 Agent 借分布式协作,回放底座直接复用 §4.3------新的是"必须做这件事",解法尽量借。这也划出和伪新增**的界:伪新增是连问题都旧,比如"能力动态发现"其实就是服务发现 + 请求级快照(Dubbo / Nacos / Consul 那套,§4.2.8 已 ★★★★★),把它当新增就会为很快被标准淘汰的东西造私有轮子。

相关推荐
Lumos_yuan1 小时前
10-11、Workflow of a Machine Learning project
人工智能·ai·deep learning·ai company
aneasystone本尊1 小时前
给小龙虾配个浏览器:学习 browser 工具(二)
人工智能
金融大 k1 小时前
行情数据接入 MCP:Claude Code / Cursor 工具描述怎么写才不踩坑
人工智能·python·websocket·行情 api
openFuyao2 小时前
Agent对今天的技术有什么具体要求?
人工智能
十六年开源服务商2 小时前
2026外贸WordPress社交媒体营销运营指南
大数据·人工智能·媒体
weixin_446260852 小时前
面向高效与证据驱动的个体移动预测 (AgentMob)
人工智能
张彦峰ZYF2 小时前
深入 LangGraph State:Reducer 是如何让状态“自动合并”的
人工智能·python·大模型·langgraph
程序喵大人2 小时前
C++ 程序员转型 AI Infra 学习路线
c++·人工智能·学习·ai infra