Skip to content

Agent 设计哲学与决策框架

方向定位:Agent 工程的"价值观 + 决策树"双合一文档——既回答"为什么这样做"(克制哲学、铁律、反模式纪律),也回答"怎么选 A 还是 B"(立项 / 架构 / 技术栈 / 运行时的可操作决策框架)。本方向不涉及具体实现机制(→ 其他方向),但任何 Agent 项目从立项到上线的"价值观锚点 + 决策入口"都集中在这里。 当前版本:v1.0(合并自《Agent 设计哲学与铁律》v0.2 + 《Agent 决策框架手册》v0.3) 首次构建:2026-05-15 最近更新:2026-05-20 来源数:4 篇(横切提炼自 5 篇现有体系化文档 + 2 篇原始素材 + 多智能体协作调查长文 + Anthropic CU 最佳实践)

方向定位

本方向研究两个相互咬合的核心问题:

  1. Why(哲学):Agent 工程实践中哪些原则是不可妥协的?为什么"克制比技巧更重要"?
  2. Which(决策):从立项到上线的每个关键岔路口,该如何快速做出可辩护的决策?

边界:

  • 包含:跨场景复用的设计原则(Anthropic 3 原则 / Barry 3 铁律 / 克制哲学 / ACI 投入论)、反模式纪律、立项哲学、人机分工范式;以及 8 类决策框架(要不要 Agent / 复杂度递进 / 单 vs 多 / 中心化 vs 去中心化 / 手搓 vs 框架 / NLU vs LLM / MCP 分层 / 反思 vs 评估)
  • 不包含:具体的架构形态实现(→ Agent 架构与协作模式方向)、工具/记忆/评估机制细节(→ 对应方向)、工程落地的代码与配置(→ Agent 工程实践与落地方向)
  • 与相邻方向的区别:相邻方向回答"How"与"What";本方向回答"Why"与"Which"——是 Agent 工程的"操作系统层"和"导航总图"

知识图谱

  • 哲学纲领(Why)
    • Anthropic 3 原则:Simplicity / Transparency / ACI
    • Barry 3 铁律:4 问筛场景 / 3 组件简单 / Agent 视角
    • 阿里 OpenClaw + 郝建业派别:工程实现顺序 + 三大底层短板
  • 核心哲学命题
    • "Demo 不算落地,进生产系统才算落地"
    • "克制比技巧更重要"——奥卡姆剃刀
    • "复杂度只有在可证明改善结果时才该加"
    • "约束不是限制,而是放大器"
    • "Humans steer. Agents execute."
  • ACI 投入论:工具描述/参数名/错误反馈 = 接口设计;Poka-yoke > 教模型不犯错;工具优化 > prompt 优化
  • 决策框架(Which)
    • 立项决策:4 问判断清单、复杂度递进决策树、预算反推法
    • 架构决策:单 vs 多 Agent 四信号、中心化 vs 去中心化、五种工作流模式、多智能体 8 步决策树
    • 技术栈决策:手搓 vs 框架矩阵、传统 NLU vs LLM 矩阵、MCP 接入分层、反思 vs 评估
    • 运行时决策:Advisor Strategy 介入时机、Stopping Condition 三档、工具失败四类处理
  • 思维练习:把自己塞进 Agent Context Window、让 Claude 看 Claude
  • 反模式纪律:过早 multi-agent / 框架依赖症 / 上下文越长越好 / 工具失败让 agent 崩 / 靠模型聪明

第一章 Why——为什么这样做 Agent

本章回答 Agent 工程的"价值观与铁律"——所有具体方法论、架构选型、工程实践都跑在这套哲学之上。当你在两个看似合理的方案之间犹豫时,回到这些铁律往往能立刻得出答案。

1.1 Anthropic 构建 Agent 的 3 条核心原则

Anthropic 在《Building Effective Agents》文末把数十个客户共建经验浓缩成 3 条不可妥协的原则:

#原则含义反例
1Maintain simplicityAgent 本质就是"LLM 在循环里用工具",不要为了显得复杂而加抽象层用 5 层框架封装一个本该 50 行写完的任务
2Prioritize transparency显式展示 agent 的规划步骤,让人类能看到它在想什么、为什么这么决定黑盒输出最终结果,调试时无从下手
3Carefully craft ACI投入 HCI 同等的工程精力到工具文档和测试上工具描述一两句话就交付,期待模型自己脑补

核心反直觉:Anthropic 与数十个客户团队共建后得出的结论——最成功的实现都没用复杂框架,而是用"简单可组合的模式"。"Success in the LLM space isn't about building the most sophisticated system. It's about building the right system for your needs."

1.2 Barry 构建 Agent 的 3 条铁律

Barry 在 AI Engineer Summit 把 Anthropic 的客户共建经验进一步收敛成 3 条铁律:

#铁律一句话
1别什么都用 agent 做用 4 问判断清单逐条筛场景(具体清单见第二章 2.1)
2尽可能保持简单Agent 只有 3 个组件(环境 / 工具 / system prompt),迭代阶段别加复杂度
3用 agent 视角去想把自己塞进 10-20K token 的 context window,立刻能看到 agent 缺什么信息

与 Anthropic 3 原则的关系:Anthropic 3 原则是"设计完成后的检查清单",Barry 3 铁律是"从立项到迭代的工作纪律"——两者是同一套哲学在不同阶段的展开。

1.3 "Demo 不算落地,进生产系统才算落地"

这是郝建业派别对 Agent 工程的核心判断标准。当前 Agent 行业的常见误区:

  • Demo 跑通就宣告成功 → 真到生产系统短板暴露
  • 实验室 benchmark 优秀 → 生产环境上下文/工具/记忆全是坑
  • 一个任务能跑 → 100 个并发任务直接崩

底层判断:从 demo 走到生产系统的护城河是"工程的全栈深度"——包括但不限于记忆系统、安全、Harness、可观测性、ACI 设计。少一项都不算落地。

对项目立项的启示:评估一个 Agent 项目时,"能跑 demo"是必要条件不是充分条件。真正的评估锚点应该是"在生产负载/异常/对抗场景下是否仍能稳定工作"。

