<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ai on Tao</title><link>https://743v45.github.io/di4urp/tags/ai/</link><description>Recent content in Ai on Tao</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><managingEditor>di4urp@gmail.com (taevas)</managingEditor><webMaster>di4urp@gmail.com (taevas)</webMaster><lastBuildDate>Tue, 21 Apr 2026 11:00:00 +0800</lastBuildDate><atom:link href="https://743v45.github.io/di4urp/tags/ai/index.xml" rel="self" type="application/rss+xml"/><item><title>AI 辅助前端开发：从踩坑到改进的实战手册</title><link>https://743v45.github.io/di4urp/posts/ai-frontend-development-pitfalls-and-solutions/</link><pubDate>Tue, 21 Apr 2026 11:00:00 +0800</pubDate><author>di4urp@gmail.com (taevas)</author><guid>https://743v45.github.io/di4urp/posts/ai-frontend-development-pitfalls-and-solutions/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;我用 Claude Code 开发了一个前端项目（Skill Collect System），前后经历了 8 个 session、数十万字的对话。事后我回溯了所有 session 记录，发现了一个令人不安的事实：&lt;strong&gt;我严格遵循了 brainstorm → design → implement 的标准流程，但产出质量仍然反复翻车。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇文章是对整个过程的复盘——问题出在哪、为什么出、怎么改。希望对同样使用 AI 辅助开发的人有参考价值。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="一我遵循的标准流程"&gt;一、我遵循的&amp;quot;标准流程&amp;quot;&lt;/h2&gt;
&lt;p&gt;我的工作流看起来很规范：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/sc:brainstorm → 需求探索和澄清
/sc:design → 输出设计方案文档
/sc:implement → 按设计实现功能
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;AI 在每个阶段都声称&amp;quot;设计完美&amp;quot;、&amp;ldquo;方案完整&amp;rdquo;。我按 AI 建议的顺序走完了全流程，然后打开浏览器——页面报错了。&lt;/p&gt;
&lt;p&gt;这不是一次两次。&lt;strong&gt;8 个 session 中，有 6 个出现了实现后返工的情况。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="二问题诊断ai-的设计是表演性的"&gt;二、问题诊断：AI 的设计是表演性的&lt;/h2&gt;
&lt;h3 id="核心发现"&gt;核心发现&lt;/h3&gt;
&lt;p&gt;回溯 session 记录后，我发现了一个关键数据点：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Session&lt;/th&gt;
&lt;th&gt;设计阶段耗时&lt;/th&gt;
&lt;th&gt;返工率&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;最早的 session&lt;/td&gt;
&lt;td&gt;~20 分钟，多轮确认&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;其他 5 个 session&lt;/td&gt;
&lt;td&gt;0-2 分钟，直接&amp;quot;实施&amp;quot;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;35%-60%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;唯一零返工的 session 恰恰是设计阶段最充分的那次。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="ai-在设计阶段的两个致命缺陷"&gt;AI 在设计阶段的两个致命缺陷&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;缺陷 1：不验证假设就下结论&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;AI 设计了 &lt;code&gt;updatedAt&lt;/code&gt; 字段展示，但根本没读后端代码确认字段存在。实际后端用的是 &lt;code&gt;discoveredAt&lt;/code&gt;。实现后页面上全是 &lt;code&gt;Invalid Date&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;一个简单的设计阶段验证：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;读后端 types/skill.types.ts → 发现字段是 discoveredAt → 设计文档用正确的字段
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;AI 实际做的：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;假设字段叫 updatedAt → 写进设计文档 → 声称&amp;#34;设计完美&amp;#34; → 实现后翻车
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;缺陷 2：用文档模板替代真实思考&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;AI 擅长输出&amp;quot;看起来完整&amp;quot;的文档——有目录、有表格、有验收清单。但这是&lt;strong&gt;格式&lt;/strong&gt;不是&lt;strong&gt;质量&lt;/strong&gt;。一个设计文档 1 分钟就出来了，真正能用的设计不可能 1 分钟完成。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="三5-大问题模式"&gt;三、5 大问题模式&lt;/h2&gt;
&lt;h3 id="问题-1设计确认走过场"&gt;问题 1：设计确认走过场&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;表现&lt;/strong&gt;：设计文档出来后，用户直接说&amp;quot;实施&amp;quot;，没有审阅环节。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;根因&lt;/strong&gt;：AI 声称设计完美，用户信任了这个判断。但 AI 的&amp;quot;完美&amp;quot;基于假设，不是基于对现有代码的验证。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;代价&lt;/strong&gt;：一个 session 中 &lt;code&gt;layout.tsx&lt;/code&gt; 被反复编辑了 &lt;strong&gt;16 次&lt;/strong&gt;，只为修复一个 CSS 居中问题，耗时 &lt;strong&gt;3 小时&lt;/strong&gt;。这个问题的根因（滚动条宽度影响布局）在设计阶段完全没有被考虑。&lt;/p&gt;
&lt;h3 id="问题-2完成标准太松"&gt;问题 2：&amp;ldquo;完成&amp;quot;标准太松&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;表现&lt;/strong&gt;：AI 以&amp;quot;编译通过&amp;quot;为完成标准，不是&amp;quot;功能可用&amp;rdquo;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;实际记录&lt;/strong&gt;：一个 session 中 AI 声称&amp;quot;交付完成&amp;quot;了 &lt;strong&gt;6 次&lt;/strong&gt;，每次用户打开页面都有问题。用户原话：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;每次你说完成了，我打开页面又是报错的&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;根因&lt;/strong&gt;：AI 没有真正启动服务验证功能，而是做了静态代码分析就宣布完成。&lt;/p&gt;
&lt;h3 id="问题-3ralph-loop-吃掉了确认环节"&gt;问题 3：Ralph Loop 吃掉了确认环节&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;表现&lt;/strong&gt;：使用自动化循环（Ralph Loop）后，AI 在没有人工确认的情况下反复&amp;quot;完成→失败→重来&amp;quot;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;根因&lt;/strong&gt;：自动化循环缺少检查点。8 个 Agent 并发冲出去写代码，但没有人检查方向对不对。&lt;/p&gt;
&lt;h3 id="问题-4前后端并发缺少接口契约"&gt;问题 4：前后端并发缺少接口契约&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;表现&lt;/strong&gt;：AI 同时写前后端，但类型定义、API 参数、端口配置各自为政。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;实际案例&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;前端用 &lt;code&gt;search&lt;/code&gt; 参数，后端期望 &lt;code&gt;q&lt;/code&gt; 参数&lt;/li&gt;
&lt;li&gt;前端类型定义的必填字段，后端根本不返回&lt;/li&gt;
&lt;li&gt;AI 擅自把端口从 3001 改成 3002，未经用户同意&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="问题-5调试过程混乱"&gt;问题 5：调试过程混乱&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;表现&lt;/strong&gt;：AI 在调试时创建了 13 个临时 Playwright 测试文件（&lt;code&gt;quick-audit.spec.ts&lt;/code&gt;、&lt;code&gt;debug-page.spec.ts&lt;/code&gt;、&lt;code&gt;check-404.spec.ts&lt;/code&gt;），命名随意，和正式测试混在一起。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;根因&lt;/strong&gt;：AI 缺乏组织性，把调试产物和项目代码混在一起。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="四改进方案"&gt;四、改进方案&lt;/h2&gt;
&lt;h3 id="方案-1设计验证检查点最关键"&gt;方案 1：设计验证检查点（最关键）&lt;/h3&gt;
&lt;p&gt;在 design 完成后、implement 之前，增加一个强制验证步骤：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;提示词模板：
&amp;#34;验证你的设计方案：
1. 列出设计中假设存在的所有接口、字段、组件
2. 逐个到代码里确认它们确实存在
3. 有不一致的地方先修正设计
4. 完成验证后再等我的确认&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;不要说&amp;quot;实施&amp;quot;，要等 AI 验证完设计后再确认。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="方案-2重新定义完成标准"&gt;方案 2：重新定义&amp;quot;完成&amp;quot;标准&lt;/h3&gt;
&lt;p&gt;在 CLAUDE.md 中写入：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## 完成标准（不可跳过）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; 必须启动开发服务器
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; 必须用浏览器打开页面验证功能
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; 浏览器控制台无报错
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;4.&lt;/span&gt; 所有验收标准逐项通过
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;5.&lt;/span&gt; 以上全部满足后才能声称&amp;#34;完成&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="方案-3为-brainstormdesign-增加约束"&gt;方案 3：为 brainstorm/design 增加约束&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## 设计阶段强制规则
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; 设计文档必须引用现有代码的实际情况（不是假设）
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; 前端设计必须对齐后端 API 返回格式（逐字段确认）
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; 设计文档必须包含&amp;#34;影响文件清单&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;4.&lt;/span&gt; 未收到用户明确确认前，禁止写任何代码
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="方案-4谨慎使用自动化循环"&gt;方案 4：谨慎使用自动化循环&lt;/h3&gt;
&lt;p&gt;Ralph Loop 适合重复性任务（批量测试、批量审查），&lt;strong&gt;不适合需要判断力的任务&lt;/strong&gt;（设计确认、需求澄清）。&lt;/p&gt;
&lt;p&gt;使用自动化循环时，每轮结束时应该暂停报告进度，等待人工确认。&lt;/p&gt;
&lt;h3 id="方案-5检查设计文档质量的快速方法"&gt;方案 5：检查设计文档质量的快速方法&lt;/h3&gt;
&lt;p&gt;确认设计前，问自己一个问题：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;设计文档里有没有提到现有代码的实际情况？&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果设计文档只描述&amp;quot;要做什么&amp;quot;，没有描述&amp;quot;现有代码是什么样的、需要改哪些文件、字段是否对齐&amp;quot;——那这个设计就是空的，不要说&amp;quot;实施&amp;quot;。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="五一句话总结"&gt;五、一句话总结&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;AI 的设计不验证就不可信。你需要的不是更多流程，而是在&amp;quot;设计完成&amp;quot;和&amp;quot;开始实施&amp;quot;之间，加一个验证检查点。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;流程应该是：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;brainstorm → design → 验证设计（AI 自己到代码里确认假设）→ 人工确认 → implement
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;而不是：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;brainstorm → design（声称完美）→ 直接 implement（翻车）
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="附录数据来源"&gt;附录：数据来源&lt;/h2&gt;
&lt;p&gt;本文基于对 Skill Collect System 项目的 8 个 Claude Code session 记录的分析：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Session&lt;/th&gt;
&lt;th&gt;大小&lt;/th&gt;
&lt;th&gt;时长&lt;/th&gt;
&lt;th&gt;主要工作&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;e707e589&lt;/td&gt;
&lt;td&gt;10.4MB&lt;/td&gt;
&lt;td&gt;~25h&lt;/td&gt;
&lt;td&gt;Ralph Loop 自动化实施（最大翻车现场）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ecc16ec3&lt;/td&gt;
&lt;td&gt;3.6MB&lt;/td&gt;
&lt;td&gt;~5h&lt;/td&gt;
&lt;td&gt;UI 改进 + 居中问题 16 次修补&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;49b7ac2a&lt;/td&gt;
&lt;td&gt;2.4MB&lt;/td&gt;
&lt;td&gt;~6h&lt;/td&gt;
&lt;td&gt;目录元数据 + 失踪检测&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;e8ae553a&lt;/td&gt;
&lt;td&gt;1.1MB&lt;/td&gt;
&lt;td&gt;~1h&lt;/td&gt;
&lt;td&gt;折叠功能（跳过设计，35% 返工）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;a9263df2&lt;/td&gt;
&lt;td&gt;304KB&lt;/td&gt;
&lt;td&gt;~41min&lt;/td&gt;
&lt;td&gt;项目初始设计（唯一零返工）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>提示词优化迭代系统：多 Agent 协作的设计链路</title><link>https://743v45.github.io/di4urp/posts/prompt-optimization-iteration-system/</link><pubDate>Wed, 15 Apr 2026 20:17:10 +0800</pubDate><author>di4urp@gmail.com (taevas)</author><guid>https://743v45.github.io/di4urp/posts/prompt-optimization-iteration-system/</guid><description>&lt;h2 id="系统概述"&gt;系统概述&lt;/h2&gt;
&lt;p&gt;这是一个基于多 Agent 协作的提示词自动优化系统，通过迭代对比生成结果与参考标准，持续改进提示词质量，直至达到预设的一致性阈值。&lt;/p&gt;
&lt;h3 id="核心流程图"&gt;核心流程图&lt;/h3&gt;
&lt;div class="mermaid"&gt;flowchart TD
Start([开始]) --&gt; A[主 Agent: 准备初始提示词]
A --&gt; B[启动 Subagent 1&lt;br/&gt;任务: 使用提示词分析目标网站]
B --&gt; C{Subagent 1 生成文档}
C --&gt; D[输出: test/DESIGN.md]
D --&gt; E[主 Agent: 初步审查结果]
E --&gt; F[启动 Subagent 2&lt;br/&gt;任务: 对比两个 DESIGN.md]
F --&gt; G[Subagent 2 执行对比]
G --&gt; H{读取参考文档}
H --&gt; I[collections/nike/DESIGN.md&lt;br/&gt;（参考标准）]
G --&gt; J{读取测试文档}
J --&gt; K[test/DESIGN.md&lt;br/&gt;（待评估）]
I &amp; K --&gt; L[Subagent 2: 一致性分析]
L --&gt; M[生成评估报告]
M --&gt; N[输出: 一致性打分]
M --&gt; O[输出: 修改建议]
N --&gt; P{一致性评分}
P --&gt;|满意| Done([完成 - 迭代结束])
P --&gt;|需改进| Q[主 Agent: 根据建议优化提示词]
O --&gt; Q
Q --&gt; R[记录提示词版本]
R --&gt; S[版本历史库&lt;br/&gt;V1, V2, V3...]
S --&gt; B
style Start fill:#e1f5e1
style Done fill:#ffe1e1
style B fill:#e3f2fd
style F fill:#e3f2fd
style L fill:#fff3e0
style Q fill:#f3e5f5
style S fill:#fce4ec
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="核心设计链路"&gt;核心设计链路&lt;/h2&gt;
&lt;h3 id="第一阶段初始化"&gt;第一阶段：初始化&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;角色：&lt;/strong&gt; 主 Agent&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;任务：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;加载初始提示词模板&lt;/li&gt;
&lt;li&gt;配置目标网站 URL：&lt;code&gt;https://www.nike.com/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;设置参考标准文档路径：&lt;code&gt;collections/nike/DESIGN.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;初始化版本历史库（空）&lt;/li&gt;
&lt;li&gt;设置一致性评分阈值（建议：85/100）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;输出：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;初始提示词 V0&lt;/li&gt;
&lt;li&gt;迭代计数器 = 0&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="第二阶段生成循环迭代核心"&gt;第二阶段：生成循环（迭代核心）&lt;/h3&gt;
&lt;h4 id="步骤-21启动生成-subagent"&gt;步骤 2.1：启动生成 Subagent&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;角色：&lt;/strong&gt; Subagent 1&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;任务：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;接收当前版本的提示词&lt;/li&gt;
&lt;li&gt;访问目标网站 &lt;code&gt;https://www.nike.com/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;使用提示词分析网站内容&lt;/li&gt;
&lt;li&gt;生成品牌设计文档&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;输出：&lt;/strong&gt; &lt;code&gt;test/DESIGN.md&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;关键技术点：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;网站内容抓取与解析&lt;/li&gt;
&lt;li&gt;基于提示词的结构化生成&lt;/li&gt;
&lt;li&gt;Markdown 格式输出&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4 id="步骤-22主-agent-初步审查"&gt;步骤 2.2：主 Agent 初步审查&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;角色：&lt;/strong&gt; 主 Agent&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;任务：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;读取 &lt;code&gt;test/DESIGN.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;检查文档完整性（必需章节：品牌概述、设计规范、视觉元素等）&lt;/li&gt;
&lt;li&gt;快速格式验证&lt;/li&gt;
&lt;li&gt;记录迭代元数据（时间戳、提示词版本）&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h4 id="步骤-23启动对比-subagent"&gt;步骤 2.3：启动对比 Subagent&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;角色：&lt;/strong&gt; Subagent 2&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;任务：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;读取参考文档：&lt;code&gt;collections/nike/DESIGN.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;读取测试文档：&lt;code&gt;test/DESIGN.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;执行深度一致性分析&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;分析维度：&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;权重&lt;/th&gt;
&lt;th&gt;评估内容&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;结构完整性&lt;/td&gt;
&lt;td&gt;20%&lt;/td&gt;
&lt;td&gt;章节覆盖、层级结构&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;内容准确性&lt;/td&gt;
&lt;td&gt;30%&lt;/td&gt;
&lt;td&gt;品牌信息、设计规范的准确性&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;细节丰富度&lt;/td&gt;
&lt;td&gt;20%&lt;/td&gt;
&lt;td&gt;颜色、字体、间距等细节&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;格式规范性&lt;/td&gt;
&lt;td&gt;15%&lt;/td&gt;
&lt;td&gt;Markdown 语法、代码块格式&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;语言表达&lt;/td&gt;
&lt;td&gt;15%&lt;/td&gt;
&lt;td&gt;专业术语使用、表述清晰度&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;输出：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一致性打分（0-100）&lt;/li&gt;
&lt;li&gt;详细评估报告（逐维度打分）&lt;/li&gt;
&lt;li&gt;具体修改建议列表&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4 id="步骤-24迭代决策"&gt;步骤 2.4：迭代决策&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;角色：&lt;/strong&gt; 主 Agent&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;决策逻辑：&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;if 一致性打分 &amp;gt;= 阈值:
输出最优提示词
生成最终报告
终止迭代
else:
进入优化阶段
返回步骤 2.1
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h4 id="步骤-25优化提示词"&gt;步骤 2.5：优化提示词&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;角色：&lt;/strong&gt; 主 Agent&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;任务：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;解析 Subagent 2 的修改建议&lt;/li&gt;
&lt;li&gt;识别低分维度对应的提示词问题&lt;/li&gt;
&lt;li&gt;生成优化策略&lt;/li&gt;
&lt;li&gt;更新提示词&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;优化策略示例：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;结构完整性低分&lt;/strong&gt; → 补充&amp;quot;必须包含以下章节&amp;quot;指令&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;内容准确性低分&lt;/strong&gt; → 增加&amp;quot;请核对以下关键信息&amp;quot;指令&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;细节丰富度低分&lt;/strong&gt; → 添加&amp;quot;请详细描述每个设计元素&amp;quot;指令&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;格式规范性低分&lt;/strong&gt; → 强化 Markdown 格式要求&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;语言表达低分&lt;/strong&gt; → 提供专业术语示例&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4 id="步骤-26版本管理"&gt;步骤 2.6：版本管理&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;角色：&lt;/strong&gt; 系统&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;任务：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;迭代计数器 += 1&lt;/li&gt;
&lt;li&gt;将优化后的提示词保存为 &lt;code&gt;V{计数器}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;记录到版本历史库&lt;/li&gt;
&lt;li&gt;生成对比报告（V{n-1} vs V{n}）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;版本记录格式：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;version&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;V3&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;timestamp&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;2024-04-15T20:30:00Z&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;prompt_content&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;...&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;test_score&amp;#34;&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;72&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;changes&amp;#34;&lt;/span&gt;: [&lt;span style="color:#e6db74"&gt;&amp;#34;补充了颜色系统章节要求&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;增加了间距规范说明&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;diff_from_previous&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h3 id="第三阶段收敛输出"&gt;第三阶段：收敛输出&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;当一致性评分达到阈值时：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;输出内容：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;最优提示词版本&lt;/li&gt;
&lt;li&gt;最终一致性打分报告&lt;/li&gt;
&lt;li&gt;完整迭代历史&lt;/li&gt;
&lt;li&gt;优化趋势图&lt;/li&gt;
&lt;li&gt;效果对比表格（V0 vs V最优）&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="可优化点"&gt;可优化点&lt;/h2&gt;
&lt;h3 id="1-评估维度权重动态调整"&gt;1. 评估维度权重动态调整&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;当前问题：&lt;/strong&gt; 固定权重可能无法适配不同类型的网站和文档&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;优化方案：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;根据参考文档的特征自动调整权重&lt;/li&gt;
&lt;li&gt;例如：电商网站侧重&amp;quot;内容准确性&amp;quot;，设计网站侧重&amp;quot;细节丰富度&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-并行化多个测试网站"&gt;2. 并行化多个测试网站&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;当前问题：&lt;/strong&gt; 只在 Nike 网站上测试，泛化能力未知&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;优化方案：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;同时在多个同类网站（Adidas、Puma、Under Armour）测试&lt;/li&gt;
&lt;li&gt;使用平均分评估提示词的泛化性&lt;/li&gt;
&lt;li&gt;只有多网站都达标才算收敛&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-增量式生成"&gt;3. 增量式生成&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;当前问题：&lt;/strong&gt; 每次都是全量生成，浪费计算资源&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;优化方案：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Subagent 2 识别低分章节&lt;/li&gt;
&lt;li&gt;下一轮迭代只生成需要改进的章节&lt;/li&gt;
&lt;li&gt;其他章节复用上一轮结果&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-自动阈值调整"&gt;4. 自动阈值调整&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;当前问题：&lt;/strong&gt; 固定阈值可能导致过度优化或收敛困难&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;优化方案：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;初始阈值设低（如 60 分）&lt;/li&gt;
&lt;li&gt;每轮迭代根据改进幅度动态调整&lt;/li&gt;
&lt;li&gt;连续 3 轮改进 &amp;lt; 2 分时自动降低阈值要求&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="5-提示词模板库"&gt;5. 提示词模板库&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;当前问题：&lt;/strong&gt; 每次从零开始优化，效率低&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;优化方案：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;预置针对不同网站类型的提示词模板库&lt;/li&gt;
&lt;li&gt;根据网站特征自动选择最接近的初始模板&lt;/li&gt;
&lt;li&gt;减少迭代轮次&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="问题点"&gt;问题点&lt;/h2&gt;
&lt;h3 id="1-幻觉风险"&gt;1. 幻觉风险&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;问题描述：&lt;/strong&gt; Subagent 1 可能生成网站上不存在的信息&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决方案：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在提示词中强调&amp;quot;只生成网站明确展示的信息&amp;quot;&lt;/li&gt;
&lt;li&gt;引入事实核查 Subagent&lt;/li&gt;
&lt;li&gt;对生成的关键信息进行交叉验证&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-迭代发散"&gt;2. 迭代发散&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;问题描述：&lt;/strong&gt; 可能出现提示词越来越复杂但效果反而下降&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决方案：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;限制最大迭代次数（如 20 轮）&lt;/li&gt;
&lt;li&gt;记录历史最优解，发现退化时回滚&lt;/li&gt;
&lt;li&gt;引入提示词复杂度惩罚机制&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-收敛过慢"&gt;3. 收敛过慢&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;问题描述：&lt;/strong&gt; 某些情况下需要几十轮迭代才能收敛&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决方案：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;引入早停机制（early stopping）&lt;/li&gt;
&lt;li&gt;连续 5 轮无显著改进时终止&lt;/li&gt;
&lt;li&gt;分析卡点并人工干预&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-参考文档偏差"&gt;4. 参考文档偏差&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;问题描述：&lt;/strong&gt; &lt;code&gt;collections/nike/DESIGN.md&lt;/code&gt; 本身可能存在主观性或错误&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决方案：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用多个专家标注的参考文档&lt;/li&gt;
&lt;li&gt;计算参考文档之间的共识&lt;/li&gt;
&lt;li&gt;只对比高共识部分&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="5-网站内容变化"&gt;5. 网站内容变化&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;问题描述：&lt;/strong&gt; Nike 网站可能在迭代期间更新，导致对比失效&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决方案：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;每轮迭代缓存网站快照&lt;/li&gt;
&lt;li&gt;所有 Subagent 使用同一快照&lt;/li&gt;
&lt;li&gt;或明确标注网站访问时间戳&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="补充扩展点"&gt;补充扩展点&lt;/h2&gt;
&lt;h3 id="6-负样本对比机制"&gt;6. 负样本对比机制&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;设计思路：&lt;/strong&gt;
除了与参考文档对比，还引入负样本测试：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;故意使用&amp;quot;反例提示词&amp;quot;生成文档&lt;/li&gt;
&lt;li&gt;评估系统应能识别出明显的错误&lt;/li&gt;
&lt;li&gt;验证评估系统的鲁棒性&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;实现方式：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 在迭代过程中随机插入负样本测试&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; iteration &lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; negative_prompt &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;请生成一个完全错误的 Nike 设计文档&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; negative_result &lt;span style="color:#f92672"&gt;=&lt;/span&gt; generate(negative_prompt)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; negative_score &lt;span style="color:#f92672"&gt;=&lt;/span&gt; evaluate(negative_result)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;assert&lt;/span&gt; negative_score &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;30&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;评估系统无法识别负样本&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="7-ab-测试框架"&gt;7. A/B 测试框架&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;设计思路：&lt;/strong&gt;
对于每个优化点，同时尝试多个策略，选择效果最好的：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;示例：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;优化&amp;quot;细节丰富度&amp;quot;时，同时测试：
&lt;ul&gt;
&lt;li&gt;策略 A：&amp;ldquo;请详细描述每个设计元素&amp;rdquo;&lt;/li&gt;
&lt;li&gt;策略 B：&amp;ldquo;补充每个元素的 RGB 值、使用场景和设计意图&amp;rdquo;&lt;/li&gt;
&lt;li&gt;策略 C：提供具体的颜色、字体示例模板&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;使用多 Agent 并行测试&lt;/li&gt;
&lt;li&gt;选择得分最高的策略&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="8-可解释性增强"&gt;8. 可解释性增强&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;设计思路：&lt;/strong&gt;
为每次迭代增加&amp;quot;推理链路&amp;quot;记录，让优化过程更透明：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;记录内容：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## 迭代 V3 决策记录
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;### 问题诊断
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 当前得分：72/100
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 主要短板：细节丰富度（45%）、格式规范性（58%）
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;### 优化推理
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; 细节不足分析：
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 颜色系统缺少 RGB 值
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 字体规范缺少 line-height、letter-spacing
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 间距单位混用（px、rem、em）
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; 格式问题分析：
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 表格缺少对齐声明
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 代码块语言标注不一致
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 链接使用相对路径而非绝对路径
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;### 优化策略
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 在提示词中添加&amp;#34;颜色系统必须包含 RGB 值&amp;#34;的显式指令
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 增加格式规范示例代码块
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 要求统一使用 rem 单位
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;### 预期效果
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 细节丰富度提升至 65%
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 格式规范性提升至 80%
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 综合得分预期：78/100
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="实施建议"&gt;实施建议&lt;/h2&gt;
&lt;h3 id="优先级排序"&gt;优先级排序&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;P0（必须）：&lt;/strong&gt; 解决幻觉风险、迭代发散&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;P1（重要）：&lt;/strong&gt; 评估维度动态调整、并行多网站测试&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;P2（优化）：&lt;/strong&gt; 增量式生成、A/B 测试、可解释性增强&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="技术栈推荐"&gt;技术栈推荐&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Agent 编排：&lt;/strong&gt; Claude Agent SDK 或自定义框架&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网站抓取：&lt;/strong&gt; Playwright 或 Puppeteer（支持动态内容）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;对比评估：&lt;/strong&gt; 结构化 diff + LLM 辅助&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;版本管理：&lt;/strong&gt; Git + 自定义元数据存储&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="成功指标"&gt;成功指标&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;指标&lt;/th&gt;
&lt;th&gt;目标值&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;最终一致性评分&lt;/td&gt;
&lt;td&gt;≥ 85&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;平均迭代轮次&lt;/td&gt;
&lt;td&gt;≤ 10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;单次迭代耗时&lt;/td&gt;
&lt;td&gt;≤ 2 分钟&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;提示词长度增长率&lt;/td&gt;
&lt;td&gt;≤ 50%（避免膨胀）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;泛化测试通过率&lt;/td&gt;
&lt;td&gt;≥ 80%（在同类网站上）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;这个提示词优化迭代系统通过多 Agent 协作形成了一个闭环反馈机制：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;闭环路径：&lt;/strong&gt; 版本库 → Subagent 1 → 生成文档 → Subagent 2 → 评估打分 → 优化提示词 → 版本库&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;核心价值：&lt;/strong&gt; 将人工优化提示词的经验转化为可自动执行的迭代流程&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;扩展潜力：&lt;/strong&gt; 可应用于各类需要高质量结构化输出的场景&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;关键在于设计好评估维度和优化策略，让每次迭代都有明确的改进方向。&lt;/p&gt;</description></item><item><title>Agent 可观测性设计：从一次 Slack 网关故障排查中学到的</title><link>https://743v45.github.io/di4urp/posts/agent-observability-design/</link><pubDate>Tue, 24 Mar 2026 14:06:42 +0800</pubDate><author>di4urp@gmail.com (taevas)</author><guid>https://743v45.github.io/di4urp/posts/agent-observability-design/</guid><description>&lt;h2 id="引言"&gt;引言&lt;/h2&gt;
&lt;p&gt;OpenAI 在 &lt;a href="https://openai.com/zh-Hans-CN/index/harness-engineering/"&gt;Harness Engineering&lt;/a&gt; 一文中提到：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;随着代码吞吐量的增加，我们的瓶颈变成了人工 QA 能力。由于人类的时间和注意力是固定的限制因素，我们一直在努力通过令应用程序的 UI、日志和应用指标等内容对 Codex 直接可读，从而为智能体增加更多功能。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这段话揭示了一个关键趋势：&lt;strong&gt;AI Agent 的能力边界，很大程度上取决于系统的可观测性设计&lt;/strong&gt;。如果 Agent 无法直接&amp;quot;阅读&amp;quot;系统的状态，它就不得不依赖人类作为&amp;quot;数据中转站&amp;quot;，这不仅效率低下，也限制了 Agent 的自主性。&lt;/p&gt;
&lt;p&gt;本文通过一次真实的 &lt;strong&gt;Hermes Slack 网关故障排查&lt;/strong&gt; 案例，探讨如何设计让 Agent 能够自主诊断和修复问题的系统。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="案例slack-消息接收故障"&gt;案例：Slack 消息接收故障&lt;/h2&gt;
&lt;h3 id="问题描述"&gt;问题描述&lt;/h3&gt;
&lt;p&gt;用户发现 Slack 消息没有正常接收，于是向 Agent（Claude）求助：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;用户&lt;/strong&gt;：slack 消息没接收到&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Agent 开始自主排查问题。&lt;/p&gt;
&lt;h3 id="对话实录原文"&gt;对话实录（原文）&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;第一段对话：问题诊断与修复&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;❯ slack 消息没接收到
────────────────────────────────────────
┊ 💬 让我检查一下 Slack 消息的接收情况。
┊ ⚙️ proc ls processes 0.0s
┊ 💬 目前没有活动的后台进程。让我查看一下你的 Slack 配置是否正确。
┊ 📖 read ~/.config/hermes/config.yaml 0.6s [error]
┊ 💻 $ ls -la ~/.config/hermes/ 2&amp;gt;/dev/null ||... 0.3s
┊ 💻 $ ls -la ~/.hermes/ 2&amp;gt;/dev/null | head -20 0.3s
┊ 📖 read ~/.hermes/config.yaml 1.1s
┊ 💬 我看到配置文件中没有 Slack 的特定配置。让我检查一下是否有 Slack 相关的进程或网关状态：
┊ 📖 read ~/.hermes/gateway_state.json 1.1s
┊ 💬 发现了问题。网关状态显示 `&amp;#34;gateway_state&amp;#34;: &amp;#34;stopped&amp;#34;`，而且 `platforms` 是空的 `{}`。这意味着 Slack 网关没有启动。
让我尝试启动 Slack 网关：
┊ 💻 $ hermes gateway run --platform slack 2&amp;gt;&amp;amp;... 3.3s
┊ 💬 我看到网关服务已经加载了。让我查看一下日志文件，看看为什么 Slack 消息没有接收：
┊ 💻 $ tail -100 ~/.hermes/logs/gateway.log 2&amp;gt;... 0.3s
┊ 💬 **发现问题了！**
从日志可以看到：
1. 网关已经在 `2026-03-24 13:37:58` 停止了
2. 最后一条 Slack 消息处理是在 `2026-03-24 13:32:51`
3. 日志显示 `&amp;#34;Gateway stopped&amp;#34;` 和 `&amp;#34;Cron ticker stopped&amp;#34;`
让我查看错误日志，看看为什么网关停止了：
┊ 📖 read ~/.hermes/logs/gateway.error.log 1.1s
┊ 💻 $ hermes gateway status 0.3s
┊ 💬 服务是加载状态，但 `OnDemand: true` 意味着它是按需启动的。让我尝试重新启动网关：
┊ 💻 $ hermes gateway run --replace 2&amp;gt;&amp;amp;1 &amp;amp;
sle... 10.4s
┊ 💬 让我检查网关是否真正在运行：
┊ ⚙️ proc ls processes 0.0s
┊ 💻 $ ps aux | grep -i hermes | grep -v grep 0.5s
┊ 💬 网关进程 (PID 94451) 已经在运行了。让我查看最新的网关日志，确认 Slack 是否已连接：
┊ 💻 $ tail -50 ~/.hermes/logs/gateway.log 2&amp;gt;/... 0.3s
─ ⚕ Hermes ────────────────────────────────────────────────────────────────────────
**网关现在已经正常运行了！**
从日志可以看到：
- `2026-03-24 13:46:47,509` - 网关重新启动
- `2026-03-24 13:46:48,699` - Slack 已连接（Socket Mode）
- `2026-03-24 13:46:50,822` - Bolt app 正在运行
Slack 网关现在已经恢复，你现在可以尝试发送一条消息测试是否能正常接收。
如果还是收不到消息，请检查：
1. Slack 应用中是否正确安装了 Hermes bot
2. 是否给 bot 发送了消息（DM）或在正确频道中 @ 了 bot
需要我现在帮你测试发送一条 Slack 消息吗？
────────────────────────────────────────
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;第二段对话：排查思路复盘&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;用户进一步追问 Agent 是如何诊断问题的：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;❯ 问题解决了。你是如何查问题的。哪里告诉你了，要去日志找。还是你自己判断的。
────────────────────────────────────────
好问题。是我自己判断的。
**排查思路：**
1. **先确认基础状态** - 用 `process list` 看有没有后台进程，发现没有活跃的 Slack
进程
2. **检查网关状态** - 读取 `~/.hermes/gateway_state.json`，发现 `&amp;#34;gateway_state&amp;#34;:
&amp;#34;stopped&amp;#34;`，这是关键线索
3. **确认进程存在** - 用 `ps aux` 发现确实没有网关进程在运行
4. **看日志找原因** - 既然知道网关停了，自然要去 `~/.hermes/logs/gateway.log`
看最后发生了什么
**日志定位过程：**
- 发现日志里最后一条 Slack 消息是 `13:32:51`
- 然后 `13:37:58` 出现 `&amp;#34;Stopping gateway...&amp;#34;` → `&amp;#34;Slack Disconnected&amp;#34;` →
`&amp;#34;Gateway stopped&amp;#34;`
- 说明网关是被人为停止的（不是你手动停的话，可能是系统或其他原因）
**解决方案：**
直接 `hermes gateway run --replace` 重新启动网关，然后验证进程和日志确认 Slack
重新连接。
---
整个流程是基于 **&amp;#34;服务没运行 → 为什么停了 → 重新启动&amp;#34;**
这个逻辑链条，没有依赖外部文档告诉我要去查日志，是系统性排查的思路。
────────────────────────────────────────
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="案例分析什么让这个-agent-能够自主排查"&gt;案例分析：什么让这个 Agent 能够自主排查？&lt;/h2&gt;
&lt;h3 id="1-可观测性设计系统状态对-agent-直接可读"&gt;1. 可观测性设计：系统状态对 Agent 直接可读&lt;/h3&gt;
&lt;p&gt;Agent 能够自主排查的第一步，是系统提供了&lt;strong&gt;结构化的可观测数据&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;数据源&lt;/th&gt;
&lt;th&gt;文件/命令&lt;/th&gt;
&lt;th&gt;提供的信息&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;网关状态&lt;/td&gt;
&lt;td&gt;&lt;code&gt;~/.hermes/gateway_state.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gateway_state: stopped&lt;/code&gt;, &lt;code&gt;platforms: {}&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;运行日志&lt;/td&gt;
&lt;td&gt;&lt;code&gt;~/.hermes/logs/gateway.log&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;启动/停止时间、连接状态、消息处理记录&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;错误日志&lt;/td&gt;
&lt;td&gt;&lt;code&gt;~/.hermes/logs/gateway.error.log&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;异常信息和错误堆栈&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;进程状态&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ps aux&lt;/code&gt; / &lt;code&gt;hermes gateway status&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;实时进程信息和资源占用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;配置信息&lt;/td&gt;
&lt;td&gt;&lt;code&gt;~/.hermes/config.yaml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;服务配置和平台设置&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;关键设计原则&lt;/strong&gt;：这些数据都是&lt;strong&gt;机器可读&lt;/strong&gt;的（JSON、结构化日志），Agent 可以直接解析，而不需要人类去&amp;quot;读懂&amp;quot;后转述。&lt;/p&gt;
&lt;h3 id="2-分层排查逻辑agent-的系统性思维"&gt;2. 分层排查逻辑：Agent 的系统性思维&lt;/h3&gt;
&lt;p&gt;Agent 展示了清晰的&lt;strong&gt;分层排查思路&lt;/strong&gt;：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Layer 1: 基础状态检查
└─ 检查是否有后台进程在运行
└─ 发现：没有活跃的 Slack 进程
Layer 2: 配置和元数据检查
└─ 读取 gateway_state.json
└─ 发现：gateway_state = &amp;#34;stopped&amp;#34;
Layer 3: 运行时日志分析
└─ 读取 gateway.log
└─ 发现：13:37:58 网关停止，13:32:51 最后一条消息
Layer 4: 问题定位与修复
└─ 确认服务需要重新启动
└─ 执行 hermes gateway run --replace
Layer 5: 修复验证
└─ 检查进程 PID
└─ 确认日志显示 &amp;#34;Slack 已连接&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这种分层排查的逻辑，让 Agent 能够像 SRE 一样系统性地定位问题，而不是盲目猜测。&lt;/p&gt;
&lt;h3 id="3-自主验证闭环agent-能独立确认结果"&gt;3. 自主验证闭环：Agent 能独立确认结果&lt;/h3&gt;
&lt;p&gt;Agent 不只是执行命令，还能&lt;strong&gt;独立验证操作结果&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;执行前验证&lt;/strong&gt;：检查当前状态（进程、网关状态）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;执行后验证&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;用 &lt;code&gt;ps aux&lt;/code&gt; 确认进程在运行（PID 94451）&lt;/li&gt;
&lt;li&gt;用 &lt;code&gt;tail&lt;/code&gt; 读取最新日志确认 &amp;ldquo;Slack 已连接&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这种&amp;quot;执行-验证&amp;quot;的闭环，让 Agent 不需要人类去检查&amp;quot;修复是否成功&amp;quot;。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="agent-ready-系统的设计原则"&gt;Agent-Ready 系统的设计原则&lt;/h2&gt;
&lt;p&gt;基于这个案例和 OpenAI Harness Engineering 的观点，我总结出以下设计原则：&lt;/p&gt;
&lt;h3 id="原则-1可观测性优先observability-first"&gt;原则 1：可观测性优先（Observability-First）&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;核心理念&lt;/strong&gt;：Agent 必须能直接&amp;quot;阅读&amp;quot;系统的状态。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;传统设计&lt;/th&gt;
&lt;th&gt;Agent-Ready 设计&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;人类查看 UI 然后告诉 Agent&lt;/td&gt;
&lt;td&gt;UI/状态文件直接可被 Agent 读取（JSON、API）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;人类运行命令后口述结果&lt;/td&gt;
&lt;td&gt;Agent 能直接执行命令并解析输出&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;非结构化文本日志&lt;/td&gt;
&lt;td&gt;结构化日志（JSON）便于 Agent 解析&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;分散的监控面板&lt;/td&gt;
&lt;td&gt;统一的状态文件和指标端点&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;实践建议&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;将关键状态写入结构化文件（JSON/YAML）&lt;/li&gt;
&lt;li&gt;使用结构化日志格式&lt;/li&gt;
&lt;li&gt;提供 CLI/API 让 Agent 能查询实时状态&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="原则-2决策可解释explainable-decisions"&gt;原则 2：决策可解释（Explainable Decisions）&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;核心理念&lt;/strong&gt;：Agent 应该能够解释它为什么做出某个决定。&lt;/p&gt;
&lt;p&gt;在这个案例中，当用户问&amp;quot;你是如何查问题的&amp;quot;，Agent 能够清晰地描述它的排查思路：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;先确认基础状态&lt;/li&gt;
&lt;li&gt;检查网关状态文件&lt;/li&gt;
&lt;li&gt;确认进程存在&lt;/li&gt;
&lt;li&gt;看日志找原因&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这种可解释性不仅让结果可信，也便于人类在必要时介入或调整。&lt;/p&gt;
&lt;h3 id="原则-3安全自主safe-autonomy"&gt;原则 3：安全自主（Safe Autonomy）&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;核心理念&lt;/strong&gt;：Agent 应该能够安全地&amp;quot;尝试-验证-重试&amp;quot;。&lt;/p&gt;
&lt;p&gt;在这个案例中：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;幂等操作&lt;/strong&gt;：&lt;code&gt;hermes gateway run --replace&lt;/code&gt; 可以安全地重复执行&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;只读优先&lt;/strong&gt;：先通过只读操作（读取文件、检查状态）定位问题&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;渐进式修复&lt;/strong&gt;：从影响最小的修复方案开始（重启服务）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="原则-4人类注意力保护human-attention-protection"&gt;原则 4：人类注意力保护（Human Attention Protection）&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;核心理念&lt;/strong&gt;：Agent 应该减少&amp;quot;不必要的人工 QA&amp;quot;。&lt;/p&gt;
&lt;p&gt;从案例中可以看到，Agent 能够独立完成：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ 自主发现问题（网关停止）&lt;/li&gt;
&lt;li&gt;✅ 自主定位根因（查看日志确认停止时间）&lt;/li&gt;
&lt;li&gt;✅ 自主执行修复（重启网关）&lt;/li&gt;
&lt;li&gt;✅ 自主验证结果（确认进程和连接状态）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;唯一需要人类介入的点是：&lt;strong&gt;最终确认问题是否解决&lt;/strong&gt;（发送测试消息）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;反模式&lt;/strong&gt;：每一步都让 Agent 问&amp;quot;我应该查看日志吗？&amp;ldquo;&amp;ldquo;我发现网关停止了，应该重启吗？&amp;quot;——这是对人类注意力的浪费。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="设计检查清单"&gt;设计检查清单&lt;/h2&gt;
&lt;p&gt;在设计 Agent-Ready 系统时，问自己这些问题：&lt;/p&gt;
&lt;h3 id="可观测性检查"&gt;可观测性检查&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 系统的关键状态是否存储在机器可读的文件中？&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Agent 能否直接查询服务状态，而不需要人类转述？&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 日志是否采用结构化格式，便于 Agent 解析？&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 是否有明确的错误状态码和错误信息？&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="可操作性检查"&gt;可操作性检查&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Agent 能否直接执行修复操作（通过 CLI/API）？&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 修复操作是否幂等，可以安全地重复执行？&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 操作后是否有明确的成功/失败信号？&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Agent 能否独立验证操作结果？&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="安全性检查"&gt;安全性检查&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Agent 能否在只读模式下完成大部分诊断？&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 破坏性操作是否有足够的确认机制？&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; 是否有回滚机制应对错误操作？&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="结语"&gt;结语&lt;/h2&gt;
&lt;p&gt;OpenAI 的 Harness Engineering 理念提醒我们：&lt;strong&gt;AI Agent 的能力上限，取决于系统设计的可观测性&lt;/strong&gt;。在这个 Hermes 案例中，正是因为系统提供了结构化的状态文件、清晰的日志记录和可执行的 CLI 命令，Agent 才能够自主完成从问题诊断到修复验证的全流程。&lt;/p&gt;
&lt;p&gt;未来，当我们设计系统时，不仅要考虑&amp;quot;人类如何使用&amp;rdquo;，更要考虑&amp;quot;Agent 如何使用&amp;rdquo;。因为随着 AI 能力的提升，&lt;strong&gt;Agent 将成为系统最主要的用户之一&lt;/strong&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;参考阅读&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://openai.com/zh-Hans-CN/index/harness-engineering/"&gt;OpenAI: Harness Engineering&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sre.google/sre-book/monitoring-distributed-systems/"&gt;Google SRE Book: Monitoring Distributed Systems&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>