AI Agent 应用指南(实战版)
产品无关的通用方法论 + 一线实战规则 · 配合「操作指南」与「产品百科」使用
一份产品无关的通用方法论:先学怎么想,再查用哪个,最后照着模板上手。
通用方法部分整理自开源指南《AI Agent 应用指南》;实战规则部分来自一线长期使用中真实踩过的坑。
导读 · 怎么用这份指南
这份指南分四块,建议按顺序读一次,之后当手册查:
| 块 | 章节 | 解决什么问题 |
|---|---|---|
| 怎么想 | 第一、二章 | Agent 是什么、有哪些类型、该选哪个 |
| 怎么干 | 第三、四、五、六、七章 | 怎么协作、怎么规划、有哪些模块、怎么下指令、命令怎么看 |
| 怎么验 | 第八、九章 | 怎么判断"真的做完了"、边界在哪 |
| 怎么不重蹈覆辙 | 第十、十一章 | 已知的失败模式、练习路线 |
四条最该先记住的话:
- Agent = 模型 + 工具 + 上下文 + 规则,不是"更聪明的聊天框"。
- 指令模糊 → 结果随机;验收缺失 → 它总是告诉你"完成"。
- 验收的最低标准是可复现证据(E1),不采信自证。
- 任何不可逆动作,人工确认。授权 ≠ 跳过门禁。
第一部分 · 怎么想
第一章 心智模型:Agent 到底是什么
1.1 一个公式
Agent = 大模型 + 工具 + 上下文 + 规则
它不是一个更聪明的聊天框,而是一个能读文件、执行命令、操作浏览器、调用 API、自己决定下一步的数字员工。这个区别是分水岭:聊天框只能给建议,Agent 能改你的东西。
1.2 四个关键概念
| 概念 | 含义 | 你该关注什么 |
|---|---|---|
| 上下文(Context) | 一次任务中模型能看到的所有信息 | 给它什么文件 / 记忆 / 规则,直接决定质量 |
| 工具(Tools) | 它可以调用的能力:终端、文件、搜索、浏览器 | 知道它能做什么、不能做什么 |
| 约束(Constraints) | 沙箱、权限、写入边界、审批策略 | 决定它能动你系统里哪些东西 |
| 验收(Acceptance) | "完成"的定义与证据 | 不要听它说"完成",要能复现的结果 |
1.3 最重要的一条原则
把 Agent 当"有能力但需要明确指令的新员工",而不是"什么都知道的神"。
由此直接推出两件事:指令必须明确,验收必须独立。
1.4 三条容易被忽略的真相
真相一:Agent 会失忆。
每一次新会话对它来说都是全新的开始。它不会"记得昨天",除非你把记忆写成了文件。
所以:你的记忆必须是一堆文件,不是一个对话框。
- 每天一份日志(做了什么、结论、证据、下一步)
- 一份长期记忆(只放提炼过的结论,不放流水账)
- 一份"我在干什么"(交接单,随时可以换人接手)
一个真实教训:早期有整整一段时间的会话全部丢失,因为当时没有写日志文件。后来是把原始轨迹一点点刨回来才补上的。
而且——只写进每日日志是不够的,别的会话读不到。重要结论要当天写进长期记忆。
真相二:Agent 会"假成功"。
"完成"这个词,在 Agent 嘴里和在工程里,含义不一样。真实发生过的例子:
- 前端请求了一个根本不存在的接口,拿到错误页面,却因为状态码是 200 被记成"接口验证通过"。
- 限流错误(429)被当成"模型实测通过"。
- 报告写着"4 张图都生成并验证通过",而当轮没有任何工具证据支撑这句话。
所以规则是:HTTP 200 不是成功,退出码 0 不是成功,"我检查过了"更不是成功。
成功必须有内容级证据。
真相三:Agent 救不了自己。
如果 Agent 跑在你的主程序进程内部,那么进程一死它就死了——它永远不可能自救,这是位置问题,不是能力问题。
所以:可靠的恢复机制必须在进程之外(系统级看门狗、计划任务、外部告警)。
第二章 类型与选型
2.1 按角色分
| 角色 | 典型用途 | 特征 |
|---|---|---|
| 协调者 / 总控 | 拆解需求、派活、汇总、验收 | 强于规划与判断,不一定是写代码最强的 |
| 执行者 / 实现者 | 写代码、改文件、搭页面、跑构建 | 强于落地,最好配单一写入边界 |
| 验证者 | 对抗性测试、边界探测、回归 | 独立于实现者,负责挑毛病 |
| 审查者 | 代码审查、安全扫描、设计还原度核验 | 只读为主 |
| 研究者 | 查资料、读文档、核实事实 | 强于搜索与溯源,弱于动手 |
| 多模态 | 看图、生成图、音视频、操作浏览器/桌面 | 按能力细分 |
2.2 按能力面分
- 代码型:实现、重构、调试、部署
- 浏览器型:打开网页、点击、填表、截图、抓取
- 电脑操作型(Computer Use):像人一样操作原生桌面应用
- 内容型:写作、翻译、总结、生成图文、做 PPT / 表格 / 文档
- 视觉 / 图像型:读图、设计、生成与编辑图片
2.3 主流产品七大族系
市面产品按「你让 agent 干什么」分七族:
| 族系 | 定位 | 代表 |
|---|---|---|
| 终端编码 CLI | 在命令行里写代码、改仓库 | Claude Code、Codex CLI、Qwen Code、Aider、OpenCode、Cline |
| AI 原生 IDE | 可视化编辑器 + agent | Cursor、Devin Desktop、Trae、Replit |
| 云端 / GitHub 生态 | 认领 issue、开 PR、异步干活 | GitHub Copilot、Amazon Q、Jules、Factory Droid |
| 通用 / 电脑操作 | 操作真实桌面与 Office 文档 | ChatGPT Agent、Claude Cowork、Manus、Devin、Comet |
| 浏览器自动化 | 网页操作、抓取、验收 | Browser Use、UI-TARS、ByteBot |
| 框架 / 协议 | 自己搭多 agent 系统 | Claude Agent SDK、OpenAI Agents SDK、Google ADK、LangGraph、CrewAI |
| 低代码平台 | 不写代码搭智能体 | Coze / 扣子、Dify、百炼、元器、n8n |
两个关键协议值得记住:
- MCP:Agent 的 USB-C。把工具和数据源标准化,一次接入处处可用。
- A2A:Agent 之间的对话协议。不同厂商的 agent 互相发现、交接任务。
2.4 快速选型表
| 你想要什么 | 首选 | 备选 |
|---|---|---|
| 终端里最会写代码的 agent | Claude Code | Codex CLI、Qwen Code |
| 免费/开源 + 想自选任何模型 | Cline / Aider / OpenCode | Roo Code |
| 可视化 IDE 里用 agent | Cursor | Devin Desktop |
| GitHub 生态(PR / issue / Actions) | GitHub Copilot | Copilot coding agent |
| 免费额度、谷歌模型 | Antigravity CLI | Antigravity 桌面版 |
| 异步云端干活、回头发 PR | Google Jules / Factory Droid | Copilot coding agent |
| 网页任务自动化(非技术) | ChatGPT Agent | Comet |
| 文档 / Office / 桌面原生操作 | Claude Cowork | Manus |
| 自己搭浏览器 agent | Browser Use | — |
| 用代码搭多 agent 系统 | Claude Agent SDK / OpenAI Agents SDK | LangGraph / CrewAI / Google ADK |
| 非技术 / 低代码搭智能体 | Coze 扣子 / Dify | 百炼 / 元器 / n8n |
价格与版本会变,使用前以各厂商官网为准。
2.5 选型口诀
复杂靠强模型,批量靠低成本模型,验证永远换一个独立的视角。
第二部分 · 怎么干
第三章 协作:怎么让多个 Agent 一起干活
3.1 三种基本协作模式
| 模式 | 做法 | 适合 | 代价 |
|---|---|---|---|
| A · 单 Agent 深潜 | 一个从头做到尾 | 小任务、探索型问题 | 上下文连续,但缺少独立校验 |
| B · 主管 + 子 Agent | 协调者拆任务,多个并行 Agent 各管一块 | 大型任务(多模块、多页面、多文件) | 需要清晰的边界划分 |
| C · 流水线 | 固定角色依次接力:规划 → 实现 → 验证 → 验收 | 正式交付 | 慢,但每一步都换了视角 |
3.2 通用分工表
| 任务类型 | 建议主责角色 |
|---|---|
| 网页 / 前端 / 落地页 / 作品集 | 专门的实现 Agent(设计 + 结构 + 动效) |
| 常规开发、批量修改、明确小修 | 低成本实现 Agent(成本优先) |
| 复杂架构、棘手故障、性能/安全深水区 | 最强模型 / 资深实现 Agent |
| 回归、边界探测、对抗测试 | 独立的验证 Agent(不要用实现者自测代替) |
| 环境、工具链、模型路由问题 | 环境型 Agent |
| 需求拆解、验收标准、最终验收、记忆 | 协调者 |
3.3 多 Agent 协作的黄金规则
这五条与工具无关,是避免协作炸锅的硬规则:
① 每次只有一个写入者。 同一文件、同一时间,只允许一个 Agent 改;其他人只读,或写隔离的验证脚本。
多个 Agent 同时改同一个文件 = 互相覆盖 = 灾难。
② 共享一份交接单。 所有 Agent 开工前先读它;有进展就更新;切换前写清"已完成 / 当前步骤 / 下一步 / 证据"。
③ 实现 ≠ 验收。 让实现者自测可以,但最终验收必须由另一个视角(独立验证者或你本人)执行。
补充一条更硬的:"多一个 Agent 看过"不等于独立验证。同一个体系内互检只能算互检。
④ 证据要可复现。 要求"退出码 + 输出 + 截图 + URL 响应",而不是"看起来没问题"。
⑤ 破坏性动作需人工批准。 部署、外联、发布、删除数据,永远留给你确认。
两条实战补充:
⑥ 授权 ≠ 跳过门禁。 "我批准了"解除的是问不问,不是查不查。发送前该跑的去重、时间窗、幂等、前置条件校验,一条都不能省。
⑦ 规则要有单一数据源。 当你有多个 Agent、多份规则文件时,最大的风险是规则漂移——你以为改了,其实只改了一处。 做法:规则写在一个数据源目录,用脚本分发到每个 Agent 的规则文件,再用校验脚本查漂移,禁止手改生成物。
删掉一个 Agent 角色时,必须先做影响面普查。最容易漏掉的不是文档,而是代码里硬编码的路由——只改文档不改代码,队列仍会把活派给它。
3.4 交接单模板
# 任务交接单
状态:进行中
负责人:<Agent 名>
目标:<一句话>
验收标准:<可检查清单>
当前进度:<已完成 / 正在做>
下一步:<要做什么>
证据:<文件路径 / 命令输出 / 截图 / URL>
边界:<唯一写入者是谁、哪些文件不能动>
第四章 任务规划:D-I-C-E-R
4.1 万能五步
| 步骤 | 做什么 |
|---|---|
| D · Define 定义 | 要解决什么问题?给谁用?成功长什么样? |
| I · Inspect 调研 | 先读现状:代码库 / 文档 / 竞品 / 约束。禁止一上来就写。 |
| C · Contract 契约 | 写清范围、边界、验收标准,让 Agent 复述确认 |
| E · Execute 执行 | 按里程碑小步推进,先做最小可验证的一版 |
| R · Review 验收 | 独立验证 + 你亲自抽查关键结果 |
4.2 任务六要素
一个合格的任务描述必须包含:
| # | 要素 | 说明 |
|---|---|---|
| 1 | 目标 | 一句话说清要产出什么 |
| 2 | 背景 / 上下文 | 相关文件路径、代码位置、参考资料——给得越准,结果越准 |
| 3 | 范围与边界 | 明确"只改这些,不许动那些" |
| 4 | 验收标准 | 可检查的清单,不是形容词 |
| 5 | 约束 | 编码规范、语言、禁止事项 |
| 6 | 输出格式 | 要它回什么(DONE + 证据清单?diff?报告?) |
"做好看一点"不是验收标准。"首屏 3 秒内出现标题 + 一个持续运动元素"才是。
4.3 分阶段推进(防翻车)
不要一次让 Agent 做完整页 / 整个系统。
第一轮:只做「骨架 + 最有代表性的一个模块」
↓
你 / 独立验证者核验是否真的对
↓
通过后再扩展其余部分
↓
全部完成后做全量验收(桌面 + 移动 + 无障碍 + 安全)
4.4 一个能省下大量返工的动作
先要方案,不要直接动手。
让 Agent 先说它打算怎么做,你看完再决定开不开工。
反面案例:有任务因为缺少明确契约,Agent 进入了「读文件 → 分析 → 再读 → 再分析」的死循环,四十多分钟一个字都没写。
第五章 功能模块与组件清单
先弄清你的 Agent 开了哪些模块——很多默认是关闭的,或需要单独授权。
5.1 基础模块
| 模块 | 作用 | 熟练要点 |
|---|---|---|
| 会话 / 线程管理 | 多任务隔离、续接、分支 | 一个任务一个会话;续接用 resume |
| 文件系统 | 读写工作区文件 | 明确工作目录与可写范围 |
| 终端执行 | 跑命令、脚本、构建、测试 | 要求它贴真实输出,不要只报结论 |
| 代码检索 | grep / 语义搜索 / 读代码库 | 大仓库先"调研"再"动手" |
| 记忆 / 规则 | 长期偏好、项目规范 | 项目级规则文件比每次口头叮嘱可靠 |
5.2 感知与操作模块
| 模块 | 典型能力 | 使用场景 |
|---|---|---|
| 浏览器控制 | 打开网页、点击、填表、截图、读 DOM | 验收网页、抓取信息、自动化填表 |
| 电脑操作 | 模拟键鼠操作原生桌面应用 | 操作本地工具、录屏演示 |
| 可视化 | 对话内生成图表 / 流程图 / 可交互 HTML | 把流程、架构、数据讲清楚 |
| 图像生成 / 编辑 | 文生图、图生图、抠图 | 做素材、示意图 |
| 文档 / 表格 / 幻灯片 / PDF | 读写 Office 三件套与 PDF | 报告、方案、PPT、数据表 |
| 搜索 / 网页检索 | 联网搜索并附来源 | 核实事实、查最新资料 |
| 语音 | 语音对话 | 多任务操作场景 |
给指令时明确指定用哪个模块("打开浏览器"、"生成一张流程图"),比笼统说"帮我看看"有效得多。
5.3 Skill / 插件体系
Skill = 给 Agent 的"说明书 + 流程",让它按标准做法执行特定任务(如"网页验收 Skill""写邮件 Skill")。
熟练标志:知道怎么列出 / 启用技能;需要标准流程时主动调用对应技能,而不是让它自由发挥;技能可随项目沉淀复用。
5.4 实战补充:模块默认是关的
装完不等于能用。 真实踩过的坑:
- 某个客户端的插件工具一个都不启动,根因是它的功能开关默认关闭,全新安装不会自动打开。
- 某个本地插件装好了却没生效,用户连说两次"没变"——最后发现是入口被插在可视区下方 35 像素,根本没滚到。
两条规则:① 装完必须验证工具真能被调用;② 听到"没变"时,先确认有没有看对地方,再怀疑实现。
第六章 Prompt 手册
6.1 结构化 Prompt 骨架
角色:你现在是 <角色>(资深前端工程师 / 独立 QA / 研究助理…)
背景:<相关文件、代码位置、已有调研结果>
任务:<要做什么,一句到三句>
范围:<只改 A/B/C,不改 D>
约束:<语言、编码、禁止事项、性能要求>
验收标准:<可检查清单>
输出:<DONE + 证据 / diff / 报告,格式是什么>
6.2 通用"约束性任务"模板
只修改以下文件:<列表>。不要读取或改动无关内容。
所有文件使用 <编码规范>,不要出现乱码。
完成后先自检:<跑哪些命令>,保证 <console 0 报错 / 无 404 / 测试通过>。
完成时回复 DONE,并附证据清单:命令输出、退出码、截图路径、URL。
6.3 实现类任务模板
请在 <工作区> 实现 <功能>。
背景:<指向现有代码位置与调用关系>。
做法:先读相关文件再动手;用 <语言/框架>;复用现有风格。
边界:不改 <模块/文件>。
验收:<给出可执行验证步骤>。
完成后回复 DONE + 改动文件清单 + 自测证据。
6.4 验证 / 验收类任务模板(给独立验证者)
请独立验收 <改动/页面>,不要采信实现者的口头结论。
执行:桌面 + 移动端截图对比、交互前后帧差、无障碍 / reduced-motion、
console 错误与 404、真实资源加载、键盘焦点可达。
输出:每一项 PASS/FAIL + 可复现证据;不通过就列出复现步骤退回。
6.5 调研类任务模板(防幻觉)
调研 <主题>。要求:区分「已核实事实 / 推断 / 观点」三档,
每个数字追溯原始来源并给链接;找不到就明说"未核实",
禁止把记忆或营销文案当结论。输出:要点 + 来源列表。
6.6 写法进阶技巧
| 技巧 | 说明 |
|---|---|
| 少给形容词,多给可检查条件 | 不说"做好看一点",说"首屏 3 秒内出现标题 + 一个持续运动元素" |
| 一次只让它确认一件事 | 先让它复述你的需求与验收标准,再开始做 |
| 要求展示思考依据 | 让它在关键决策处给出"为什么这么选" |
| 错误恢复指令 | 失败时要求它"贴出真实报错 → 定位根因 → 再修",禁止盲试 |
| 上下文压缩后先复核 | 长任务续接时,先让它重读现状再继续,不要沿用旧结论 |
6.7 反模式对照表
| 别这么说 | 改成 |
|---|---|
| 「帮我做个好看的网站」 | 「主题词是 X,隐喻是 Y,禁用 Z,先只做首屏」 |
| 「优化一下」 | 「把加载时间从 3.2s 降到 2s 以下,用 Lighthouse 验证」 |
| 「检查一下有没有问题」 | 「跑这三个检查:控制台报错、390px 溢出、真实图片加载」 |
| 「你确定吗?」 | 「给出证据等级,并列出你没验证的部分」 |
| 「全部做完告诉我」 | 「先做第 1 步,给我结果,我确认后再做第 2 步」 |
第七章 CLI 通用语义表
不同产品命令名略有差异,但语义高度一致。把这张表映射到任何工具上,都能快速上手。
| 语义 | 常见命令形式 | 干什么 |
|---|---|---|
| 交互会话 | agent | 进入 TUI / 聊天界面 |
| 一次性执行 | agent exec/run "任务" | 非交互跑完一个任务 |
| 续接 | agent resume --last / -c | 继续上一个或指定会话 |
| 分支 | agent fork | 从历史会话派生新线,不污染原任务 |
| 代码审查 | agent review | 审查未提交 / 某分支 / 某 commit |
| 应用补丁 | agent apply | 把 Agent 产生的 diff 应用到工作树 |
| 选模型 | -m <model> | 指定模型(低成本 / 旗舰 / 视觉) |
| 沙箱 | -s read-only / workspace-write / full | 控制它能写哪里、能不能联网 |
| 工作目录 | -C <dir> / --cd | 告诉它工作根目录在哪 |
| 附加图片 | -i <file> | 传截图 / 示意图 |
| 输出结构化 | --json / --output-schema | 让输出可被程序消费 |
| 列出模型 | models | 查看可用模型清单 |
| MCP 管理 | mcp add/list | 挂载外部工具服务 |
| 登录 | login | 配置厂商凭据 |
| 诊断 | doctor / debug | 排查安装 / 配置 / 认证问题 |
拿到任何新 CLI 的第一步:跑 agent --help 和 agent exec --help,把上面这张表映射到它的真实命令名上。
第三部分 · 怎么验
第八章 质量与验收:怎么判断"真的做完了"
8.1 证据分级(自证无效)
| 等级 | 含义 | 允许的表述 |
|---|---|---|
| E1 可复现证据 | 命令输出、退出码、截图文件、URL 响应——别人能重跑复现 | 「已验证:命令 X 退出码 0,输出 Y」 |
| E2 同体系互检 | 另一个 Agent 复核过(附复现步骤) | 「某 Agent 复核通过(附步骤)」 |
| E3 自证 | 实现者自己说"没问题" | 「自证,未独立验证」 |
| E4 待验证 | 还没执行的计划 | 「计划验证:…」 |
验收最低要求 = E1。
三条硬规矩:
- 不能拿 E3 冒充 E1。 把"谁说的"和"什么证据"分开记录。
- 上下文压缩或换会话之后,旧的"已验证"作废,必须先复核再报告。
- 多一个 Agent 看过 ≠ 独立验证。
8.2 通用验收检查单
- [ ] 构建 / 测试通过(贴真实退出码与输出)
- [ ] 功能按验收标准逐条核对(不是"看起来差不多")
- [ ] 边界与回归:异常输入、空状态、断网 / 降级
- [ ] 移动端 / 小屏表现(如适用)
- [ ] 无障碍:键盘可达、reduced-motion
- [ ] console 0 错误、0 资源 404
- [ ] 真实内容已替换(无示例文字 / 占位图 / 假数据)
- [ ] 安全扫描(密钥泄露、注入、依赖漏洞)通过
8.3 先验证量具,再相信结论
这是全篇最省钱的一条。
真实发生过的例子:
| 你以为 | 实际上 |
|---|---|
| 命令行报 TLS 失败,网站有证书问题 | 换一个网络栈复测,5 个网站全部正常——是工具的锅 |
| 检测脚本报 44 个文件被污染 | 假阳性——命令行吃掉了检测式里的特殊字符,真实只有 4 处 |
| 新评分器说这 25 条线索不合格 | 拿 73 条已被判定合格的样本校准,新尺子系统性偏低,不能用来否决 |
| 递归遍历说工作区有 35 万个文件 | 其中有非法命名的目录会让整个统计失败;计数本身不可信 |
| 内存被某个服务吃光了 | 那是"已提交内存",实际工作集只有 24 MB |
| 请求返回 200,所以服务活着 | 返回 200 但内容是空的——上游错误被静默抹平了 |
「问 DOM,而不是问屏幕」;「先证明量具本身对,再去相信它给出的结论」。
这一条还有一个更狠的推论:让失败自己说出原因。
有一类事故的根因不是"某个 bug",而是代理把上游的错误静默吞掉了——上游的 400 / 503 / 连接重置,被统一抹成"HTTP 200 + 空数据"。结果是:连续九次失败,看起来一模一样,被当成同一个"网络抖动",实际原因是好几种。
「9 次失败看起来一样」不等于「9 次失败原因一样」。
把上游错误抹平成一句不可诊断的报错,才是真正被浪费的成本。
修复方向不是"再试一次",而是让失败自己说出原因——状态码、错误体、终止事件,三样都不许吞。
8.4 先证明它会失败,再相信它会通过
新增的检查项如果从来没红过,你不知道它是"真的没问题",还是"根本不会报警"。
做法:新加的每一条检查,都要先用一个故意做坏的样本证明它确实会触发,然后才允许它给通过。
一个永远亮绿灯的警报器,和一盏坏掉的灯没有区别。
8.5 安全门禁(正式交付前)
让独立扫描工具或验证 Agent 检查:密钥是否泄露、是否存在注入 / XSS、危险 API、依赖漏洞。
高危项必须修复并复扫通过后才能交付;中低危记录处置决定。
三条容易踩的坑:
- 工具自带的默认模型可能是最贵的一档。 实测同一份请求的预扣费能差 25 倍——照抄默认 = 持续烧钱。
- 报告文件存在 ≠ 扫描通过。 必须有退出码与复扫结论。
- 最危险的失效是"把发现读成 0 然后输出 PASS"。 曾有一次扫描实际跑出 3 条发现(含 1 条严重级),但脚本读错了产物字段(把对象当成了字符串),统计成 0 条 → 结论 PASS。
任何一次 PASS,都必须能被独立复算出来。
门禁结论的退出码语义必须严格区分:
| 退出码 | 含义 |
|---|---|
| 0 | 通过 |
| 1 | 有发现(真实结论,绝不重试) |
| 2 | 传输受阻,无结论 |
| 3 | 预检失败,没开跑 |
报"门禁失败"时,必须区分四件事:余额不足 / 工具故障 / 真实问题 / 通过。
前两者绝不可互相冒充,也绝不可冒充"通过"。
第九章 协作中的安全边界
① 凭据永不进 prompt / 文件 / 日志。 API key、token 只在环境变量或受管凭据里,并明示 Agent 禁止打印。
真实教训:脚本里只对输出做了遮蔽,没有对回显的命令行做遮蔽,结果 key 被完整明文打进了会话记录。
遮蔽必须先作用于「即将回显 / 落盘的整行」。
② 最小权限。 能用只读就不用可写;能用 workspace-write 就不用全盘。
③ 不可逆动作 = 人工闸门。 部署、发布、外联、删数据,必须由你确认后再执行,并在记录里留痕。
而且:授权过一次 ≠ 以后都授权。 换发件身份、换渠道、超出既定报价的谈判,都要重新确认。
④ 演练必须真的演练。 真实事故:为验证流程而在演练目录跑投递脚本,忘记加"只探测不发送"的参数,而发送脚本里的根目录是写死的真实目录 → 真的发出了 2 封信。
做法:演练环境的发送入口硬锁探测模式,不要依赖操作者记得加参数。
⑤ 外链与媒体要核源。 涉及外部图片 / 视频 / 字体 / 第三方库时,明确来源与授权。
⑥ AI 生成 ≠ 事实。 产品图、人物、建筑等客户可见内容必须真实或已授权。AI 图冒充真实产品是一票否决。
第四部分 · 怎么不重蹈覆辙
第十章 常见失败模式速查
按「现象 → 根因 → 规则」组织。每一条都是真实发生过的。
| # | 现象 | 根因 | 规则 |
|---|---|---|---|
| 1 | 一段时间的会话全部丢失 | 没写日志文件 | 记忆外置;重要结论当天写进长期记忆 |
| 2 | 装好的程序在别人机器上闪退 | 批处理文件换行符不兼容(只有 LF) | Windows 打包用 UTF-8 无 BOM + CRLF,真机冒烟 |
| 3 | "接口验证通过"其实是错误页 | 请求了不存在的端点,把 HTML 当成功 | 检查响应内容,不只看状态码 |
| 4 | 十几个页面被批量脚本改烂 | 子代理批量改已有文件 | 已有成果只做最小差异编辑,改前必备份 |
| 5 | Agent 空转几十分钟不干活 | 没有明确契约,陷入"读-分析-再读"循环 | 先要方案,确认后再执行;任务卡写死验收命令 |
| 6 | 换模型后旧对话"消失" | 客户端把会话绑定到服务商地址 | 换配置前先备份,换完新开会话 |
| 7 | 插件工具一个都调不起来 | 功能开关默认关闭 | 装完先验证工具真能调用 |
| 8 | 弹窗连续多次没修对 | CSS 的 flex 覆盖了 HTML 的 hidden 属性 | 验证可见性要查计算样式,不是查属性 |
| 9 | 安全扫描连续失败 | 多种原因被抹成同一个报错 | 让失败自己说出原因;把"跑不了"和"有问题"严格分开 |
| 10 | 工具报了 PASS,其实有严重问题 | 读错产物字段,3 条发现统计成 0 | PASS 必须能被独立复算 |
| 11 | 参数调了好几轮毫无变化 | 决定性的那个数值在可见范围内恒为 0 | 找决定性数值,别拿间接指标反复猜 |
| 12 | 连续几轮复测读的是旧文件 | 构建输出被过滤,看不清失败 | 构建不过滤输出、看退出码、校验产物 |
| 13 | 一批计划任务静默不跑 | 电源策略"使用电池时不启动" | 检查计划任务的电源条件 |
| 14 | 一批自动回信漏了关键内容 | 只检查了首封信模板,没检查跟进模板 | 闸门覆盖不全等于没有闸门 |
| 15 | 系统整体卡顿 | 一个以点号结尾的目录名打崩了整树搜索 | 先查非法路径名,再查磁盘体积 |
| 16 | 会话用着用着整段报废 | 服务端内容审核拦了历史消息 | 新开会话;别重试、别换模型 |
| 17 | 用户连说两次"没变",其实早变了 | 新入口被插在可视区下方 35 像素 | 说"没变"时先确认有没有看对地方 |
| 18 | 编排脚本"成功"但结果是旧的 | 失败后回退去读磁盘上"最新的"旧产物 | 禁止任何 stale 回退;失败就失败 |
| 19 | 内存被"吃光",系统变慢 | 是"已提交内存",头号占用者其实是空闲服务 | 分清提交内存与工作集;空闲服务按需启动 |
| 20 | 规则改了却不生效 | 只改了文档,代码里的硬编码路由没动 | 删角色/改规则先做影响面普查,代码层最易漏 |
从这张表里能提炼出三条通则:
- 写下来的规则会被忘记,自动跑的门禁不会。 有三类错误各自独立复发过至少 3 次(编码问题、假成功、批量脚本破坏既有成果)——说明光写下来不够,必须落到门禁。
- 每一次翻车,都要变成一条不会再犯的规则。 这是复利最高的动作。
- 先怀疑量具,再怀疑世界。
第十一章 从入门到熟练:练习路线
阶段 1 · 会对话
- 跑通交互会话与一次非交互执行。
- 学会把文件路径、截图、链接喂给它。
- 让它做完就贴证据,养成"看证据"的习惯。
阶段 2 · 会派活
- 用六要素写一个任务,交出去,再独立验收。
- 体验"先做最小一版 → 核验 → 扩展"的节奏,感受返工率下降。
- 开始写每日日志。
阶段 3 · 会协作
- 搭一个小型流水线:你当协调者,派实现者 + 验证者两个角色,用交接单接力。
- 故意让验证者独立挑实现者的毛病,训练"不采信自证"。
- 建立证据分级习惯:每次汇报都问"这是 E 几?"
阶段 4 · 会用全模块
- 逐个点亮浏览器控制、电脑操作、可视化、图像、Office/PDF 模块,各做一次小任务。
- 建立自己的模板库:任务模板、验收模板、调研模板,存成可复用的 Skill / 规则文件。
- 开始做成本路由:按任务难度分配模型,记录每次花费。
阶段 5 · 会建工厂(可选,进阶)
- 把重复流程固化成脚本:把"每次都解释一遍"变成"跑一条命令"。
- 建立不变量检查套件:一次跑完,给一条判决。
- 给每个流程配一个"会失败的证明":新检查先用坏样本验证会触发。
附录 A · 成本与模型路由
| 任务 | 用什么 |
|---|---|
| 日常对话、拆需求、写文档 | 便宜模型 |
| 写代码、改文件 | 中档模型 |
| 疑难故障、架构、对抗性复核 | 贵模型(只在必要时) |
| 批量脚本、扫描、回归 | 便宜模型 + 定向范围 |
四条实践:
- 先看价目表再选模型。 同一服务商的模型价差可达 25 倍。
- 先跑一个几十秒的预检,再决定要不要跑一整轮。
- 按请求体大小计费的服务,大请求更容易因余额不足而失败——表现为"刚才能用,现在又不行"。这时先怀疑余额,别怀疑代码。
- 记录每次花费。 没有这张表,你会在不知不觉中烧掉很多钱。
附录 B · 四条金句(贴在手边)
① 指令模糊 → 结果随机;验收缺失 → 它总是告诉你"完成"。
② 你怎么证明?——给不出命令输出、退出码、截图或哈希,那就是没完成。
③ 先证明量具本身对,再去相信它给出的结论。
④ 先证明它会失败,再相信它会通过。
最后一句
用明白 AI Agent,不是学会问它更多问题。
是学会把一件事说清楚、把结果验明白、把经验存下来。
这三件事,Agent 替不了你。
但它们一旦建立起来,Agent 就能替你干几乎所有的活。