1.4 "克制比技巧更重要"——Agent 工程的奥卡姆剃刀

横跨 Anthropic 与阿里两个派别的共识哲学。所有具体表现都收敛到同一原则:

  • 架构层面:能用 workflow 不用 single agent,能用 single agent 不用 multi-agent
  • 复杂度层面:能用单次 LLM 调用不用 chain,能用 chain 不用 router
  • 框架层面:能用 LLM API 起步不用框架
  • 多智能体层面:能让一个 Critic Agent 解决的不用 N 个 Critic 并行

为什么克制比技巧重要:每加一层复杂度都要承担——更高 token 成本、更高延迟、更难调试、更可能复合错误。而这些代价往往在 demo 阶段感受不到,到生产环境放大 100 倍。

Anthropic 原话:"Consistently, the most successful implementations weren't using complex frameworks or specialized libraries. Instead, they were building with simple, composable patterns."

1.5 "复杂度只有在可证明改善结果时才该加"

这是 PM/架构师立项时的最高约束。它派生出的工作纪律是按"单次 LLM 调用 → workflow → agent"复杂度递进升级,每升一级必须有可证明的收益(递进决策树见第二章 2.2)。

每加一层复杂度都要承担

  • 更高 token 成本(按倍数累积)
  • 更高延迟(用户感知的真实痛感)
  • 更难调试(每多一层抽象 = 一层错误来源)
  • 更可能复合错误(链路越长,错误率越接近 1 - (1-p)^n)

反例:客服系统每单 10 美分预算 → 单次任务 token 上限约 3-5 万 → 常见情况用 workflow 就够,硬上 agent 会破产。

1.6 ACI 投入要比照 HCI 的工程纪律

ACI(Agent-Computer Interface)是 Agent 时代新引入的设计维度,对应 HCI 在传统软件中的位置:

维度HCI(传统)ACI(Agent 时代)
用户人类LLM / Agent
界面UI / UX工具描述 + 参数 schema + 错误反馈
设计师设计师 + 前端PM + 后端 + 工具作者
检验用户测试模型在 workbench 多样本测试
工程比例整体开发约 30-50%Anthropic 实测:SWE-bench agent 工具优化时间 > 整体 prompt 优化时间

核心思想:Agent 的"用户"不只是人类,还有 LLM 自己。工具描述、参数名、错误反馈——这些都是 PM 应当像设计前端界面一样仔细打磨的"接口"。

Anthropic 原话:"One rule of thumb is to think about how much effort goes into human-computer interfaces (HCI), and plan to invest just as much effort in creating good agent-computer interfaces (ACI)."

1.7 "约束不是限制,而是放大器"——多 Agent 协作哲学

多 Agent 工程的核心哲学,与单 Agent 工程的"自由派"形成强烈对比。

单 Agent 倾向:自由度越大、模型选择越多,能力越强。 多 Agent 现实:自由度越大、协作越混乱、调试越困难、生产可控性越差。

约束的几个具体形态

  • Spec-first 两段式人工确认:让 plan 必须人工签字才能 execute
  • allowedPaths 软边界:限制每个 Agent 的修改范围
  • claim 系统:避免多 Agent 抢占同一资源
  • Observer Agent 频率限制:避免观察者本身失控

哲学要义:约束让多 Agent 的"协作行为"变得可预测、可调试、可回滚——没有约束的"自由协作"在生产系统里几乎一定崩盘。约束不是为了限制能力发挥,而是为了让能力沿着可控路径放大。

1.8 "Humans steer. Agents execute."——人机分工新范式

来自阿里 OpenClaw 团队的提炼。这句话定义了 Agent 时代工程师工作的本质重塑:

传统范式:工程师写代码 → 代码执行 → 工程师调试 Agent 范式:工程师定义意图 + 边界 + 约束 → Agent 执行 → 工程师 review

对工程师角色的影响

  • 大量"键盘操作"被 Agent 替代(编码、测试、文档)
  • "判断力"无法替代——目标设定、边界划定、异常处理决策、价值判断
  • 工程师工作从"做事的人"变成"管事的人"

对组织的影响

  • 大量个体工程师承担起类似 tech lead 的判断职责
  • 团队规模可能不变但单兵产出量级上升
  • 评估工程师的标准从"代码量"转向"判断质量"

1.9 思维练习 1:把自己塞进 Agent Context Window

来自 Barry 的实操技巧——所有 Agent debug / 设计阶段都应做一遍。

练习规则

  1. 你只有 10-20K token
  2. 你只看得到一份 system prompt + 工具描述 + 最近 N 个 observation
  3. 你不知道任何"用户视角"看得到但 agent 视角看不到的信息

Barry 的 computer use agent 案例

  • 拿到一张静态截图 + 一段写得糟糕的任务描述,你点击一下
  • 点击执行的 3-5 秒里,相当于你闭着眼睛操作电脑
  • 睁开眼,看到下一张截图——你刚做的事可能成功,也可能把电脑关机了,你不知道

练习能立刻挖出的需求:屏幕分辨率信息、推荐动作 + 限制、进度状态、"上一步做了什么、结果是什么"的回放线索。

制度化落地:PRD / Spec 评审环节强制走一遍 agent 视角,把"用户视角才看得到、agent 视角看不到"的信息缺口列出来。

1.10 思维练习 2:"让 Claude 看 Claude"的元调试惯例

Barry 团队高频使用——把 system prompt / 工具描述 / Agent 完整 trajectory 直接喂给 Claude,让它指出问题。

给 Claude 看的东西问它什么
system prompt里面有歧义吗?你能照着做吗?有没有矛盾的指令?
工具描述这个工具的参数够不够?是不是缺什么?参数名是否容易误用?
完整 trajectory你为什么在这一步做了这个决定?我应该补什么信息让你做得更好?
失败的对话历史这个对话哪一步开始走偏?为什么走偏?

与练习 1 的关系:两者互补——人脑做"塞进 context"练习 + Claude 做自评——覆盖人类视角和模型视角各自看不到的盲区。

1.11 Poka-yoke(防呆)工具设计法

来自 Anthropic SWE-bench agent 的真实经验——改参数让"犯错变难",而不是依赖模型不犯错

Poka-yoke 具体设计实践

  1. 强制结构化输入:不接受自然语言模糊指令,要求 JSON Schema 严格约束
  2. 不可能歧义的参数名file_path 优于 nameabsolute_path 优于 path
  3. 错误的默认值不存在:要么必填要么明确合理默认值
  4. 副作用前置 confirmation:删除/写入类工具默认 dry-run,需显式 confirm=true 才执行
  5. 错误反馈包含修复线索:错误信息直接告诉模型"应该怎么改",而不只是"出错了"

衡量标准:拿一个"刚见到这个工具的模型"试 100 次,如果错误率 > 5%,工具设计有问题。

1.12 工具优化 > Prompt 优化的工程顺序

Anthropic 反直觉结论:构建 SWE-bench agent 时,优化工具花的时间比优化整体 prompt 还多

优化对象收益边际调试可见性
Prompt边际递减快(30→70 分容易,70+ 极难)改了不一定知道改对没改对
工具描述边际更稳定(每次改进直接反映在调用准确率)工具调用日志直接可见
工具参数设计一次改对可永久消除一类错误Poka-yoke 后整类错误消失

调试时的标准排查顺序

  1. 工具描述是否有歧义
  2. 工具参数是否有 Poka-yoke 空间
  3. system prompt 是否遗漏关键约束
  4. 模型能力是否本身不够

反例:一上来就怀疑模型能力 → 换更强的模型 → 问题依旧 → 才发现是工具定义不清楚。

绝大多数"Agent 不好用"的案例,根因都在工具设计,不在模型能力。

1.13 Show, Don't Tell — Teach Mode 示教回放设计哲学

来自 Anthropic CU 最佳实践(2026-05-13)。当 Agent 面对复杂 UI 工作流时,录制一次人类操作让 Agent 回放比写一份详细的文字指令更高效——这是"给 Agent 看什么"比"给 Agent 说什么"更重要的又一个实证。

核心思想:用工作流录制代替文字指令。人类做一遍流程 → 系统录制每一步的截图 + 动作 + 选择器 + 坐标 + 视口尺寸 → Agent 在相同或相似场景中回放。

WorkflowStep 数据模型(每步记录 6 个字段):

字段作用
action动作类型(click / type / scroll / select 等)
selector目标元素定位(CSS selector / XPath)
coordinates屏幕坐标(x, y)
screenshot带标注的截图(标记目标元素位置)
viewport_dimensions当前视口尺寸(适配分辨率差异)
description人类可读的步骤描述

三种回放模式(渐进放权)

模式行为适用场景
Strict严格复现每一步操作合规审计、重复性高的表单填写
Adaptive目标一致但允许路径偏差UI 布局变化时自适应
Goal-oriented仅参考示教理解目标,自主规划路径跨版本 / 跨平台迁移

设计哲学要点

  • 与 §1.9 思维练习的呼应:Teach Mode 正是"把自己塞进 Agent Context Window"的产品化——不是让 PM 写文字描述 Agent 该做什么,而是直接给 Agent 看人类做什么
  • 示教 > 指令的本质:工作流录制是"上下文工程"的极致形态——用截图序列 + 结构化标注取代自然语言,消除指令歧义
  • 反模式:把 Teach Mode 用于不稳定的 UI——如果 UI 每次都变,录制的示教很快过时。Adaptive/Goal-oriented 模式是对冲手段

(来源:Anthropic CU 最佳实践博客"Teach mode — show, don't tell"节,2026-05-13)


第二章 Which——决策框架

本章提供 8 类决策入口的可操作判断框架。决策结果指向哪个方向的哪个章节,每个决策框架背后的"为什么这么决"由第一章哲学层回答。

2.1 立项决策一:4 问判断清单——要不要用 Agent

来自 Barry 在 AI Engineer Summit 的提炼。所有 Agent 项目立项时必须逐条回答的第一道关:

#问题怎么用反信号(别用 agent)
1任务复杂度任务在"模糊问题空间"才用 agent能画出完整决策树 → 写 workflow,每个节点单独优化
2任务价值任务能 cover token 成本客服系统每单预算 10 美分 → 3-5 万 token 上限,常见情况 workflow 就够
3关键能力 de-risk主路径每一步模型都做得好某一步是瓶颈,不会 fatal 但成本和延迟翻倍
4错误成本 + 错误发现难度错误便宜或容易发现,敢放手错误贵 + 难发现 → 加 read-only / human-in-the-loop(但会限制 scale)

判断锚点:如果你看到这个问题第一反应是"不计 token,把活干完"——这才是 agent 的甜蜜点。

经典四项全中的甜蜜点:Coding Agent——任务模糊 ✓、价值高 ✓、模型能力强 ✓、unit test + CI 让错误容易发现 ✓。

使用纪律:4 问要逐条问,缺一不可。任何一条是"反信号"都应该首选 workflow 而非 agent。

2.2 立项决策二:复杂度递进决策树——Anthropic 三档原则

单次 LLM 调用 + retrieval + few-shot
        ↓ 不够用?
    五种 Workflow 模式
        ↓ 不够用?
        Agent

关键纪律

  • 每一档先用尽再升级,不要跳级
  • 升级必须有可证明的收益(不是"理论上更强",而是"实测指标提升")
  • 升级带来的成本(token / 延迟 / 调试难度)要进入决策权衡

Anthropic 原话:"Workflows offer predictability and consistency for well-defined tasks, whereas agents are the better option when flexibility and model-driven decision-making are needed at scale."

与 4 问的关系:4 问回答"能不能用 agent",本决策树回答"如果不上 agent,停在哪一档"。

2.3 立项决策三:预算反推法——把任务价值转成复杂度上限

来自 Barry 的实操技巧。

反推步骤

  1. 业务侧给出"每单可接受成本上限"(如客服每单 10 美分)
  2. 按当前模型的 token 价格反推 token 预算(如 Sonnet 4.6 约 3-5 万 token)
  3. 按 token 预算判断可承载的复杂度档位:
    • < 3K token → 单次 LLM 调用
    • 3K - 30K token → workflow(2-5 步链式)
    • 30K - 100K token → 小型 agent 或复杂 workflow
    • 100K token → 完整 agent + 上下文管理

实战案例

  • 客服每单 10 美分 → 3-5 万 token → 常见情况用 workflow 就够,agent 只跑长尾
  • 编程任务每次 1 美元 → 30 万 token → 完整 agent 没问题
  • 内部数据分析每次 5 美元 → 150 万 token → 不在乎复杂度上限

使用纪律:所有 Agent 项目立项时都应做这个反推——很多"看起来应该上 agent"的项目,反推后发现 token 预算根本不够。

2.4 架构决策:单 Agent vs 多 Agent + 中心化 vs 去中心化

给定一个已确定要上 agent 的任务,架构层面需要做两个正交决策。

第一步:单 Agent vs 多 Agent

触发"多 Agent"的 4 个信号(命中 ≥ 2 个考虑多 Agent):

  1. 任务可天然拆分为多个独立子任务(如不同领域 / 不同技能)
  2. 子任务可并行执行能显著降低延迟
  3. 不同子任务需要不同的 system prompt / 工具集,混在一起会冲突
  4. 任务复杂度超过单 Agent 的上下文窗口容量

第二步:中心化 Orchestrator vs 去中心化

维度中心化(Orchestrator-Worker)去中心化
可控性高,调度逻辑集中低,依赖 Agent 间协议
调试难度低,一个 Orchestrator 一目了然高,分布式状态难追踪
生产可用性当前唯一可用路径几乎不用,仅学术
扩展性中,Orchestrator 是瓶颈高,理论可线性扩展

当前判断:中心化 Orchestrator-Worker 是 Multi-Agent 工程的唯一生产路径。

→ 详细机制见 Agent架构与协作模式 概念 5、方法 1

2.5 架构决策补充:五种工作流模式速查

来自 Anthropic《Building Effective Agents》。把这 5 种模式吃透,PM 评审技术方案时就有了"共同语言":

#模式何时用结构典型案例
1Prompt Chaining(链式)任务可干净拆分成固定子任务,用延迟换准确性顺序步骤 + 中间程序化 gate写文档大纲 → 校验 → 写文档
2Routing(路由)任务有明确几类,分开优化更好先分类 → 分发到专门下游简单问题 → Haiku,复杂 → Sonnet
3Parallelization(并行)子任务可并行 / 多视角投票提升置信度Sectioning 或 Voting多 prompt 评估漏洞
4Orchestrator-Workers(编排-执行)子任务无法提前预测,由协调者动态分派中心 LLM 拆任务 → workers 并行 → 综合Coding agent 多文件改
5Evaluator-Optimizer(评估-优化)反馈能可证明提升质量 + LLM 能给有用反馈生成 → 评估 → 改进循环文学翻译、复杂搜索

评审常用语

  • 听到"并行跑 3 个 LLM 做评估"→ Voting,问投票阈值
  • 听到"大模型决定调哪个工具"→ Routing,问分类准确率
  • 听到"主 agent 拆任务给子 agent"→ Orchestrator-Workers,问子任务边界

→ 详细机制见 Agent架构与协作模式 概念 2

2.6 架构决策补充:多智能体 8 步选择顺序决策树

设计任何多智能体方案前,按这个顺序逐条问——多数"看起来需要多 agent"的任务会在前 3 问就被劝退

问题决策
1单 agent 能不能做?小改动 / 强顺序 / 需求模糊 → 单 agent。能做就先别拆
2主上下文会不会被污染?长日志 / 大搜索 / 跨目录阅读 → 只读 explorer 或 subagent
3子任务能不能独立?独立 → 星型 fan-out;强依赖 → pipeline 串行
4结果是否必须在本轮返回?必须 → fork/join;不必 → background job;跨天/重试/等人类 → durable queue / Kanban
5worker 是否需要互相挑战?只分头查 → 星型;需互相质疑 → team mesh
6是否会并行写文件?会写 → 先写 ownership(按目录/模块/测试文件分边界);分不出来 → 回 Step 3 改 pipeline
7是否需要入口隔离?多渠道/多身份/多权限 → Gateway routing
8失败后如何恢复?retry / block / handoff / 子任务证据——没有这些约束就不要上长程多 agent

核心纪律先决定调度方式,再决定状态放哪里;先决定上下文和权限边界,再决定拓扑;先决定谁 reduce,再决定开几个 worker

与 2.5 的关系:五种工作流模式是 Anthropic 视角的"形态菜单";本决策树是从触发-拓扑两轴视角给出的"8 步入口"——两者互补。

→ 详细机制、四大 Harness 触发-拓扑对比矩阵、Delegation Contract 模板见 Agent架构与协作模式 方法 10、概念 17-19

2.7 技术栈决策一:手搓 vs 框架选型矩阵

来自阿里 OpenClaw 团队的工程经验。手搓与框架不是非此即彼,而是按阶段动态调整:

阶段推荐理由
POC / 单任务原型直接 LLM API 起步框架的多层抽象会遮蔽 prompts 和 responses,调试困难
多 Agent 协作初期框架 + 核心手写框架管编排,核心逻辑(如 system prompt 迭代)必须手写
规模化生产框架托底 + 核心模块完全手搓框架在排查/运维/规模化三方面有痛点,核心模块必须自掌控
极致优化阶段几乎完全手搓框架的抽象层在性能/可控性上都是阻碍

Anthropic 的明确建议:直接用 LLM API 起步,很多模式几行代码就能写完。如果要用框架,必须看懂底层代码——"对底层假设错了"是客户最常见的错误来源。

反模式:选 LangChain 就一直跟着它升级、被框架推着走——这是框架依赖症。

→ 详细分析见 Agent工程实践与工具生态 方法 1

2.8 技术栈决策二:传统 NLU vs LLM 选型矩阵

意图识别场景下两种方案的选择:

维度传统 NLU(BERT 类微调)LLM(Function Calling)
数据需求大量标注数据少量 few-shot 或零样本
泛化能力弱,新意图需重新训练强,prompt 改改就能加意图
准确率(封闭域)高(90%+)中高(85-92%)
准确率(开放域)
成本训练贵推理便宜训练免费推理贵
可控性高,输出可枚举中,需要 JSON Schema 约束
延迟低(10-50ms)高(500-3000ms)

选型决策树

  1. 高并发 + 封闭域 + 容忍标注成本 → 传统 NLU
  2. 长尾意图多 + 快速迭代 + 容忍延迟 → LLM
  3. 混合方案(推荐):传统 NLU 做高频意图分类(90%+ 流量)+ LLM 兜底长尾

→ 详细矩阵见 Agent工程实践与工具生态 方法 4

2.9 技术栈决策三:MCP 接入分层判断

来自 Anthropic 2026-04 的"分层互补"博客。给定一个外部能力,应该用哪一层接入?

适用场景例子
API高频、低延迟、纯数据数据库查询、内部 RPC
CLI本地工具、文件系统、shell 操作git / kubectl / 文件读写
MCP云端工具、第三方生态、需协议标准化Notion / Slack / GitHub MCP Server
Skills需要"教模型方法"而非"调用工具""如何写 PRD"、"如何做代码 review"
PluginSkills + MCP 的打包分发完整的"客服 Agent Plugin"

分层判断流程

  1. 是纯数据查询吗 → API
  2. 是本地操作吗 → CLI
  3. 是云端工具且不需要"方法"吗 → MCP
  4. 主要是"教方法"吗 → Skills
  5. 需要打包分发吗 → Plugin

注意:MCP 并非"all in one"方案,三大生产痛点(Token 暴涨 4-32 倍、Schema 臃肿、缺乏编排)说明它不该被滥用。

→ 详细分析见 Agent工程实践与工具生态 方法 5

2.10 技术栈决策四:反思机制 vs 评估机制选型

两套机制看似都是"让 Agent 知道做得对不对",但适用场景完全不同:

维度反思机制(Self-Refine)评估机制(Evals)
时机任务执行过程中任务执行之后
目的让 agent 改进当前输出度量 agent 整体能力
颗粒度单次任务/单步跨任务、跨版本
成本增加单次任务成本(多次调用)离线运行,不影响在线
决策驱动是否回头修改是否上线、是否回滚

选型决策

  • 你要让 agent 当下做得更好 → 反思机制
  • 你要让 agent 下个版本做得更好 → 评估机制
  • 两者完全可以并行使用,互不冲突

反思机制内部二选一:单 Agent 自反思(成本低,有"自洽陷阱")vs 多 Agent Critic(质量高,独立审查员)。生产建议:高质量场景用多 Agent Critic,常规场景用单 Agent 自反思。

→ 详细机制见 Agent评估与反思机制 概念 5、方法 2

2.11 运行时决策一:Advisor Strategy 介入时机

来自 Anthropic 的大小模型协作方案。在同一 Agent 内部用小模型主执行 + 大模型按需介入:

何时介入大模型

  1. 决策点(routing / dispatch):选下一个工具、决定子任务划分
  2. 复杂推理:跨多步证据综合、反直觉判断
  3. 质量校验:关键输出在交付前再次审视
  4. 错误恢复:遇到 ambiguous 错误时升级判断

何时不介入:纯执行步骤(如格式转换、字段提取)、高频/低价值任务、模型已表现稳定的环节。

预算控制:用 max_uses 参数限制大模型介入次数,避免无限升级。

Anthropic 实测数据:性能 +2.7%、成本 -11.9%。

API 级工程细节(Anthropic CU 最佳实践 2026-05-13 补充)

  • 20 轮提醒 nudge:对话超过 20 轮后,模型会收到系统提醒鼓励使用 advisor——解决"小模型忘了问大模型"的问题
  • Orphaned block 清理:如果 advisor 调用结果未被使用(如被中断),系统自动清理残留 block,避免 context 污染
  • Caching 策略:advisor 调用结果可被 prompt cache 缓存——多轮对话中重复使用同一 advisor 判断不会重复计费
  • 与 Computer Use 的协同:CU 场景推荐 Sonnet 4.6 执行 + Opus 4.7 advisor,Sonnet 负责机械点击(精度高),Opus 负责决策判断(推理强)——是 CU 场景下成本效益最优的模型组合

→ 详细机制见 Agent工程实践与工具生态 概念 12、方法 6

2.12 运行时决策二:Stopping Condition 三档设计

所有自主 Agent 必须设置 Stopping Condition,三档组合使用:

触发条件用途
max_iter循环次数上限(如 50 步)兜底防失控
budgetToken / 时间 / 钱预算上限经济兜底
checkpoint关键节点 human-in-the-loop质量兜底

设计原则

  • 三档全部都要,不能只设一档(max_iter 单档可能被巨型单步耗尽预算)
  • 触发后的行为要明确:是中断报错、还是降级 fallback、还是 human approval
  • 把 stopping condition 暴露给 agent 自己感知(如告诉它"还剩 5 步预算"),让它能主动调整策略

反例:让 agent 自由循环 → 资源失控、无限循环、API 账单爆炸。

2.13 运行时决策三:工具失败四类处理策略

调用工具失败时 agent 不应该崩,按以下四类策略处理(来自 DeepResearch 78%→91% 的实战经验):

错误类型处理策略
暂时性失败(网络、超时)把错误信息写回 Observation,让 agent 自己决定重试或换工具
参数错误(schema 不匹配)错误信息明确告诉 agent "参数 X 应该是 Y 格式"
权限/资源不足写回 Observation,让 agent 选择 fallback 或求 human
工具本身不存在引导 agent 用替代工具或承认能力边界

核心原则:try/except 把错误写回 Observation,把决策权交还给 agent。不要在工具层做"重试 agent"——会带来新的复杂度(重试几次?重试失败怎么办?)。

→ 详细案例见 Agent工程实践与工具生态 方法 2

2.14 决策框架之间的关系

立项 → 架构 → 技术栈 → 运行时——前置决策约束后续决策的空间。

  • 立项 决定"上不上 agent"——决定了后续所有决策的存在意义
  • 架构 决定"单/多/中心化"——影响技术栈选择和运行时配置
  • 技术栈 决定"手搓/框架/接入层"——影响运行时的可控性边界
  • 运行时 决定"stopping condition / advisor / 失败处理"——决定生产可用性

当不知道选哪个时,默认选更简单的那个(哲学层第 1.4 节的延伸):

  • 单 vs 多 Agent → 单
  • 中心化 vs 去中心化 → 中心化
  • 手搓 vs 框架 → 手搓
  • 反思 vs 评估 → 评估(先离线优化再考虑在线反思)

反信号往往比正信号更可靠:评审时优先核对反信号,任何一个反信号触发 → 优先用 workflow。


第三章 案例库

案例 1:SWE-bench 绝对路径修复——Poka-yoke 的标杆案例

任务:Anthropic 构建 SWE-bench agent,需要 agent 修改多个文件解决 GitHub Issue。

早期问题:工具用相对路径 → agent 在执行过程中切换目录后,对文件的引用错乱。

直觉解法:在 system prompt 里反复强调"请使用绝对路径"。实测:错误率虽降但未消除。

最终解法:把工具改成强制要求绝对路径——相对路径直接拒绝,并返回"请使用绝对路径"的错误提示。结果:整类错误消失。

教训

  1. 工具优化的收益比 prompt 优化大得多
  2. "让 agent 不能犯错"优于"教 agent 不要犯错"
  3. 工具设计的精雕细琢应享受与 prompt 同等的工程关注

案例 2:Coding Agent 四项全中——4 问框架的甜蜜点

背景:为什么 Coding 是当前所有 Agent 公司的主战场?

4 问逐条对照

  1. 任务复杂度:✓ 模糊问题空间——同一个 bug 修复方式可以有无数种
  2. 任务价值:✓ 程序员单小时成本 50-200 美元,agent 每次任务花 1-2 美元完全划算
  3. 关键能力 de-risk:✓ 模型在 code 任务上已达到接近资深工程师水平
  4. 错误成本 + 错误发现难度:✓ unit test + CI 让错误立刻可见、且代码改错通常可回滚

四项全中 → Coding Agent 是 Agent 应用的"甜蜜点"。

对比反例(客服 Agent)

  • 任务复杂度:部分✓(长尾问题模糊,高频问题简单)
  • 任务价值:✗(每单仅 10 美分预算,token 上限紧)
  • 关键能力 de-risk:✓
  • 错误成本 + 错误发现难度:✗(错误 expensive + 用户可能不会反馈)

结论:客服 Agent 不应该是"完整 agent",应该是"workflow + agent 兜底"的混合架构。

案例 3:客服按"成功解决次数计费"——商业化哲学信号

事件:多家客服 Agent 公司从"按 token 计费 / 按调用次数计费"转向"按成功解决次数计费"。

为什么这是哲学信号

  • 这种收费方式只有当公司对 Agent 解决率有强信心时才敢推
  • 商业模型从"卖能力"转向"卖结果"
  • 暗含的承诺:Agent 真的能在客服场景做到与人类替代或超越

这种商业模式成立的 4 个前置条件

  1. 对话流天然(客服场景)+ 需要外部信息和动作(拉用户数据、订单历史)
  2. 工具能拉取关键数据 + 执行动作(退款、改地址)
  3. 成功度量清晰(用户定义的"解决")
  4. 错误可承受(人工兜底)

对 PM 的启示:评估"该不该上 agent"时,看商业模式能否承受"按结果付费"——能就上 agent,不能就用 workflow。

案例 4:Computer Use Agent 闭眼操作——Agent 视角的极致案例

Barry 在 AI Engineer Summit 的演示——把人放进 computer use agent 的体验:

  1. 你拿到一张电脑桌面静态截图 + 一段语焉不详的任务描述(如"帮我把这个文件传给 Sarah")
  2. 你决定点击屏幕某个位置
  3. 点击执行的 3-5 秒里,你不能看到任何东西——相当于闭着眼睛
  4. 睁开眼,看到下一张截图——你刚刚的操作可能成功,也可能完全跑偏
  5. 循环

Barry 想说明的核心:agent 缺信息的程度超过开发者的想象。需要的不只是"任务描述",而是:进度状态、环境信息(分辨率/可用动作/当前焦点)、推荐路径、错误回滚线索。

通用启示:所有 Agent 任务在设计时都应做一遍"闭眼操作"练习——通常会立刻暴露 5-10 个明显缺失的信息项。

案例 5:DeepResearch 工具失败处理 78%→91%——克制哲学的工程兑现

任务:DeepResearch 在执行研究任务时频繁遇到工具调用失败(如 search 工具超时、爬取失败)。

早期方案:工具失败 → 抛异常 → agent 流程中断 → 任务失败率 22%。

克制哲学下的修复

  • 不引入"重试 agent"、不引入"错误恢复 agent"
  • 只做一件事:把工具失败用 try/except 包住,错误信息写回 Observation 让 agent 自己决策
  • agent 看到失败信息后,可能换工具、换参数、跳过、改任务边界

结果:任务成功率从 78% → 91%。

为什么克制反而好

  • 引入"重试 agent"会带来新的复杂度(怎么判断该重试?重试几次?)
  • 把决策权交还 agent 自己,反而触发了它的"错误恢复"能力
  • "工具失败时不崩"应该是 Agent 工程的第一优先级,但实现方式应该是最朴素的

案例 6:模型路由的成本优化——Routing 模式实战

任务:客服系统每天处理 10 万次查询,按 token 计费成本占运营 30%+。

Routing 决策

  • 80% 简单 / 常见问题 → Claude Haiku 4.5(成本约 1/10)
  • 20% 困难 / 罕见问题 → Claude Sonnet 4.5(能力强)

实测收益:总成本 ↓ 60%+,复杂问题准确率保持不变。

决策框架核对:任务有明确几类?✓;单一类型优化不该影响其它?✓;分类准确率可接受?✓ → 适用 Routing 模式。

案例 7:MCP 接入分层判断实战

场景:团队要给 Agent 增加"读取 Notion 文档"能力,怎么接入?

分层判断

  1. 是纯数据查询吗?✗(需要复杂 schema + 权限)
  2. 是本地操作吗?✗(Notion 是云端)
  3. 是云端工具且不需要"方法"吗? → 用 MCP

进一步判断"是否值得用 MCP"

  • Notion 调用频率:每天 50 次
  • Token 开销估算:每次调用 schema ~2K tokens → 每天 100K tokens 额外
  • 结论:低频可接受,高频要警惕 MCP Token 暴涨问题

反例对比:给 Agent 加"读取本地 git 状态"能力?是本地操作 ✓ → 用 CLI(git status),不应该用 MCP,否则徒增复杂度。

案例 8:阿里隔夜自优化闭环——反思 vs 评估的协同案例

任务:钉钉文档 MCP Agent 优化。

架构

  • 反思机制(在线):Coding Agent 自己改完代码后,Self-Refine 检查一次
  • 评估机制(隔夜):评测 Agent 跑全量测试集,给出分数 + 失败案例
  • 闭环:评测 Agent 把失败案例反馈给 Coding Agent,第二天 Coding Agent 据此改进

实测分数演进:90.7 → 97.4 → 99.1(三轮收敛)。

决策框架核对

  • 这是 Evaluator-Optimizer 模式的工业级实现
  • 反思(在线)+ 评估(离线)协同使用,不冲突
  • 三轮收敛说明:适合 90+ 分数往上爬,不适合 0-90

案例 9:Anthropic Advisor Strategy 性能数据

架构:Sonnet 主执行 + Opus 关键节点 advisor。

Advisor 介入条件(max_uses 3 次):

  • 任务起始:让 Opus 判断"该用什么策略"
  • 关键决策点:让 Opus 判断"该不该升级到 multi-step"
  • 输出前:让 Opus review 一次结果

实测数据:性能 +2.7%(端到端任务成功率);成本 -11.9%(相比全程用 Opus)。

关键洞察:把"大模型能力"从执行层下沉为"按需调用的决策层"——这是 Agent 时代的"大小模型分工"标准范式。

案例 10:四大 Harness 触发方式对照——评审多智能体方案的速查表

背景:团队成员提出"用多智能体做 XX"时,PM/架构师如何 30 秒内判断方案是否合理。

速查矩阵

提案表述实际属于哪类触发关键追问适配 Harness
"让用户决定要不要并行"显式触发用户在什么场景下会主动写"use parallel subagents"?写不出来就是伪需求Codex
"Agent 根据任务复杂度自动调用专家"语义触发每个 subagent 的 description 能不能被改写成"何时调用我"?写得像愿望就会乱叫人Claude Code 普通 subagent
"不同渠道进不同助手"路由触发入口绑定规则是否清晰?认证/权限/工具集是否分级?OpenClaw Gateway
"任务可能跨天/需要等人类反馈"队列触发状态存哪里?谁拉起 worker?失败如何 retry?handoff 如何记录?Hermes Kanban

评审三连问

  1. 触发是哪一类?四类对应四种工程实现,混用就是混乱
  2. 拓扑是哪一种?星型 / 链式 / 树型 / 网状 / Gateway / Durable——拓扑选错,所有下游决策都错
  3. 谁是 reducer?没有明确的 reducer = 多 agent 只是"多份意见"

反例对照

提案问题
"用 Hermes 做一个 PR review,几秒钟出三个 reviewer 的意见"短任务上 Kanban 笨重——应该用 Codex 显式 fan-out 或 Claude Code subagent
"用 Codex 多 agent 跑一个两天的调研报告"长任务用一次性 subagent 会丢状态——应该用 Hermes Kanban
"让 Agent Teams 互相 review 后写修复 patch"多 worker 写同一片代码无 ownership——应该先并行只读定位,再串行写 patch

对方案评审的启示:当一个多智能体方案在"触发方式 / 拓扑形态 / reducer 责任"这三个维度有任何一个含糊,几乎可以断定它会在第二轮真实任务里翻车——把这三个维度问清楚,比讨论"用哪个框架"重要得多。

→ 完整对比矩阵见 Agent架构与协作模式 概念 19

案例 11:反模式速查表节选——纪律性反例

来自阿里 OpenClaw 团队的工程经验沉淀:

反模式现象后果正解
过早上 multi-agent任务还没单 agent 跑通就拆 5 个 worker协作混乱、调试地狱先把单 agent 跑稳,再考虑拆
框架依赖症选 LangChain 就一直跟着升级、被框架推着走排查/运维/规模化三重痛核心手写,周边借用
上下文越长越好把所有可能用到的信息全塞进去Context Rot,模型注意力稀释分层管理 + 按需加载
工具失败让 agent 崩任何工具异常直接 raise任务大面积失败try/except 写回 Observation
靠模型聪明工具定义模糊期待模型脑补调用错误率高且难以归因Poka-yoke 工具设计
跳过 stopping condition让 agent 自由循环资源失控、无限循环必须设 max_iter + budget
一次性写完美 prompt一开始就想出"完美 system prompt"反复改、覆盖式无穷尽测试驱动迭代

速查表的价值:这些反模式都是"看起来合理但实际致命"的——打印贴在工位上,能避免 80% 的早期错误。


关键洞察(合并版)

哲学侧(Why)

  1. Agent 的最佳实现往往是最朴素的实现:技术决策应该问"我能用多简单的方案",而不是"我能用多复杂的方案"
  2. 复杂度是技术债务,每加一层都要还:demo 阶段不疼,生产阶段加倍——立项纪律是按"单次 LLM → workflow → agent"逐级升级
  3. ACI 是 Agent 时代的"前端工程":工具描述、参数名、错误反馈不是辅助产物,是核心产出
  4. Poka-yoke > 教模型不犯错:让 agent "不能犯错"比让它"不犯错"靠谱得多
  5. Agent 视角才是 debug 的真正起点:把自己塞进 Agent Context Window 一次,能挖出 5-10 个用户视角看不到的信息缺口
  6. 工具优化优先级 > Prompt 优化优先级:绝大多数"Agent 不好用"的案例,根因都在工具设计,不在模型能力
  7. "Humans steer. Agents execute." 重塑了工程师角色:评估工程师的标准从"代码量"转向"判断质量"

决策侧(Which)

  1. 决策框架的最大价值在"团队共同语言":方案评审从"主观偏好对撞"变成"框架要点核对"
  2. 立项决策的优先级是绝对的:立项错了,后面所有优化都是在错误的方向上加速
  3. 决策树合集 ≠ 决策手册式僵化:8 个决策框架是"判断起点",不是"判断终点"
  4. 反信号比正信号更可靠:评审时优先核对反信号,任何一个反信号触发 → 优先用 workflow
  5. 当不知道选哪个时,选更简单的那个:单 vs 多 / 中心化 vs 去中心化 / 手搓 vs 框架 / 反思 vs 评估,默认都选更简单一侧

待探索问题

哲学侧

  • ACI 标准化路径:HCI 经过 50 年发展形成了一套行业共识——ACI 是否会形成类似的标准化设计原则?
  • 自主度与可控性的伦理边界:是否会演化出类似汽车 L0-L5 的"Agent 自主度评级"?
  • 简单性原则的边界:随着模型能力跃迁,是否会出现"复杂架构反而更简单"的拐点?
  • ACI 投入的产品化:是否会出现"工具描述质量检测器"、"Poka-yoke 自动建议器"等工程化产品?
  • "Agent 视角思维练习"的工具化:是否能做成一个 IDE 插件,自动模拟"agent 此时此刻看到的状态"?
  • 多 Agent 时代的"约束设计学":约束作为放大器的具体设计语言尚未形成体系——是否需要"约束模式目录"?

决策侧

  • 决策框架的冲突解法:当不同框架给出相反建议时(如 4 问通过但预算反推不够),应该怎么仲裁?
  • 决策框架的跨场景泛化:8 个决策框架在医疗/法律/金融/不同地区下是否需要调整?
  • 决策的"机器辅助化":是否能做"立项 Wizard",输入任务描述自动给出 4 问得分 + 推荐复杂度档位?
  • 框架版本化:当 Claude 5.x 发布后,4 问清单的"关键能力 de-risk"边界会显著外推——决策框架是否需要随模型版本演进?
  • 决策框架的"反例库":本手册多数案例是"框架适用"的正例——是否需要建立"框架不适用 / 边界外"的反例库?

来源索引

  1. Anthropic《Building Effective Agents》(Erik S. & Barry Zhang,2024-12-19)—— 原文
    • 提供:3 条核心原则、五种 workflow 模式、ACI 设计原则、Augmented LLM 基础构件、复杂度递进决策树、SWE-bench 案例、模型路由案例、Poka-yoke 案例
    • 注:原始素材笔记已根入本文档及现有 5 篇方向,原笔记已删除
  2. Barry《构建 Agent 三铁律》(AI Engineer Summit 2025)
    • 提供:3 条铁律、4 问判断清单、Agent = 3 组件 + 循环、把自己塞进 Context Window 思维练习、让 Claude 看 Claude 调试法、预算反推法(10 美分客服锚点)、Coding agent 四项全中分析、3 个开放问题
    • 注:原始素材笔记已根入本文档及现有 5 篇方向,原笔记已删除
  3. 多智能体协作调查长文(2026-05)
    • 提供:多智能体 8 步选择顺序决策树、四大 Harness 触发-拓扑对照矩阵、评审三连问
  4. 横切提炼自现有 5 篇体系化文档
    • Agent架构与协作模式:克制哲学、约束是放大器、控制权归属、架构选型两步框架、五种控制模式、Single vs Multi 触发信号
    • Agent工程实践与工具生态:Demo 不算落地、工具失败处理、反模式速查表、Humans steer Agents execute、手搓 vs 框架矩阵、Stopping Condition 设计
    • Agent工程实践与工具生态:ACI 三代演进、决策与执行分离、Poka-yoke 工程实践、传统 NLU vs LLM 矩阵、MCP 接入分层、Advisor Strategy 实测数据
    • Agent记忆系统:Memory = 决策通道
    • Agent评估与反思机制:评估系统本身的问题比 Agent 出问题更难发现、反思 vs 评估机制选型、阿里隔夜自优化案例

演进记录

  • 2026-05-15 v0.1(哲学篇) — 首次构建《Agent 设计哲学与铁律》,由 /route-knowledge 路由分析触发;横切提炼自 5 篇现有体系化文档 + 2 篇原始素材,定位为 Agent 工程的"价值观与铁律"维度集中沉淀。
  • 2026-05-15 v0.1(决策篇) — 首次构建《Agent 决策框架手册》,与设计哲学方向呼应(哲学方向回答 Why,决策方向回答 Which)。
  • 2026-05-19 v0.2(哲学篇) — 清理与决策框架手册的轻度重叠:4 问清单具体判断标准移交决策框架手册,本方向只保留"为什么要先筛场景";复杂度递进决策步骤移交决策框架手册,本方向只保留"为什么必须按这个顺序递进"。
  • 2026-05-19 v0.2(决策篇) — 由 /route-knowledge 整合"多智能体协作调查"长文触发:新增多智能体 8 步选择顺序决策树、四大 Harness 触发方式对照实战。
  • 2026-05-19 v0.3(决策篇) — 与设计哲学方向同步去重:复杂度递进决策树补加哲学源头跳转引用;方向定位段补加"决策框架背后的为什么"指向哲学方向的说明。
  • 2026-05-20 v1.0(合并) — 《Agent 设计哲学与铁律》v0.2 与《Agent 决策框架手册》v0.3 合并为《Agent 设计哲学与决策框架》,整合 Why 与 Which 两个维度。去重项:Anthropic 3 原则、Barry 3 铁律、单 vs 多 Agent 信号、MCP 分层判断、复杂度递进决策树等跨篇重复内容合并为单一表述;保留差异化要点:克制哲学叙事、Barry 3 铁律的 ACI 投入论、四问决策树、复杂度递进、手搓/框架判据矩阵、所有具体决策表。结构采用"第一章 Why / 第二章 Which / 第三章 案例库"三段式。

MIT License