<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Production AI | Home</title><link>https://wzhai-hub.github.io/Tony/ai/production-ai/</link><atom:link href="https://wzhai-hub.github.io/Tony/ai/production-ai/index.xml" rel="self" type="application/rss+xml"/><description>Production AI</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Wed, 05 Aug 2026 00:00:00 +0000</lastBuildDate><image><url>https://wzhai-hub.github.io/Tony/media/icon_hua2ec155b4296a9c9791d015323e16eb5_11927_512x512_fill_lanczos_center_3.png</url><title>Production AI</title><link>https://wzhai-hub.github.io/Tony/ai/production-ai/</link></image><item><title>Agent Evaluation 深度技术博客：从“LLM 能回答”到“Agent 真正可用”</title><link>https://wzhai-hub.github.io/Tony/ai/production-ai/evaluation/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><guid>https://wzhai-hub.github.io/Tony/ai/production-ai/evaluation/</guid><description>&lt;h1 id="agent-evaluation-深度技术博客从llm-能回答到agent-真正可用">Agent Evaluation 深度技术博客：从“LLM 能回答”到“Agent 真正可用”&lt;/h1>
&lt;h2 id="一引言为什么-agent-必须有-evaluation">一、引言：为什么 Agent 必须有 Evaluation？&lt;/h2>
&lt;p>传统软件系统通常通过：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Unit Test
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Integration Test
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">End-to-End Test
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Performance Test
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Security Test
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>判断系统是否可靠。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Input
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Function
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Expected Output
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>只要：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Actual Output == Expected Output
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>测试就可以通过。&lt;/p>
&lt;p>但是 Agent 完全不同。&lt;/p>
&lt;p>一个 Agent 的执行过程可能是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Final Answer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>即使同一个问题：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Input = &amp;#34;帮我分析这家公司今年的财务情况&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent 每次可能：&lt;/p>
&lt;ul>
&lt;li>使用不同的 Tool&lt;/li>
&lt;li>检索不同的文档&lt;/li>
&lt;li>调用不同的 Agent&lt;/li>
&lt;li>产生不同的中间步骤&lt;/li>
&lt;li>使用不同的模型&lt;/li>
&lt;li>输出不同的答案&lt;/li>
&lt;/ul>
&lt;p>因此传统：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Input → Expected Output
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>开始失效。&lt;/p>
&lt;p>Agent Evaluation 要解决的问题变成：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Agent 是否完成了任务？为什么完成？哪里失败？答案质量如何？成本是否合理？行为是否安全？&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>因此可以给出一个定义：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Agent Evaluation 是对 Agent 的输入理解、推理过程、工具选择、知识检索、协作行为、最终输出、成本、安全性和业务结果进行系统性度量与判断的工程体系。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="二agent-evaluation-与传统-testing-的区别">二、Agent Evaluation 与传统 Testing 的区别&lt;/h1>
&lt;p>这是理解 Evaluation 的第一关键点。&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>传统 Software Testing&lt;/th>
&lt;th>Agent Evaluation&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Expected Output&lt;/td>
&lt;td>Expected Outcome&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Deterministic&lt;/td>
&lt;td>Probabilistic&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Function Correctness&lt;/td>
&lt;td>Task Correctness&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Unit Test&lt;/td>
&lt;td>Component Evaluation&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Integration Test&lt;/td>
&lt;td>Workflow Evaluation&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>E2E Test&lt;/td>
&lt;td>Agent Evaluation&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Assertion&lt;/td>
&lt;td>Scoring&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Pass / Fail&lt;/td>
&lt;td>Score / Grade&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Bug&lt;/td>
&lt;td>Behavioral Failure&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Regression Test&lt;/td>
&lt;td>Evaluation Regression&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Performance&lt;/td>
&lt;td>Quality + Latency + Cost&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>传统测试关注：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">代码对不对？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent Evaluation 更关注：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent 行为是否合理？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">最终任务是否成功？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三agent-evaluation-的核心模型">三、Agent Evaluation 的核心模型&lt;/h1>
&lt;p>一个完整的 Agent Evaluation 可以抽象为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Input Process Output
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Task/Data Reasoning Answer
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Context Tool Call Result
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Retrieval Action
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Planning
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Correctness Relevance Safety
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Metrics
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Quality Cost Latency
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终评价的不只是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Answer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Input
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Execution
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Output
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Outcome
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="四agent-evaluation-的六个维度">四、Agent Evaluation 的六个维度&lt;/h1>
&lt;p>一个成熟的 Agent Evaluation Framework，至少应该包含六个维度：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">1. Correctness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">2. Relevance
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">3. Faithfulness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">4. Tool / Process Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">5. Safety
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">6. Efficiency
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>下面逐一分析。&lt;/p>
&lt;hr>
&lt;h1 id="五correctness答案正确吗">五、Correctness：答案正确吗？&lt;/h1>
&lt;p>这是最基本的 Evaluation。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Question:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">What is 15 * 8?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">120
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以直接判断：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Correct = true
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但是现实中的 Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Question:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">What caused the production incident?
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>答案可能不是简单的：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">true / false
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">0.0 ~ 1.0
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Correctness = 0.92
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="六exact-match">六、Exact Match&lt;/h1>
&lt;p>对于某些任务，可以使用：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Exact Match
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Expected:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">SUCCESS
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Actual:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">SUCCESS
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>结果：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>适用于：&lt;/p>
&lt;ul>
&lt;li>分类&lt;/li>
&lt;li>标签&lt;/li>
&lt;li>JSON&lt;/li>
&lt;li>SQL&lt;/li>
&lt;li>数学&lt;/li>
&lt;li>固定格式输出&lt;/li>
&lt;/ul>
&lt;p>但是不适用于：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">开放式问答
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">文章生成
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">复杂分析
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Task
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="七semantic-similarity">七、Semantic Similarity&lt;/h1>
&lt;p>对于自然语言，可以比较：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Expected Answer
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Embedding
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Vector
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>以及：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Actual Answer
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Embedding
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Vector
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>计算：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Cosine Similarity
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Expected:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Redis is an in-memory data store.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Actual:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Redis primarily stores data in memory.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>语义高度接近：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Similarity = 0.94
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但是：&lt;/p>
&lt;blockquote>
&lt;p>Semantic Similarity ≠ Correctness。&lt;/p>
&lt;/blockquote>
&lt;p>两个错误答案可能也具有很高的语义相似度。&lt;/p>
&lt;hr>
&lt;h1 id="八llm-as-a-judge">八、LLM-as-a-Judge&lt;/h1>
&lt;p>因此 Agent Evaluation 中非常重要的一种方式：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>LLM-as-a-Judge&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>架构：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Output
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Judge LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------+----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Correctness Relevance Safety
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------+----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Score
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;correctness&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.92&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;relevance&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.95&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;completeness&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.87&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;safety&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;overall&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.93&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="九judge-prompt-如何设计">九、Judge Prompt 如何设计？&lt;/h1>
&lt;p>一个 Judge 不应该简单：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Is this answer correct?
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而应该定义明确的 Rubric。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">You are an expert evaluator.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluate the agent response according to:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">1. Correctness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> - Is the information factually correct?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">2. Relevance
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> - Does the answer directly address the question?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">3. Completeness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> - Are important aspects missing?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">4. Groundedness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> - Is the answer supported by the provided context?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Score each dimension from 0 to 1.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Return JSON only.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;correctness&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;relevance&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.95&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;completeness&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.8&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;groundedness&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.93&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十为什么-llm-judge-不能盲目信任">十、为什么 LLM Judge 不能盲目信任？&lt;/h1>
&lt;p>因为：&lt;/p>
&lt;blockquote>
&lt;p>Judge 本身也是一个概率模型。&lt;/p>
&lt;/blockquote>
&lt;p>它可能出现：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Judge Bias
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Position Bias
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Verbosity Bias
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Self-preference Bias
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Prompt Sensitivity
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Answer A:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">非常详细，但核心错误。
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Answer B:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">简洁，但完全正确。
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Judge 可能因为 Answer A 更详细而给更高分。&lt;/p>
&lt;p>因此不能：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Judge LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">100% Trust
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>更合理：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM Judge
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Rules
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reference
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Human Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Statistical Analysis
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十一reference-based-evaluation">十一、Reference-Based Evaluation&lt;/h1>
&lt;p>如果存在标准答案：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Question
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Reference Answer
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Agent Answer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以进行比较。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Reference:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Redis uses an in-memory data structure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">store and supports persistence.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Redis is an in-memory data store
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">with persistence capabilities.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以判断：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Correctness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Completeness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Semantic Similarity
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十二reference-free-evaluation">十二、Reference-Free Evaluation&lt;/h1>
&lt;p>现实中很多 Agent 没有标准答案。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">写一份技术方案
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">分析这个事故
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">设计一个系统架构
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">总结会议
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">制定旅行计划
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这时候：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Expected Answer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>很难预先定义。&lt;/p>
&lt;p>所以采用：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Reference-Free Evaluation
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>评价：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Relevance
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Coherence
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Safety
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Completeness
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这也是 LLM Judge 最常见的应用场景之一。&lt;/p>
&lt;hr>
&lt;h1 id="十三rag-evaluation">十三、RAG Evaluation&lt;/h1>
&lt;p>Agent Platform 中经常会出现：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retriever
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Vector DB
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Documents
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么答案错误，到底是谁的问题？&lt;/p>
&lt;p>可能是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Retriever 错了
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>也可能：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM 推理错了
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>所以 RAG Evaluation 至少需要拆成两个阶段。&lt;/p>
&lt;hr>
&lt;h1 id="十四retrieval-evaluation">十四、Retrieval Evaluation&lt;/h1>
&lt;p>核心指标：&lt;/p>
&lt;h3 id="precision">Precision&lt;/h3>
&lt;p>检索结果中：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Relevant Documents
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">------------------
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retrieved Documents
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="recall">Recall&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Relevant Documents Retrieved
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">----------------------------
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">All Relevant Documents
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">100 个相关文档
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">检索出 80 个
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Recall = 80%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十五top-k-evaluation">十五、Top-K Evaluation&lt;/h1>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Top K = 5
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Retriever 返回：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">D1
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">D2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">D3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">D4
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">D5
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>其中：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">D1 Relevant
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">D2 Relevant
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">D3 Irrelevant
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">D4 Relevant
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">D5 Irrelevant
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以计算：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Precision@5 = 3 / 5 = 60%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十六mrr">十六、MRR&lt;/h1>
&lt;p>如果我们关心：&lt;/p>
&lt;blockquote>
&lt;p>第一个正确文档出现得有多快？&lt;/p>
&lt;/blockquote>
&lt;p>可以使用：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Mean Reciprocal Rank
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Rank 1 → Relevant
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>则：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">RR = 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Rank 5 → Relevant
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>则：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">RR = 1/5
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>MRR 非常适合：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Knowledge Retrieval
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十七ndcg">十七、NDCG&lt;/h1>
&lt;p>如果搜索结果存在：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Highly Relevant
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Relevant
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Partially Relevant
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Irrelevant
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以使用：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">NDCG
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>它不仅考虑：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Relevant / Irrelevant
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>还考虑：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Ranking Position
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此适合：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Enterprise Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Recommendation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Knowledge Retrieval
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十八faithfulnessagent-有没有胡说">十八、Faithfulness：Agent 有没有胡说？&lt;/h1>
&lt;p>这是 RAG/Agent Evaluation 中非常关键的指标。&lt;/p>
&lt;p>例如 Context：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Redis is an in-memory data store.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Redis was created by Google.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>虽然回答：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">语言流畅
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Faithfulness = 0
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Faithfulness 关注：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>回答是否能够被提供的上下文支持。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>因此：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Claims
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evidence
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>需要判断：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Claim
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Supported → TRUE
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Unsupported → FALSE
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十九hallucination-evaluation">十九、Hallucination Evaluation&lt;/h1>
&lt;p>可以进一步定义：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Hallucination Rate
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">100 个回答
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">12 个存在无法验证的事实
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>则：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Hallucination Rate = 12%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>生产环境可以设置：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Hallucination Rate &amp;lt; 1%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>对于：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">金融
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">医疗
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">法律
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">企业知识库
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>尤其重要。&lt;/p>
&lt;hr>
&lt;h1 id="二十tool-evaluation">二十、Tool Evaluation&lt;/h1>
&lt;p>Agent 最大的特点之一：&lt;/p>
&lt;blockquote>
&lt;p>会调用 Tool。&lt;/p>
&lt;/blockquote>
&lt;p>因此必须评估：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">是否选择正确 Tool？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">参数是否正确？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">调用顺序是否正确？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">是否需要调用 Tool？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">是否调用太多次？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十一tool-selection-accuracy">二十一、Tool Selection Accuracy&lt;/h1>
&lt;p>例如系统提供：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">SearchTool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">SQLTool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">CalculatorTool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">EmailTool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>用户：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">查询数据库中的订单
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>正确：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">SQLTool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">SearchTool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>则：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Selection = FAIL
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以定义：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Selection Accuracy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">=
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Correct Tool Calls
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Total Tool Calls
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十二tool-argument-evaluation">二十二、Tool Argument Evaluation&lt;/h1>
&lt;p>假设：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;tool&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;get_order&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;order_id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;12345&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent 生成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;tool&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;get_order&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;order_id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;12354&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Tool 本身正常。&lt;/p>
&lt;p>但是 Agent 参数错误。&lt;/p>
&lt;p>所以必须把：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Selection
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>和：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Argument
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>分开评估。&lt;/p>
&lt;hr>
&lt;h1 id="二十三tool-call-efficiency">二十三、Tool Call Efficiency&lt;/h1>
&lt;p>Agent 可能：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Search
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终才找到答案。&lt;/p>
&lt;p>虽然：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task Success = TRUE
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Cost ↑
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency ↑
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此需要：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Average Tool Calls
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Calls / Successful Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Redundant Tool Calls
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry Rate
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Success = 95%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Calls = 3.2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Success = 96%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Calls = 15.7
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>从生产角度：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent A
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可能明显更优秀。&lt;/p>
&lt;hr>
&lt;h1 id="二十四agent-planning-evaluation">二十四、Agent Planning Evaluation&lt;/h1>
&lt;p>复杂 Agent 通常：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Goal
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Plan
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Step 1
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Step 2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Step 3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Result
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此可以评价：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Plan Correctness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Plan Completeness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Step Efficiency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Plan Stability
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如目标：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">完成一次数据分析
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">1. 获取数据
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">2. 清洗数据
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">3. 分析数据
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">4. 生成报告
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这是合理计划。&lt;/p>
&lt;p>如果：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">1. 生成报告
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">2. 获取数据
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">3. 删除数据
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>就是明显异常。&lt;/p>
&lt;hr>
&lt;h1 id="二十五agent-trajectory-evaluation">二十五、Agent Trajectory Evaluation&lt;/h1>
&lt;p>Agent Evaluation 不应该只看：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Final Answer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>还应该看：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Trajectory
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>即：&lt;/p>
&lt;blockquote>
&lt;p>Agent 是怎么走到最终结果的。&lt;/p>
&lt;/blockquote>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Plan
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Tool A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Tool B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Tool C
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Replan
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Tool D
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Final
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以定义：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Trajectory Score
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>评价：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Correctness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Efficiency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Usage
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Planning
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十六agent-outcome-evaluation">二十六、Agent Outcome Evaluation&lt;/h1>
&lt;p>最终最重要的问题：&lt;/p>
&lt;blockquote>
&lt;p>任务完成了吗？&lt;/p>
&lt;/blockquote>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">用户：
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">帮我创建一个会议并邀请团队成员。
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">调用 Calendar Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">调用 Email Tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Calendar Created = TRUE
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Invitation Sent = TRUE
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task Success = TRUE
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这比单纯：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM Output Quality = 0.95
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>更重要。&lt;/p>
&lt;hr>
&lt;h1 id="二十七business-outcome-evaluation">二十七、Business Outcome Evaluation&lt;/h1>
&lt;p>企业最终关心的不是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM Accuracy = 93%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">业务结果怎么样？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如客服 Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Answer Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Customer Resolution
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Customer Satisfaction
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost Reduction
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Coding Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Code Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tests Passed
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">PR Accepted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Production Defects
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>所以：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Business Outcome 是 Agent Evaluation 的最高层。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="二十八evaluation-pyramid">二十八、Evaluation Pyramid&lt;/h1>
&lt;p>可以建立一个非常重要的 Evaluation Pyramid：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Business Outcome
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ▲
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Task Success
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Behavior
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Tool / RAG / Planning
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> LLM Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Infrastructure Metrics
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>越往上：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">越接近业务价值
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>越往下：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">越接近系统实现
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此不能只做：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM Evaluation
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而应该做：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">End-to-End Agent Evaluation
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十九online-evaluation-与-offline-evaluation">二十九、Online Evaluation 与 Offline Evaluation&lt;/h1>
&lt;p>这是 Agent Evaluation 架构中的另一个核心概念。&lt;/p>
&lt;h2 id="offline-evaluation">Offline Evaluation&lt;/h2>
&lt;p>在上线前：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Dataset
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Score
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">1000 Test Cases
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>用于：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Regression
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model Selection
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Prompt Optimization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Version Comparison
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十online-evaluation">三十、Online Evaluation&lt;/h1>
&lt;p>上线以后：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Real User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Production Trace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluation
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Production Tasks
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Sampling
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Judge
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality Score
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>用于：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Drift Detection
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality Monitoring
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Production Regression
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十一offline--online">三十一、Offline + Online&lt;/h1>
&lt;p>完整体系：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------+-----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Offline Online
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Dataset Production
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Regression Monitoring
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------+-----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Improvement
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这就形成：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Evaluation Loop&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="三十二evaluation-dataset">三十二、Evaluation Dataset&lt;/h1>
&lt;p>没有 Dataset：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Evaluation
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>很难工程化。&lt;/p>
&lt;p>一个 Dataset 可以：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;case-001&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;input&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;What is Redis?&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;context&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;Redis is an in-memory data store.&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">],&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;expected&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Redis is an in-memory data store.&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进一步：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;case-002&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;input&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;...&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;tools&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;search&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;sql&amp;#34;&lt;/span>&lt;span class="p">],&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;expected_tool&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;sql&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十三dataset-不应该只有-happy-path">三十三、Dataset 不应该只有 Happy Path&lt;/h1>
&lt;p>很多团队的 Evaluation Dataset：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">90% Normal
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">10% Edge Case
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这是不够的。&lt;/p>
&lt;p>应该覆盖：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Normal Cases
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Edge Cases
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Ambiguous Cases
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Adversarial Cases
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure Cases
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Security Cases
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Long Context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Multi-turn
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Network Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 是否 Retry？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Returns Invalid JSON
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 是否 Recovery？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Knowledge Not Found
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 是否 Hallucinate？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这些才是真正有价值的 Evaluation Case。&lt;/p>
&lt;hr>
&lt;h1 id="三十四evaluation-dataset-分层">三十四、Evaluation Dataset 分层&lt;/h1>
&lt;p>建议：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Dataset
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Smoke Set
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Regression Set
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Golden Set
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Adversarial Set
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Production Sample
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="smoke-set">Smoke Set&lt;/h3>
&lt;p>几十个核心 Case。&lt;/p>
&lt;p>用于：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">每次部署
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="regression-set">Regression Set&lt;/h3>
&lt;p>几百/几千 Case。&lt;/p>
&lt;p>用于：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">版本升级
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="golden-set">Golden Set&lt;/h3>
&lt;p>人工高质量标注。&lt;/p>
&lt;p>用于：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">核心质量评估
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="adversarial-set">Adversarial Set&lt;/h3>
&lt;p>专门测试：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Prompt Injection
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Abuse
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Hallucination
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Boundary
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="production-sample">Production Sample&lt;/h3>
&lt;p>真实生产数据采样。&lt;/p>
&lt;p>用于：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">线上质量
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十五evaluation-regression">三十五、Evaluation Regression&lt;/h1>
&lt;p>Agent 系统最容易发生一个问题：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Prompt V1
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality = 92%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>升级：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Prompt V2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality = 95%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>看起来更好了。&lt;/p>
&lt;p>但是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Selection
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">92% → 85%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这就是：&lt;/p>
&lt;blockquote>
&lt;p>Hidden Regression。&lt;/p>
&lt;/blockquote>
&lt;p>所以 Evaluation 必须支持：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Version Comparison
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> V1 V2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Correctness 92% 95%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Relevance 90% 93%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Accuracy 94% 85%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost $0.08 $0.12
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency 5.2s 6.8s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Overall Improvement?
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不能只看一个指标。&lt;/p>
&lt;hr>
&lt;h1 id="三十六multi-dimensional-evaluation">三十六、Multi-Dimensional Evaluation&lt;/h1>
&lt;p>建议建立 Scorecard：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Scorecard
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Correctness 0.94
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Relevance 0.92
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Faithfulness 0.96
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Accuracy 0.91
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Safety 0.99
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Efficiency 0.88
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost 0.82
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Overall Score
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以通过加权：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Score =
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">0.30 * Correctness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+ 0.20 * Relevance
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+ 0.20 * Faithfulness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+ 0.10 * Tool Accuracy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+ 0.10 * Safety
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+ 0.10 * Efficiency
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但是：&lt;/p>
&lt;blockquote>
&lt;p>不建议盲目使用一个 Overall Score。&lt;/p>
&lt;/blockquote>
&lt;p>因为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Safety = 0.5
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不能被：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Correctness = 1.0
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>平均掉。&lt;/p>
&lt;p>对于某些指标应该使用：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Hard Constraint
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Safety &amp;lt; 0.99
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">FAIL
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十七evaluation-gateway">三十七、Evaluation Gateway&lt;/h1>
&lt;p>在企业 Agent Platform 中，可以建立：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Evaluation Gateway
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------+-----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Quality Safety Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------+-----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Pass / Reject
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Version 2.3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Regression Test
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality = 94%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Safety = 99.9%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost = $0.07
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">PASS
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Production
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Quality = 82%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>则：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">BLOCK RELEASE
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这就是：&lt;/p>
&lt;blockquote>
&lt;p>Evaluation-driven CI/CD。&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="三十八agent-evaluation-cicd">三十八、Agent Evaluation CI/CD&lt;/h1>
&lt;p>可以设计成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Git Push
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Build
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Unit Test
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Regression
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Security Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality Gate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Deploy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Quality &amp;gt;= 0.90
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Safety &amp;gt;= 0.99
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Task Success &amp;gt;= 0.95
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost &amp;lt;= $0.10
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>全部满足：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Deploy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>否则：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Reject
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十九evaluation-与-observability-的关系">三十九、Evaluation 与 Observability 的关系&lt;/h1>
&lt;p>这是非常关键的一点。&lt;/p>
&lt;p>Observability：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">发生了什么？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Evaluation：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">做得好不好？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Trace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- A2A
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Observability 告诉你：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent 调用了 Tool A。
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Evaluation 告诉你：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent 本来应该调用 Tool B。
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Execution Data
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>两者必须结合。&lt;/p>
&lt;hr>
&lt;h1 id="四十evaluation--observability-架构">四十、Evaluation + Observability 架构&lt;/h1>
&lt;p>完整架构可以设计成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> OpenTelemetry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------------+-------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Trace Metrics Logs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Tempo Prometheus Loki
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------------+-------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Evaluation Engine
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------------+-------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Rule Evaluator LLM Judge Custom Evaluator
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------------+-------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Quality Metrics
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------------+-------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Dashboard Regression Governance
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这已经非常接近企业级：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Agent Quality Platform。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="四十一evaluation-engine-的核心设计">四十一、Evaluation Engine 的核心设计&lt;/h1>
&lt;p>可以抽象为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Evaluation Engine
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Dataset Manager
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Runner
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Evaluator
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Scorer
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Reporter
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Regression Detector
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="四十二evaluation-runner">四十二、Evaluation Runner&lt;/h1>
&lt;p>Runner 负责：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Load Dataset
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Invoke Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Capture Trace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Store Result
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Run Evaluators
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">for case in dataset:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> result = agent.execute(case.input)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> trace = observability.getTrace(result)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> scores = evaluator.evaluate(
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> case,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> result,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> trace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> )
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> store(scores)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="四十三evaluator-接口设计">四十三、Evaluator 接口设计&lt;/h1>
&lt;p>一个比较好的架构可以抽象成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-java" data-lang="java">&lt;span class="line">&lt;span class="cl">&lt;span class="kd">public&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kd">interface&lt;/span> &lt;span class="nc">Evaluator&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">EvaluationResult&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="nf">evaluate&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">EvaluationCase&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">testCase&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">AgentResult&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">result&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">AgentTrace&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">trace&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不同 Evaluator：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">CorrectnessEvaluator
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RelevanceEvaluator
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">FaithfulnessEvaluator
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ToolEvaluator
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">SafetyEvaluator
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">CostEvaluator
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LatencyEvaluator
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这样：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Evaluator
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>就成为：&lt;/p>
&lt;blockquote>
&lt;p>可插拔的 Evaluation Plugin。&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="四十四evaluation-result">四十四、Evaluation Result&lt;/h1>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;caseId&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;case-001&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;agentVersion&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;2.1.0&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;scores&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;correctness&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.95&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;relevance&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.92&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;faithfulness&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.97&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;tool_accuracy&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;safety&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">1.0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;latency_ms&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">4300&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;tokens&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">3250&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;cost&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.043&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;passed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这样 Evaluation 数据本身就可以进入：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">ClickHouse
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进行分析。&lt;/p>
&lt;hr>
&lt;h1 id="四十五evaluation-的统计学问题">四十五、Evaluation 的统计学问题&lt;/h1>
&lt;p>Agent Evaluation 不能只跑：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">10 cases
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>然后宣布：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Accuracy = 90%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">样本太小
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可能导致：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">统计偏差
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">10 Cases
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">9 Success
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>看起来：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">90%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但生产：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">10000 Cases
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可能完全不同。&lt;/p>
&lt;p>因此需要：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Large Dataset
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Confidence Interval
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Statistical Significance
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>尤其是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">A/B Testing
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model Comparison
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Prompt Comparison
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="四十六agent-ab-evaluation">四十六、Agent A/B Evaluation&lt;/h1>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Prompt A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">VS
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Prompt B
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>随机：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">50% → A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">50% → B
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>然后比较：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task Success
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">User Satisfaction
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> A B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Success 92% 95%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality 89% 94%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost $0.10 $0.08
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency 5.8s 4.9s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>显然：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">B
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>更有优势。&lt;/p>
&lt;hr>
&lt;h1 id="四十七human-evaluation">四十七、Human Evaluation&lt;/h1>
&lt;p>在高价值场景：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM Judge
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不能完全替代：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Human
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以采用：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Human
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Judge
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Rule
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">10000 Production Cases
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Sampling
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 500 Cases
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----+----+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Judge Human
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----+----+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Calibration
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>通过 Human Evaluation 校准 Judge。&lt;/p>
&lt;hr>
&lt;h1 id="四十八judge-calibration">四十八、Judge Calibration&lt;/h1>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Human Score
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> vs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Judge Score
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Correlation = 0.92
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>说明 Judge 比较可靠。&lt;/p>
&lt;p>如果：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Correlation = 0.60
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>说明：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Judge Prompt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>需要重新设计。&lt;/p>
&lt;hr>
&lt;h1 id="四十九evaluation-的数据闭环">四十九、Evaluation 的数据闭环&lt;/h1>
&lt;p>成熟平台最终应该形成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Production
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Trace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Sample
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Bad Cases
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Dataset
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Regression Test
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Prompt / Model / Agent Improvement
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Production
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这是一条非常重要的：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Agent Quality Flywheel。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="五十failure-case-mining">五十、Failure Case Mining&lt;/h1>
&lt;p>生产系统里最有价值的数据通常不是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Successful Cases
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Failed Cases
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以自动挖掘：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Low Score
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Hallucination
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">High Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Long Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">User Negative Feedback
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>形成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Failure Dataset
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>然后：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Failure Dataset
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Regression Test
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终让：&lt;/p>
&lt;blockquote>
&lt;p>线上事故成为下一版本的测试用例。&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="五十一evaluation-与-agent-runtime-的结合">五十一、Evaluation 与 Agent Runtime 的结合&lt;/h1>
&lt;p>Agent Runtime 不应该只负责：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Execute
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>还应该输出：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Execution Context
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">AgentRuntime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Step
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- A2A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Result
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Trace
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Evaluation Engine 读取：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Execution Graph
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>然后分析：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Outcome
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Trajectory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reasoning
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>所以：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Agent Runtime 是 Evaluation 的数据源。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="五十二evaluation-与-agent-platform-的关系">五十二、Evaluation 与 Agent Platform 的关系&lt;/h1>
&lt;p>企业级 Agent Platform 可以设计成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Platform
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------+-----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Runtime Evaluation Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------+-----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> AgentOps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------+-----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Release Governance Analytics
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>其中：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Observability
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>负责：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">What happened?
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Evaluation
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>负责：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">How good?
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">AgentOps
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>负责：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">What should we do?
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="五十三agent-evaluation-的成熟度模型">五十三、Agent Evaluation 的成熟度模型&lt;/h1>
&lt;p>可以把企业 Evaluation 分成五级。&lt;/p>
&lt;h2 id="level-0no-evaluation">Level 0：No Evaluation&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Production
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>完全依赖用户反馈。&lt;/p>
&lt;hr>
&lt;h2 id="level-1manual-evaluation">Level 1：Manual Evaluation&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Human Review
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>适合 PoC。&lt;/p>
&lt;hr>
&lt;h2 id="level-2automated-evaluation">Level 2：Automated Evaluation&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Automated Dataset
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Score
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>开始工程化。&lt;/p>
&lt;hr>
&lt;h2 id="level-3continuous-evaluation">Level 3：Continuous Evaluation&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Production
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Sampling
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Regression
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进入生产质量体系。&lt;/p>
&lt;hr>
&lt;h2 id="level-4evaluation-driven-agent-platform">Level 4：Evaluation-Driven Agent Platform&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Develop
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Deploy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Observe
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Govern
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Improve
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这是企业级 Agent Platform 的目标。&lt;/p>
&lt;hr>
&lt;h1 id="五十四evaluation-最终应该解决什么">五十四、Evaluation 最终应该解决什么？&lt;/h1>
&lt;p>如果让我把整个 Agent Evaluation 总结成一张图：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Execution
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> LLM Tool RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Trace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Evaluation Engine
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------------------+-------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Outcome Behavior Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Task Success Tool Accuracy Correctness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Business Result Planning Relevance
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Efficiency Faithfulness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Safety Groundedness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Score
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +------------+------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Regression Governance
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Improve Agent Control Agent
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="五十五结语evaluation-是-agent-engineering-的质量操作系统">五十五、结语：Evaluation 是 Agent Engineering 的“质量操作系统”&lt;/h1>
&lt;p>传统 AI Application 的核心问题是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>如何让 LLM 回答得更好？&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>Agent Engineering 的核心问题正在变成：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>如何证明 Agent 做得足够好？&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>这是两个完全不同的问题。&lt;/p>
&lt;p>一个成熟 Agent 系统最终需要建立：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------+-----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Correctness Safety Outcome
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------+-----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------+-------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Quality Cost Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------+-------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------+----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Offline Online
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Regression Monitoring
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------+----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> AgentOps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Governance
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此，&lt;strong>Evaluation 并不是 Agent Platform 中一个独立的测试模块，而应该成为贯穿 Agent 生命周期的质量基础设施。&lt;/strong>&lt;/p>
&lt;p>从架构师视角来看，未来的 Agent Platform 至少应该形成这样一条完整技术链：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Development
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">OpenTelemetry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Trace / Event
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluation Engine
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality Metrics
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Regression Testing
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">CI/CD Quality Gate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Production
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Online Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure Mining
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Dataset
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Improvement
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终形成：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Observe → Evaluate → Govern → Improve&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>这也是 Agent Engineering 从“Prompt Engineering”走向“Platform Engineering”的一个重要标志。&lt;/p></description></item><item><title>Agent Observability：构建可观测、可诊断、可治理的 Agent Platform</title><link>https://wzhai-hub.github.io/Tony/ai/production-ai/observability/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><guid>https://wzhai-hub.github.io/Tony/ai/production-ai/observability/</guid><description>&lt;h1 id="agent-observability-深度技术博客构建可观测可诊断可治理的-agent-platform">Agent Observability 深度技术博客：构建可观测、可诊断、可治理的 Agent Platform&lt;/h1>
&lt;h2 id="一引言为什么传统-observability-已经不够用了">一、引言：为什么传统 Observability 已经不够用了？&lt;/h2>
&lt;p>在传统微服务系统中，我们通常认为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Metrics
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Logs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Traces
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如一个 HTTP 请求：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">API Gateway
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Order Service
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Payment Service
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Database
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>我们可以通过：&lt;/p>
&lt;ul>
&lt;li>Metrics 看 QPS、Latency、Error Rate&lt;/li>
&lt;li>Logs 看错误信息&lt;/li>
&lt;li>Traces 看请求经过哪些服务&lt;/li>
&lt;/ul>
&lt;p>这套体系非常成熟。&lt;/p>
&lt;p>但是进入 Agent 时代以后，一个请求可能变成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- LLM Call
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Tool Call
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Memory Retrieval
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- LLM Call
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Agent B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Tool Call
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- LLM Call
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Final Response
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这时候传统的：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">HTTP Trace
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>已经无法完整回答：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Agent 为什么做出了这个决定？&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>更重要的是，Agent 的失败可能不是传统意义上的：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">HTTP 500
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而可能是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent 选择了错误的 Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 使用了错误的参数
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 调用了过多 Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 陷入循环
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 获取了错误的 Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM 输出格式错误
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RAG 检索结果不相关
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 花费过高
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 推理步骤过长
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 调用了没有必要的 Agent
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Agent Observability 不是简单地给 Agent 加上 Metrics、Logs、Traces，而是要对 Agent 的“决策、执行、协作和结果”进行完整观测。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="二agent-observability-到底是什么">二、Agent Observability 到底是什么？&lt;/h1>
&lt;p>可以给出一个比较工程化的定义：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Agent Observability 是通过 Trace、Metrics、Logs、Events、LLM Telemetry、Evaluation 等手段，对 Agent 的运行状态、决策过程、工具调用、模型调用、上下文、成本和最终效果进行可观测与诊断的技术体系。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>可以抽象成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------------------+-------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Signals Context Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----+-----+ +-----+-----+ +-----+-----+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | | | | | | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Trace Metric Log Prompt Memory Tool Eval Score Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这与传统 Observability 最大的区别是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Traditional Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">系统发生了什么？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">系统发生了什么？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">为什么发生？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 为什么这样决策？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 最终完成得怎么样？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三agent-observability-的核心目标">三、Agent Observability 的核心目标&lt;/h1>
&lt;p>一个成熟的 Agent Observability 平台应该回答六个问题：&lt;/p>
&lt;h3 id="1-what">1. What？&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">发生了什么？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent 调用了 Search Tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="2-when">2. When？&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">什么时候发生？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="3-where">3. Where？&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">发生在哪一个 Agent / Tool / Runtime？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="4-why">4. Why？&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">为什么调用这个 Tool？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">为什么选择这个 Agent？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="5-how">5. How？&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent 是怎么一步一步完成任务的？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="6-how-good">6. How Good？&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">最终结果到底好不好？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>传统 Observability 主要解决：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">What
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">When
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Where
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent Observability 必须进一步解决：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Why
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">How
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">How Good
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="四agent-observability-总体架构">四、Agent Observability 总体架构&lt;/h1>
&lt;p>一个企业级 Agent Observability 可以设计为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Application
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌───────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Agent Runtime │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───────┬───────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> OpenTelemetry SDK
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------+-----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Trace Metrics Logs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------+-----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> OpenTelemetry Collector
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---------------------+---------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Tempo Prometheus Loki
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---------------------+---------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Grafana
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---------------------+---------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Trace View Metrics Dashboard Log Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Evaluation Platform
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果结合 Agent Platform：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Platform
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Control Plane Data Plane
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +------------------+-------+-------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> LLM MCP A2A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +------------------+---------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> OpenTelemetry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Observability Platform
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="五传统-observability-与-agent-observability">五、传统 Observability 与 Agent Observability&lt;/h1>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>传统微服务&lt;/th>
&lt;th>Agent&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Request&lt;/td>
&lt;td>Task&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Service&lt;/td>
&lt;td>Agent&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>RPC&lt;/td>
&lt;td>Agent-to-Agent&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>API&lt;/td>
&lt;td>Tool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Database&lt;/td>
&lt;td>Memory / Knowledge&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Request Trace&lt;/td>
&lt;td>Agent Trace&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>HTTP Error&lt;/td>
&lt;td>Agent Failure&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Latency&lt;/td>
&lt;td>Execution Latency&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>CPU / Memory&lt;/td>
&lt;td>Token / Cost / Context&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Logs&lt;/td>
&lt;td>Agent Events&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>SLA&lt;/td>
&lt;td>Task Completion&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Unit Test&lt;/td>
&lt;td>Agent Evaluation&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>这张表非常重要。&lt;/p>
&lt;p>因为：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Agent Observability 本质上是在传统 Observability 上增加了一层 AI-aware Telemetry。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="六agent-traceobservability-的核心">六、Agent Trace：Observability 的核心&lt;/h1>
&lt;p>Agent 系统最重要的能力之一：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>End-to-End Agent Trace&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Trace: 8f7c...
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">User Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── Agent: ResearchAgent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── LLM: Reasoning Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── Tool: WebSearch
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── Tool: WebSearch
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── Memory Retrieval
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── LLM: Reasoning Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── A2A: DataAgent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├── LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├── Tool: SQL
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └── Tool: Database
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">└── Final Response
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>一个 Trace 不再只是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">HTTP Request
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而应该是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Agent Execution Graph&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="七agent-trace-的数据结构">七、Agent Trace 的数据结构&lt;/h1>
&lt;p>一个 Agent Trace 可以包含：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;traceId&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;trace-10001&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;taskId&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;task-20001&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;agentId&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;research-agent&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;agentVersion&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;3.2.1&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;startTime&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;...&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;endTime&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;...&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;status&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;COMPLETED&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;steps&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;LLM&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;model&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;reasoning-model&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;latencyMs&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">1800&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;inputTokens&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">3200&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;outputTokens&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">850&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;TOOL&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;tool&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;web-search&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;latencyMs&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">600&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这样我们可以进一步计算：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Total Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Memory Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">A2A Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Token Usage
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="八trace-span-应该怎么设计">八、Trace Span 应该怎么设计？&lt;/h1>
&lt;p>传统微服务：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Span
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- HTTP
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- SQL
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- RPC
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Span
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- AGENT
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- TOOL
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- MEMORY
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- RETRIEVAL
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- A2A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- WORKFLOW
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- HUMAN
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Span
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── LLM Span
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── Tool Span
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── Retrieval Span
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── LLM Span
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── A2A Span
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">└── Finalization Span
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="九agent-span-的关键-attributes">九、Agent Span 的关键 Attributes&lt;/h1>
&lt;p>一个 LLM Span 至少可以记录：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">agent.id
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">agent.version
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">llm.provider
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">llm.model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">llm.input_tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">llm.output_tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">llm.total_tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">llm.temperature
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">request.id
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">task.id
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">session.id
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">status
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Tool Span：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">tool.name
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tool.version
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tool.type
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tool.latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tool.status
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tool.retry_count
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>A2A Span：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">source.agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">target.agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">task.id
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">communication.protocol
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">status
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十为什么-opentelemetry-非常适合-agent">十、为什么 OpenTelemetry 非常适合 Agent？&lt;/h1>
&lt;p>OpenTelemetry 的核心优势在于：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Vendor Neutral
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Standardized
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Distributed Tracing
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Metrics
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Logs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Context Propagation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Collector
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>传统微服务：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Service A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | trace context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Service B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Service C
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | trace context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>OpenTelemetry 可以成为 Agent Observability 的底层 Telemetry Standard。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>尤其适合你之前关注的：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">OpenTelemetry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Collector
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tempo
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Prometheus
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Grafana
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这些技术可以直接演进到 Agent Observability。&lt;/p>
&lt;hr>
&lt;h1 id="十一agent-context-propagation">十一、Agent Context Propagation&lt;/h1>
&lt;p>这是一个非常容易被忽略的问题。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | A2A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | MCP
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果 Trace Context 丢失：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Trace A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> X
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> X
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终 Grafana 中看到：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">三个孤立 Trace
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而不是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">一个完整 Trace
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>所以必须传播：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">traceId
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">spanId
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">trace flags
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">baggage
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>形成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Trace Context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Trace Context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十二agent-metrics">十二、Agent Metrics&lt;/h1>
&lt;p>Trace 解决：&lt;/p>
&lt;blockquote>
&lt;p>单次请求发生了什么？&lt;/p>
&lt;/blockquote>
&lt;p>Metrics 解决：&lt;/p>
&lt;blockquote>
&lt;p>系统整体怎么样？&lt;/p>
&lt;/blockquote>
&lt;p>Agent Metrics 可以分成六类。&lt;/p>
&lt;hr>
&lt;h2 id="1-runtime-metrics">1. Runtime Metrics&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">agent_task_total
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">agent_task_success_total
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">agent_task_failure_total
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">agent_task_duration
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">agent_task_queue_depth
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">agent_task_active
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task Throughput = 1000/min
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Task Success Rate = 97.5%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">P95 Latency = 8.2s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="2-llm-metrics">2. LLM Metrics&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">llm_request_total
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">llm_request_duration
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">llm_error_total
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">llm_input_tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">llm_output_tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">llm_total_tokens
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="3-tool-metrics">3. Tool Metrics&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">tool_call_total
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tool_call_failure_total
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tool_call_duration
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tool_retry_total
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="4-memory-metrics">4. Memory Metrics&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">memory_read_total
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">memory_write_total
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">memory_retrieval_latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">memory_hit_rate
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="5-a2a-metrics">5. A2A Metrics&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">a2a_request_total
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">a2a_latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">a2a_failure_total
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">a2a_timeout_total
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="6-cost-metrics">6. Cost Metrics&lt;/h2>
&lt;p>这是 Agent 特有的重要指标：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">token_cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tool_cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">execution_cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">agent_cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tenant_cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Daily Agent Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Research Agent $32
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Coding Agent $85
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Data Agent $17
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Customer Agent $142
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十三不要只监控-token">十三、不要只监控 Token&lt;/h1>
&lt;p>很多 Agent 系统会重点监控：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Token Usage
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但：&lt;/p>
&lt;blockquote>
&lt;p>Token 并不等于价值。&lt;/p>
&lt;/blockquote>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">1000 tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">完成任务
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">20000 tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">没有完成任务
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>单纯看 Token：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent A &amp;lt; Agent B
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但实际效果：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent A &amp;gt; Agent B
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此需要建立：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Success
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>四维指标体系。&lt;/p>
&lt;hr>
&lt;h1 id="十四agent-quality-metrics">十四、Agent Quality Metrics&lt;/h1>
&lt;p>这是 Agent Observability 与传统 Observability 最大的区别。&lt;/p>
&lt;p>传统系统：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">HTTP 200
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>并不代表：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">业务正确
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent 更明显。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">HTTP 200
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Response = 完整废话
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>系统依然是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">200 OK
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但用户体验：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">FAIL
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此需要：&lt;/p>
&lt;blockquote>
&lt;p>Quality Observability。&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="十五agent-evaluation">十五、Agent Evaluation&lt;/h1>
&lt;p>可以定义：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task Success Rate
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">1000 tasks
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- 950 success
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- 50 failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Success Rate = 95%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>还可以：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Selection Accuracy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Response Accuracy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Groundedness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Faithfulness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Relevance
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Safety
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十六llm-as-a-judge">十六、LLM-as-a-Judge&lt;/h1>
&lt;p>一种常见方式：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Output
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluator LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Score
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Accuracy 0.92
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Relevance 0.95
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Completeness 0.88
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Safety 0.99
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Quality Score = 0.93
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但是需要注意：&lt;/p>
&lt;blockquote>
&lt;p>Evaluator LLM 也可能产生偏差。&lt;/p>
&lt;/blockquote>
&lt;p>因此生产环境最好组合：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Rule-based
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Deterministic Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM-as-a-Judge
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Human Evaluation
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十七agent-logs">十七、Agent Logs&lt;/h1>
&lt;p>传统 Log：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">INFO request received
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ERROR database timeout
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent Log 应该更加结构化：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;timestamp&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;...&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;traceId&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;...&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;taskId&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;...&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;agentId&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;research-agent&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;event&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;tool_call&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;tool&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;web-search&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;status&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;SUCCESS&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;latencyMs&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">520&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>推荐：&lt;/p>
&lt;blockquote>
&lt;p>Structured Logging&lt;/p>
&lt;/blockquote>
&lt;p>而不是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">System.out.println(...)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十八agent-event">十八、Agent Event&lt;/h1>
&lt;p>Agent 的运行过程天然可以事件化：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">AgentStarted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AgentStepStarted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLMRequestStarted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLMRequestCompleted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ToolCallStarted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ToolCallCompleted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">MemoryRead
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">MemoryWrite
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">A2ARequest
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">A2AResponse
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">HumanApprovalRequested
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AgentCompleted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AgentFailed
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这些 Event 可以进入：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Kafka
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>然后被：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Audit
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Analytics
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Billing
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Monitoring
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluation
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>消费。&lt;/p>
&lt;hr>
&lt;h1 id="十九trace--event-的区别">十九、Trace + Event 的区别&lt;/h1>
&lt;p>两者不要混淆。&lt;/p>
&lt;h3 id="trace">Trace&lt;/h3>
&lt;p>回答：&lt;/p>
&lt;blockquote>
&lt;p>一次执行是怎样发生的？&lt;/p>
&lt;/blockquote>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Result
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="event">Event&lt;/h3>
&lt;p>回答：&lt;/p>
&lt;blockquote>
&lt;p>系统中发生了哪些事实？&lt;/p>
&lt;/blockquote>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">ToolCalled
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ToolCompleted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AgentFailed
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Trace = Execution View
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Event = System Event View
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>两者结合：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----+----+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Trace Event
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tempo Kafka
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>是非常强的架构组合。&lt;/p>
&lt;hr>
&lt;h1 id="二十agent-observability-的三层模型">二十、Agent Observability 的三层模型&lt;/h1>
&lt;p>可以把整个体系分成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">┌──────────────────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Business Layer │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Success Rate │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Quality │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ User Satisfaction │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Business Outcome │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">└──────────────┬───────────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">┌──────────────▼───────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ AI Layer │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ LLM │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Prompt │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Token │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Tool │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Memory │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Retrieval │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Agent Decision │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">└──────────────┬───────────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">┌──────────────▼───────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Infrastructure Layer │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ CPU │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Memory │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Network │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Kubernetes │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Database │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Kafka │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">└──────────────────────────────┘
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这就是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Business + AI + Infrastructure 三层 Observability。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="二十一agent-debugging">二十一、Agent Debugging&lt;/h1>
&lt;p>假设用户说：&lt;/p>
&lt;blockquote>
&lt;p>“这个 Agent 为什么给出了错误答案？”&lt;/p>
&lt;/blockquote>
&lt;p>传统监控只能告诉你：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">HTTP 200
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但是 Agent Observability 应该能够打开 Trace：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Prompt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Memory Retrieval
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | +-- Document A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | +-- Document B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | +-- Decision
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Tool Call
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Final Response
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>然后发现：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Memory Retrieval
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">错误 Document
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">错误推理
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">错误 Answer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这才是真正的：&lt;/p>
&lt;blockquote>
&lt;p>Agent Root Cause Analysis。&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="二十二agent-debugging-的核心问题">二十二、Agent Debugging 的核心问题&lt;/h1>
&lt;p>可以把问题定位拆成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Input Problem
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Context Problem
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retrieval Problem
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reasoning Problem
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Problem
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Execution Problem
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Output Problem
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;h3 id="input-problem">Input Problem&lt;/h3>
&lt;p>用户需求理解错误。&lt;/p>
&lt;h3 id="context-problem">Context Problem&lt;/h3>
&lt;p>上下文不完整。&lt;/p>
&lt;h3 id="retrieval-problem">Retrieval Problem&lt;/h3>
&lt;p>RAG 找到了错误文档。&lt;/p>
&lt;h3 id="reasoning-problem">Reasoning Problem&lt;/h3>
&lt;p>LLM 推理错误。&lt;/p>
&lt;h3 id="tool-problem">Tool Problem&lt;/h3>
&lt;p>选择了错误 Tool。&lt;/p>
&lt;h3 id="execution-problem">Execution Problem&lt;/h3>
&lt;p>Tool 参数错误。&lt;/p>
&lt;h3 id="output-problem">Output Problem&lt;/h3>
&lt;p>最终回答格式错误。&lt;/p>
&lt;p>这比传统：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">HTTP 500
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>复杂很多。&lt;/p>
&lt;hr>
&lt;h1 id="二十三agent-loop-detection">二十三、Agent Loop Detection&lt;/h1>
&lt;p>Agent 可能出现：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool A
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>形成：&lt;/p>
&lt;blockquote>
&lt;p>Agent Loop。&lt;/p>
&lt;/blockquote>
&lt;p>如果没有监控，可能：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Token ↑
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost ↑
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency ↑
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Timeout
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此 Runtime 应记录：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">step_count
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tool_sequence
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">repeated_action
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如检测：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">A → B → A → B → A → B
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>发现异常后：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">STOP
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>或者：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">REPLAN
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十四agent-cost-observability">二十四、Agent Cost Observability&lt;/h1>
&lt;p>企业部署 Agent 后，一个非常现实的问题：&lt;/p>
&lt;blockquote>
&lt;p>“为什么这个月 AI 成本突然增加了 300%？”&lt;/p>
&lt;/blockquote>
&lt;p>传统 Monitoring 很难回答。&lt;/p>
&lt;p>Agent Observability 可以：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tenant
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Token
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Execution
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终得到：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tenant A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> $1000
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Research Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> $300
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Coding Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> $500
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Customer Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> $200
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>继续往下：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Coding Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Model Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Tool Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Retry Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Failed Task Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这就是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>AI FinOps。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="二十五agent-slo">二十五、Agent SLO&lt;/h1>
&lt;p>传统微服务：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Availability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Error Rate
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent 可以进一步：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task Success Rate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Task Completion Time
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Success Rate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality Score
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost Per Task
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent SLO
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Task Success Rate &amp;gt;= 98%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">P95 Latency &amp;lt; 10s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Failure Rate &amp;lt; 1%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality Score &amp;gt;= 0.90
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost Per Task &amp;lt; $0.10
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这才是企业真正需要的：&lt;/p>
&lt;blockquote>
&lt;p>Agent SLO。&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="二十六agent-error-budget">二十六、Agent Error Budget&lt;/h1>
&lt;p>如果：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">SLO = 99%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Error Budget = 1%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以进一步定义：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Failed Tasks
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Poor Quality Tasks
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Timeout Tasks
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Safety Violations
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而不是只统计：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">HTTP 500
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">10000 Tasks
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Allowed Failure = 100
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Actual Failure = 80
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Remaining Budget = 20
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十七agent-observability-与-security">二十七、Agent Observability 与 Security&lt;/h1>
&lt;p>Observability 和 Security 有一个非常重要的冲突：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>越详细的 Trace，包含的信息越多；信息越多，敏感数据泄露风险越大。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>例如 LLM Prompt 可能包含：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Customer Name
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Account Number
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Internal Documents
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Credentials
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Personal Information
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>所以不能简单：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">log(prompt)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>生产环境必须考虑：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">PII Masking
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Data Redaction
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Encryption
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Access Control
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retention
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Audit
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Original:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Customer SSN = 123-45-6789
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Trace:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Customer SSN = ***-**-6789
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十八prompt-observability">二十八、Prompt Observability&lt;/h1>
&lt;p>Prompt 是 Agent 的核心输入。&lt;/p>
&lt;p>因此需要记录：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Prompt Version
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">System Prompt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">User Prompt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retrieved Context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Result
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但这里必须解决：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Sensitive Data
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Token Size
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Storage Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Privacy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>一个比较合理的设计：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Prompt Metadata
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Prompt Hash
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Encrypted Content
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而不是所有环境都直接保存完整 Prompt。&lt;/p>
&lt;hr>
&lt;h1 id="二十九agent-observability-data-pipeline">二十九、Agent Observability Data Pipeline&lt;/h1>
&lt;p>完整数据流：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">OpenTelemetry SDK
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">OTel Collector
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----+---------+---------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Trace Metric Log
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tempo Prometheus Loki
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------+---------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Grafana
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------+-------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Operations Analytics
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Evaluation
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果 Event 也加入：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Trace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Metric
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Log
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Event
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Kafka
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +------+------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Audit Billing BI
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十agent-observability-存储架构">三十、Agent Observability 存储架构&lt;/h1>
&lt;p>不同数据应该使用不同存储。&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>数据&lt;/th>
&lt;th>推荐存储&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Trace&lt;/td>
&lt;td>Tempo / Jaeger&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Metrics&lt;/td>
&lt;td>Prometheus&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Logs&lt;/td>
&lt;td>Loki / Elasticsearch&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Events&lt;/td>
&lt;td>Kafka&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Execution&lt;/td>
&lt;td>PostgreSQL&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Memory&lt;/td>
&lt;td>Redis / Vector DB&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Analytics&lt;/td>
&lt;td>ClickHouse / Data Warehouse&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Evaluation&lt;/td>
&lt;td>PostgreSQL / Data Lake&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>不要：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Everything → PostgreSQL
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>也不要：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Everything → Elasticsearch
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>应该根据数据访问模式选择存储。&lt;/p>
&lt;hr>
&lt;h1 id="三十一为什么-clickhouse-很适合-agent-analytics">三十一、为什么 ClickHouse 很适合 Agent Analytics？&lt;/h1>
&lt;p>Agent 会产生大量：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Execution
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Call
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Call
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Token
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluation
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这些数据天然适合：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">OLAP
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如查询：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sql" data-lang="sql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">agent_id&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">SUM&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">total_tokens&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">SUM&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">cost&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">AVG&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">latency&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">FROM&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">agent_execution&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">GROUP&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">BY&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">agent_id&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以快速得到：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Token
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Operational Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Prometheus / Tempo / Loki
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Analytical Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ClickHouse / Data Warehouse
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>是一个很合理的架构。&lt;/p>
&lt;hr>
&lt;h1 id="三十二agent-dashboard-应该怎么看">三十二、Agent Dashboard 应该怎么看？&lt;/h1>
&lt;p>一个生产 Agent Dashboard 不应该只有：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">CPU
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">QPS
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而应该至少包括：&lt;/p>
&lt;h3 id="overview">Overview&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task Throughput
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Task Success Rate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">P95 Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality Score
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Total Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="agent">Agent&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Top Agents
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure Rate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Average Steps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Average Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="llm">LLM&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Token Usage
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model Error
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="tool">Tool&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Top Tools
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="a2a">A2A&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Calls
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="evaluation">Evaluation&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Accuracy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Safety
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Regression
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十三grafana-中的-agent-trace">三十三、Grafana 中的 Agent Trace&lt;/h1>
&lt;p>最终可以形成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Dashboard
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Task Success = 97.8%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- P95 = 8.3s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Cost = $1,235
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Quality = 0.93
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Failure = 2.2%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>点击：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Failure = 2.2%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进入：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Trace
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>继续点击：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进入：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Logs
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>再点击：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Execution ID
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>查看：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Prompt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Result
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这才是真正的：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Observability → Investigation → Root Cause Analysis&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="三十四agent-observability-的四个层次">三十四、Agent Observability 的四个层次&lt;/h1>
&lt;p>可以把成熟度划分为：&lt;/p>
&lt;h2 id="level-1infrastructure-observability">Level 1：Infrastructure Observability&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">CPU
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Network
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Kubernetes
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="level-2service-observability">Level 2：Service Observability&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">HTTP
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RPC
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Database
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Kafka
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="level-3agent-observability">Level 3：Agent Observability&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">A2A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Token
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="level-4ai-quality-observability">Level 4：AI Quality Observability&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Reasoning
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Accuracy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Safety
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Task Success
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Business Outcome
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>企业真正的目标应该是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Level 1
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Level 2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Level 3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Level 4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十五agent-observability-最难的地方">三十五、Agent Observability 最难的地方&lt;/h1>
&lt;p>真正困难的并不是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">OpenTelemetry SDK
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Prometheus
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Grafana
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这些技术相对成熟。&lt;/p>
&lt;p>真正困难的是：&lt;/p>
&lt;h3 id="1-如何定义-agent-telemetry-schema">1. 如何定义 Agent Telemetry Schema？&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Step
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">A2A
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如何标准化？&lt;/p>
&lt;hr>
&lt;h3 id="2-如何观测决策">2. 如何观测“决策”？&lt;/h3>
&lt;p>传统 Trace：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Service A → Service B
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent → Why Tool A?
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>“Why”是非常困难的问题。&lt;/p>
&lt;hr>
&lt;h3 id="3-如何定义-agent-quality">3. 如何定义 Agent Quality？&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">HTTP 200
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不代表：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task Success
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="4-如何控制-observability-cost">4. 如何控制 Observability Cost？&lt;/h3>
&lt;p>如果每天：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">10M Tasks
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>每个 Task：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">20 Steps
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可能产生：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">200M Spans
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>全部保存成本非常高。&lt;/p>
&lt;p>因此需要：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Sampling
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Aggregation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retention
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tiered Storage
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十六agent-trace-sampling">三十六、Agent Trace Sampling&lt;/h1>
&lt;p>不能所有 Trace 都永久保存。&lt;/p>
&lt;p>可以：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Normal Trace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">1% Sampling
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Error Trace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">100%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">High Cost Trace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">100%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality Regression
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">100%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进一步：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Production
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Normal → 1%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Error → 100%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Slow → 100%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Expensive → 100%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Security → 100%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这就是：&lt;/p>
&lt;blockquote>
&lt;p>Intelligent Sampling。&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="三十七从-observability-走向-agent-governance">三十七、从 Observability 走向 Agent Governance&lt;/h1>
&lt;p>当 Observability 数据积累以后，就可以进一步做：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Observe
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Analyze
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Govern
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">发现某 Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">平均 20 次 Tool Call
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进一步：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">成本过高
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>然后：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Policy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">限制 Tool Calls &amp;lt;= 10
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>再进一步：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">自动切换到更便宜的 Model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此最终：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Observability 不只是“看”，而是 Agent Governance 的数据基础。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="三十八agent-observability-与-agentops">三十八、Agent Observability 与 AgentOps&lt;/h1>
&lt;p>可以形成完整闭环：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> AgentOps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------------+-------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Develop Deploy Run
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------------+-------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------+----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Monitor Evaluate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------+----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Improve
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Release
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>所以：&lt;/p>
&lt;blockquote>
&lt;p>Agent Observability 是 AgentOps 的核心基础设施。&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="三十九一个生产级-agent-observability-stack">三十九、一个生产级 Agent Observability Stack&lt;/h1>
&lt;p>如果基于 Cloud Native 技术构建，可以考虑：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> OpenTelemetry SDK
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> OpenTelemetry Collector
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Tempo Prometheus Loki
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Grafana
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Observability
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Event：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Kafka
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----+----+------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Audit Billing Analytics
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Analytics：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Kafka
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ClickHouse
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Analytics
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Evaluation：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Execution
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluation Engine
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality Score
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ClickHouse
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="四十agent-observability-的最终架构">四十、Agent Observability 的最终架构&lt;/h1>
&lt;p>综合起来：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌───────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Agent Gateway │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───────┬───────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌───────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Agent Runtime │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───────┬───────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------+--------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> LLM MCP A2A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------+--------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> OpenTelemetry SDK
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------+--------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Trace Metric Log
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Tempo Prometheus Loki
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------+--------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Grafana
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------+--------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Runtime AI Quality Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Metrics Evaluation Analysis
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------+--------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> AgentOps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Governance
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="四十一总结agent-observability-的本质">四十一、总结：Agent Observability 的本质&lt;/h1>
&lt;p>如果把传统 Observability 总结成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Metrics
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Logs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Traces
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么 Agent Observability 应该升级为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------+-----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Telemetry Context Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---+---+ +----+----+ +----+----+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | | | | | | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Trace Metric Log Prompt Memory Tool Eval Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进一步可以形成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Observe
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Understand
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Govern
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Optimize
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这就是 Agent Observability 与传统 Monitoring 最大的区别。&lt;/p>
&lt;hr>
&lt;h1 id="四十二从架构师视角理解-agent-observability">四十二、从架构师视角理解 Agent Observability&lt;/h1>
&lt;p>对于企业级 Agent Platform，我认为最值得建立的一个完整认知模型是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Platform
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> LLM Tool A2A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Telemetry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------------+-----------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Trace Metric Log
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------------+-----------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Event / Analytics
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Runtime Quality Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> AgentOps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Governance
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此，&lt;strong>Agent Observability 不是 Agent Platform 的附属功能，而应该被设计成 Agent Runtime 的一等公民。&lt;/strong>&lt;/p>
&lt;p>尤其是你前面已经关注过的 &lt;strong>OpenTelemetry + Prometheus + Grafana + Tempo + Kafka + Agent Runtime + A2A + MCP&lt;/strong>，实际上完全可以串成一套完整的企业级技术体系：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Platform
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌──────┴──────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Control Plane Data Plane
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------------+-------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> LLM MCP A2A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------------------+-------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> OpenTelemetry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------+-----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Trace Metric Log
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Tempo Prometheus Loki
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------------+-----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Grafana
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Governance
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这套架构已经不再是单纯的 &lt;strong>AI Application Development&lt;/strong>，而是在进入：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>AI Platform Engineering / Agent Infrastructure Engineering。&lt;/strong>&lt;/p>
&lt;/blockquote></description></item><item><title>Agent Reliability：如何构建高可靠的 Agent 系统</title><link>https://wzhai-hub.github.io/Tony/ai/production-ai/reliability/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><guid>https://wzhai-hub.github.io/Tony/ai/production-ai/reliability/</guid><description>&lt;h1 id="agent-reliability-深度技术博客如何构建高可靠的-agent-系统">Agent Reliability 深度技术博客：如何构建高可靠的 Agent 系统&lt;/h1>
&lt;h2 id="一引言agent-最大的问题不是聪明而是可靠">一、引言：Agent 最大的问题不是“聪明”，而是“可靠”&lt;/h2>
&lt;p>传统软件系统追求：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Deterministic Correctness&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>即：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Input
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Business Logic
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Expected Result
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>只要代码正确，系统通常能够稳定地产生相同结果。&lt;/p>
&lt;p>Agent 则完全不同：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Planning
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Another Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Action
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Result
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>其中任何一个环节都可能失败。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM 输出错误
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool 调用失败
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool 参数错误
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RAG 检索错误
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Context 丢失
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 无限循环
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent 选择错误的 Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">外部 API Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">网络抖动
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">模型服务限流
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Token 超限
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">上下文污染
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Prompt Injection
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>所以 Agent Engineering 中一个非常核心的问题是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>如何让一个具有概率性行为的系统，表现得像一个可靠的软件系统？&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>这就是：&lt;/p>
&lt;h1 id="agent-reliability">Agent Reliability&lt;/h1>
&lt;hr>
&lt;h1 id="二什么是-agent-reliability">二、什么是 Agent Reliability？&lt;/h1>
&lt;p>可以定义为：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Agent Reliability 是 Agent 在面对正常请求、异常输入、依赖故障、模型不确定性以及复杂执行路径时，持续完成目标并保持安全、可控和可恢复行为的能力。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>它不仅仅是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Availability
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>也不是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM Accuracy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Reliability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">=
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Availability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Correctness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Resilience
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Recoverability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Safety
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Controllability
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Reliability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Availability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Correctness
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Resilience
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Recovery
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Safety
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Control
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三为什么-agent-reliability-比传统微服务更难">三、为什么 Agent Reliability 比传统微服务更难？&lt;/h1>
&lt;p>传统微服务：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Service A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Service B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Database
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>通常可以明确：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Circuit Breaker
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Fallback
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这里增加了一个非常特殊的问题：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Agent 自己决定下一步做什么。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">if API failed:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> retry
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>传统程序由开发者决定。&lt;/p>
&lt;p>Agent 则可能：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool failed
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Should I retry?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Maybe retry
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>甚至：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此 Agent Reliability 必须同时解决：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Infrastructure Reliability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Reliability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Behavioral Reliability
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="四agent-reliability-的七层模型">四、Agent Reliability 的七层模型&lt;/h1>
&lt;p>一个成熟的 Agent Platform 可以把 Reliability 分成七层：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Reliability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------------------+-------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Infrastructure Runtime Intelligence
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Network Timeout LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Storage Retry Planning
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Queue State Reasoning
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------------------+-------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Dependency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Tool / API / RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Recovery
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Safety / Governance
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进一步可以抽象成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">L1 Infrastructure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">L2 Dependency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">L3 Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">L4 State
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">L5 Agent Behavior
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">L6 Recovery
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">L7 Governance
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="五reliability-的第一原则不要相信任何依赖">五、Reliability 的第一原则：不要相信任何依赖&lt;/h1>
&lt;p>Agent 系统中的依赖包括：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM Provider
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Vector DB
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Database
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Redis
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Kafka
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">External API
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">MCP Server
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Other Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Search Engine
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Object Storage
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>任何一个依赖都可能：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Unavailable
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Rate Limited
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Malformed Response
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Slow Response
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Partial Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>所以应该遵循：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Every dependency is unreliable by default.&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>架构：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Agent B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- Database
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>每个依赖边界都应该存在：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Circuit Breaker
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Bulkhead
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Fallback
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Observability
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="六timeoutreliability-的第一道防线">六、Timeout：Reliability 的第一道防线&lt;/h1>
&lt;p>最危险的系统通常不是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Fast Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Slow Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">等待 30 秒
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">等待 30 秒
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">等待 30 秒
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User Request = 90s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此 Agent Runtime 必须设计：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Request Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Step Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Workflow Timeout
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Global Timeout = 60s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Step Timeout = 20s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Timeout = 5s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>形成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User Request
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---------------- 60s ----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Step 1 -- 10s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Step 2 -- 15s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Step 3 -- 20s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Recovery -- 10s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="七timeout-必须具有层级性">七、Timeout 必须具有层级性&lt;/h1>
&lt;p>不能简单：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-java" data-lang="java">&lt;span class="line">&lt;span class="cl">&lt;span class="n">timeout&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">60s&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>应该：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Request Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Planning Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- LLM Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Tool Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Recovery Timeout
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Request = 60s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Planning = 5s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM = 15s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool = 10s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Recovery = 10s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这样 Agent 才不会出现：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool 调用了 60 秒
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>导致整个 Runtime 没有恢复空间。&lt;/p>
&lt;hr>
&lt;h1 id="八retry不是所有失败都应该重试">八、Retry：不是所有失败都应该重试&lt;/h1>
&lt;p>Agent 系统中非常容易犯的错误：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这是危险的。&lt;/p>
&lt;p>应该区分：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Transient Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Permanent Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Business Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="九transient-failure">九、Transient Failure&lt;/h1>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">HTTP 503
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Connection Reset
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Temporary Network Error
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Rate Limit
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Attempt 1
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">503
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Wait
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Attempt 2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Success
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十exponential-backoff">十、Exponential Backoff&lt;/h1>
&lt;p>不要：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Retry every 1 second
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>应该：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">1s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">2s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">4s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">8s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">16s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>公式：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">delay = base × 2^attempt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>同时增加：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Jitter
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">delay =
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">min(
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> maxDelay,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> base * 2^attempt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+ random()
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>避免大量 Agent 同时重试造成：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Retry Storm&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="十一retry-budget">十一、Retry Budget&lt;/h1>
&lt;p>这是 Agent Reliability 中非常值得引入的概念。&lt;/p>
&lt;p>不要只定义：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">maxRetries = 3
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>还应该定义：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Retry Budget
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">每个 Request
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">最多允许 20% 时间用于 Retry
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Request Budget = 60s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Retry Budget = 12s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这样可以避免：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>耗尽整个请求生命周期。&lt;/p>
&lt;hr>
&lt;h1 id="十二idempotencyagent-reliability-的核心">十二、Idempotency：Agent Reliability 的核心&lt;/h1>
&lt;p>这是 Agent 系统中非常重要的问题。&lt;/p>
&lt;p>假设 Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">CreatePayment
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>第一次：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Request sent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Payment succeeded
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Network timeout
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent 不知道结果。&lt;/p>
&lt;p>于是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果没有 Idempotency：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Payment
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Payment
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可能执行两次。&lt;/p>
&lt;p>因此所有有副作用的 Tool：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">CreateOrder
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">CreatePayment
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">SendEmail
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">TransferMoney
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">DeleteResource
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">CreateTicket
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>应该支持：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Idempotency-Key
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">request_id = agent-task-123
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>第一次：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">POST /payment
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Idempotency-Key: agent-task-123
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>再次 Retry：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">POST /payment
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Idempotency-Key: agent-task-123
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>服务端：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">if key exists:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> return previous result
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">else:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> execute
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十三agent-runtime-应该区分-read-tool-和-write-tool">十三、Agent Runtime 应该区分 Read Tool 和 Write Tool&lt;/h1>
&lt;p>这是非常重要的架构原则。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tools
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Read
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Write
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Read：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">GetUser
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">GetOrder
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">QueryDatabase
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>通常：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Retry = relatively safe
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Write：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">CreateOrder
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">DeleteUser
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">SendEmail
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">TransferMoney
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>必须：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Idempotency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Authorization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Audit
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Approval
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent → Tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不应该是一个统一调用模型。&lt;/p>
&lt;hr>
&lt;h1 id="十四circuit-breaker">十四、Circuit Breaker&lt;/h1>
&lt;p>如果 Tool 连续失败：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Payment API
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>继续调用只会：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">浪费资源
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">增加延迟
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">扩大故障
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>所以：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Circuit Breaker
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>状态：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">CLOSED
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | failures &amp;gt; threshold
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">OPEN
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | wait
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">HALF_OPEN
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- success → CLOSED
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---- failure → OPEN
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十五agent-场景中的-circuit-breaker-更复杂">十五、Agent 场景中的 Circuit Breaker 更复杂&lt;/h1>
&lt;p>传统：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Service A → Service B
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- CRM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Payment
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Email
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- SQL
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>应该：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool-level Circuit Breaker
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Search Tool CLOSED
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">CRM Tool CLOSED
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Payment Tool OPEN
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Email Tool CLOSED
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不能因为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Payment Tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>失败，就把整个 Agent 都关闭。&lt;/p>
&lt;hr>
&lt;h1 id="十六bulkhead防止一个-agent-拖垮整个系统">十六、Bulkhead：防止一个 Agent 拖垮整个系统&lt;/h1>
&lt;p>Agent 的执行具有：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Long-running
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Variable concurrency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Unpredictable tool calls
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此非常容易出现：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Slow
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Threads Occupied
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Thread Pool Exhausted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cannot Execute
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这就是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Cascading Failure&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>解决：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Bulkhead
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Customer Agent Pool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Coding Agent Pool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Data Agent Pool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Background Agent Pool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>每个拥有独立：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Concurrency Limit
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Queue
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Resource Budget
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十七concurrency-limit">十七、Concurrency Limit&lt;/h1>
&lt;p>Agent 不应该无限并发。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Max Concurrent Agents = 100
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进一步：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Max Concurrent Tool Calls = 500
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>甚至：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Per Agent = 10
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Per User = 5
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Per Tool = 50
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>形成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Global
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tenant
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>多层限流。&lt;/p>
&lt;hr>
&lt;h1 id="十八agent-loop-是-reliability-最大的敌人之一">十八、Agent Loop 是 Reliability 最大的敌人之一&lt;/h1>
&lt;p>Agent 很容易出现：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Think
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Observe
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Think
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Observe
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Think
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果没有终止条件：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Infinite Loop
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此 Agent Runtime 必须设计：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Max Steps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Max Tool Calls
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Max Tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Max Execution Time
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Max Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">maxSteps = 20
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">maxToolCalls = 30
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">maxTokens = 100000
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">maxExecutionTime = 60s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">maxCost = $0.50
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="十九agent-budget">十九、Agent Budget&lt;/h1>
&lt;p>可以把这些统一成：&lt;/p>
&lt;h1 id="agent-budget">Agent Budget&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Time Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Token Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Tool Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Cost Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Step Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Retry Budget
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这是 Agent Runtime 非常重要的设计。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;maxExecutionTime&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">60000&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;maxSteps&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">20&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;maxToolCalls&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">30&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;maxTokens&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">100000&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;maxCost&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">0.5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>一旦超限：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">STOP
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而不是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">继续让 Agent 自己决定
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十state-reliability">二十、State Reliability&lt;/h1>
&lt;p>Agent 通常是 Stateful 的：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">State
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Step
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">State
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Step
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此不能只放在：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">JVM Memory
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>否则：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Runtime Crash
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>整个任务状态丢失。&lt;/p>
&lt;p>应该：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">State Store
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Redis
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">PostgreSQL
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">DynamoDB
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>保存：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task ID
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Current Step
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Plan
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Results
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Checkpoint
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry Count
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Status
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十一checkpoint">二十一、Checkpoint&lt;/h1>
&lt;p>复杂 Agent 可以：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Step 1
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Checkpoint
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Step 2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Checkpoint
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Step 3
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Step 3 Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不需要：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Restart from Step 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Resume from Step 3
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>架构：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Step 1 ── Checkpoint
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Step 2 ── Checkpoint
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Step 3 ── Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Recovery
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Resume
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十二event-driven-reliability">二十二、Event-Driven Reliability&lt;/h1>
&lt;p>对于长时间 Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">等待外部系统
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不要一直占着 HTTP Connection。&lt;/p>
&lt;p>应该：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">API
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Task Created
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Kafka
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Execute
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Event
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">State Store
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">AgentTaskCreated
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AgentStepStarted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ToolCalled
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ToolCompleted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AgentStepFailed
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AgentRetrying
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AgentCompleted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AgentFailed
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这样可以实现：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Durable Execution&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="二十三agent-failure-recovery">二十三、Agent Failure Recovery&lt;/h1>
&lt;p>Agent Failure 可以分为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- LLM Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Tool Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Network Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- State Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Logic Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Safety Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Budget Exhaustion
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不同 Failure：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">不同 Recovery Strategy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十四recovery-matrix">二十四、Recovery Matrix&lt;/h1>
&lt;p>可以建立：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Failure&lt;/th>
&lt;th style="text-align:right">Retry&lt;/th>
&lt;th style="text-align:right">Fallback&lt;/th>
&lt;th style="text-align:right">Replan&lt;/th>
&lt;th style="text-align:right">Human&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>LLM Timeout&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Tool Timeout&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Tool 500&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Invalid Tool Args&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Knowledge Missing&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Budget Exhausted&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Payment Failed&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Safety Violation&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">✓&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>这比：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">catch(Exception e)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>高级得多。&lt;/p>
&lt;hr>
&lt;h1 id="二十五fallback">二十五、Fallback&lt;/h1>
&lt;p>Agent 不应该只有：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Success
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Primary
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Fallback
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如 LLM：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">GPT Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Backup Model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Tool：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Primary Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Backup Search
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>RAG：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Vector Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">No Result
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Keyword Search
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十六graceful-degradation">二十六、Graceful Degradation&lt;/h1>
&lt;p>可靠系统的一个重要原则：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>失败时不要全部失败。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Recommendation Agent
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>推荐服务失败：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Recommendation unavailable
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Order Service
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Payment Service
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">User Service
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>仍然正常。&lt;/p>
&lt;p>即：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Partial Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Partial Success
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而不是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">One Tool Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Entire Agent Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十七multi-agent-reliability">二十七、Multi-Agent Reliability&lt;/h1>
&lt;p>如果系统变成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Supervisor
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Research Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Coding Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Data Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Review Agent
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Reliability 问题会进一步扩大。&lt;/p>
&lt;p>因为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent C
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent D
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>形成：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Distributed Agent System&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="二十八agent-to-agent-failure">二十八、Agent-to-Agent Failure&lt;/h1>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent A → Agent B
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent B：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Timeout
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent A 是否：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Retry?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Fallback?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Replan?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Stop?
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此 A2A 通信应该具备：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Request ID
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Correlation ID
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Idempotency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Capability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Authentication
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Authorization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Trace Context
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="二十九distributed-reliability">二十九、Distributed Reliability&lt;/h1>
&lt;p>Multi-Agent 系统实际上类似：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Distributed System
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>所以需要：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Correlation ID
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Distributed Trace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Circuit Breaker
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Event
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">State
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Checkpoint
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Saga
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>尤其是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>不要把 Multi-Agent 当成简单的函数调用。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>它实际上是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Distributed Workflow
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十saga-pattern">三十、Saga Pattern&lt;/h1>
&lt;p>如果 Agent 执行：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Create Order
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reserve Inventory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Charge Payment
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Send Notification
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>中间：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Charge Payment
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>失败怎么办？&lt;/p>
&lt;p>可以设计：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Create Order
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reserve Inventory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Charge Payment
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> X
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Compensation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Release Inventory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Cancel Order
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这就是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Saga / Compensation&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>特别适合 Agent 执行复杂业务流程。&lt;/p>
&lt;hr>
&lt;h1 id="三十一human-in-the-loop">三十一、Human-in-the-Loop&lt;/h1>
&lt;p>并不是所有事情都应该让 Agent 自动恢复。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Payment
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Delete Production Database
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Transfer Money
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Deploy Production
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Send Legal Document
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>应该：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Risk Detection
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Human Approval
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Execute
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>架构：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Risk Engine
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------+----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Low Risk High Risk
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Auto Execute Human
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Approve
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Execute
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这实际上是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Reliability + Safety + Governance&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>的结合。&lt;/p>
&lt;hr>
&lt;h1 id="三十二reliability-与-safety-的边界">三十二、Reliability 与 Safety 的边界&lt;/h1>
&lt;p>Reliability：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">系统是否按照预期工作？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Safety：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">即使工作正常，会不会做危险的事情？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如 Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">正确调用 DeleteDatabase Tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>从 Reliability 看：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">SUCCESS
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>从 Safety 看：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">DISASTER
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>所以：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Reliable ≠ Safe
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>必须同时考虑。&lt;/p>
&lt;hr>
&lt;h1 id="三十三observability-是-reliability-的基础">三十三、Observability 是 Reliability 的基础&lt;/h1>
&lt;p>没有 Observability：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Failed
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>你不知道：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">为什么？
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>所以必须记录：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Trace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Logs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Metrics
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Events
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Trace ID: abc123
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Start
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Call
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Success
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Final Answer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这样才能进行：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Root Cause Analysis
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十四agent-reliability-metrics">三十四、Agent Reliability Metrics&lt;/h1>
&lt;p>至少需要以下指标。&lt;/p>
&lt;h3 id="availability">Availability&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Availability =
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Successful Requests
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Total Requests
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="task-success-rate">Task Success Rate&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task Success Rate =
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Successful Tasks
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Total Tasks
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="failure-rate">Failure Rate&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Failure Rate =
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failed Tasks
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Total Tasks
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="recovery-rate">Recovery Rate&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Recovery Rate =
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Recovered Tasks
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failed Tasks
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这个指标非常适合 Agent。&lt;/p>
&lt;p>因为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>本身不一定意味着：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Success
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent 仍然可靠。&lt;/p>
&lt;hr>
&lt;h1 id="三十五mttr">三十五、MTTR&lt;/h1>
&lt;p>传统系统：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Mean Time To Recovery
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent 也需要。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Detection
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Fallback
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Success
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>测量：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Recovery Time
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十六agent-reliability-slo">三十六、Agent Reliability SLO&lt;/h1>
&lt;p>企业 Agent 可以定义：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task Success Rate &amp;gt;= 99%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">p95 Latency &amp;lt;= 10s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Failure Recovery &amp;gt;= 95%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Hallucination Rate &amp;lt;= 1%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Unsafe Action Rate &amp;lt;= 0.01%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Budget Violation = 0
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>注意：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Reliability 不应该只有 Availability SLO。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>应该是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Quality SLO
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reliability SLO
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Safety SLO
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost SLO
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十七reliability-dashboard">三十七、Reliability Dashboard&lt;/h1>
&lt;p>可以设计：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Reliability Dashboard
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Task Success Rate 98.7%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Availability 99.95%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Recovery Rate 96.2%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Failure Rate 1.8%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Failure Rate 0.4%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Timeout Rate 0.7%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Loop Detection 0.1%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">p95 Latency 8.4s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">p99 Latency 19.2s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Avg Tool Calls 4.3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Avg Cost $0.06
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>然后继续向下钻取：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Trace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Step
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="三十八reliability-与-evaluation-的关系">三十八、Reliability 与 Evaluation 的关系&lt;/h1>
&lt;p>前面我们讨论过：&lt;/p>
&lt;blockquote>
&lt;p>Evaluation：Agent 做得好不好？&lt;/p>
&lt;/blockquote>
&lt;p>Reliability：&lt;/p>
&lt;blockquote>
&lt;p>Agent 能不能稳定地把事情做好？&lt;/p>
&lt;/blockquote>
&lt;p>二者关系：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------+----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Evaluation Reliability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Is it good? Can it keep
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> doing it?
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Accuracy = 95%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Availability = 90%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent B：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Accuracy = 93%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Availability = 99.9%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>生产环境中：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent B
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可能更加可靠。&lt;/p>
&lt;hr>
&lt;h1 id="三十九reliability--evaluation--observability">三十九、Reliability + Evaluation + Observability&lt;/h1>
&lt;p>这三个体系应该统一起来：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Platform
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---------------+---------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Observability Evaluation Reliability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> What happened? How good? Will it keep
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> working?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +---------------+---------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> AgentOps
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终形成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Observe
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Detect
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Recover
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Improve
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="四十agent-reliability-reference-architecture">四十、Agent Reliability Reference Architecture&lt;/h1>
&lt;p>一个企业级 Agent Platform 可以设计成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Client
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> API Gateway
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Gateway
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------------+-------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent Runtime Policy Engine
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------+-------+ |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> LLM Tools RAG |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------+-------+-------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> State Manager
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----+------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Redis PostgreSQL
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Kafka
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Event / Workflow Engine
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +------------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Checkpoint Recovery
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +--------+---------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------+-------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Trace Metrics Logs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-------+-------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> AgentOps
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="四十一agent-runtime-中的-reliability-middleware">四十一、Agent Runtime 中的 Reliability Middleware&lt;/h1>
&lt;p>一个非常实用的设计是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reliability Middleware
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----+----+----+----+----+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | | | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Timeout Retry Breaker Budget Checkpoint
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-java" data-lang="java">&lt;span class="line">&lt;span class="cl">&lt;span class="kd">public&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">AgentResult&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="nf">execute&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">AgentTask&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">task&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">return&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">timeout&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="na">execute&lt;/span>&lt;span class="p">(()&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">retry&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="na">execute&lt;/span>&lt;span class="p">(()&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">circuitBreaker&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="na">execute&lt;/span>&lt;span class="p">(()&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">budget&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="na">execute&lt;/span>&lt;span class="p">(()&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">agent&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="na">run&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">task&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>实际生产环境还需要：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Idempotency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tracing
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Metrics
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Audit
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Policy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="四十二不要让-llm-决定-reliability-policy">四十二、不要让 LLM 决定 Reliability Policy&lt;/h1>
&lt;p>这是一个非常重要的原则。&lt;/p>
&lt;p>错误：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM decides:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;#34;Maybe retry 5 times&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>正确：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Runtime Policy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Retry &amp;lt;= 3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Timeout &amp;lt;= 5s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Budget &amp;lt;= 10s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Circuit Breaker
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-- Fallback
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>然后才：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM Replan
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>即：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>LLM 决定业务行为，Runtime 决定系统边界。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>这是 Agent Platform 非常重要的架构原则。&lt;/p>
&lt;hr>
&lt;h1 id="四十三policy-与-intelligence-分离">四十三、Policy 与 Intelligence 分离&lt;/h1>
&lt;p>可以进一步总结成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +-----------+-----------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Intelligence Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Planning Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Reasoning Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Tool Selection Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Replanning Security
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Circuit Breaker
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> State
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>LLM：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">What should I do?
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Runtime：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">What am I allowed to do?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">How long can I run?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">How many times can I retry?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">How much can I spend?
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这是一种：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Policy / Intelligence Separation&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="四十四agent-reliability-的五大原则">四十四、Agent Reliability 的五大原则&lt;/h1>
&lt;p>如果把全文浓缩成五条架构原则：&lt;/p>
&lt;h2 id="原则一everything-can-fail">原则一：Everything Can Fail&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Network
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Database
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>都可能失败。&lt;/p>
&lt;hr>
&lt;h2 id="原则二bound-everything">原则二：Bound Everything&lt;/h2>
&lt;p>任何 Agent 都必须有：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Time
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Token
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Step
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Budget。&lt;/p>
&lt;hr>
&lt;h2 id="原则三make-side-effects-idempotent">原则三：Make Side Effects Idempotent&lt;/h2>
&lt;p>所有：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Write Operation
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>必须考虑：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Idempotency
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="原则四failure-must-be-recoverable">原则四：Failure Must Be Recoverable&lt;/h2>
&lt;p>不要：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Failure → Crash
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而应该：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Detect
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Classify
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry / Fallback / Replan
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Recover
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="原则五runtime-controls-the-agent">原则五：Runtime Controls the Agent&lt;/h2>
&lt;p>最重要：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM = Intelligence
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Runtime = Control
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不要让：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>突破：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Security
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Concurrency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Policy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="四十五agent-reliability-的最终架构思想">四十五、Agent Reliability 的最终架构思想&lt;/h1>
&lt;p>传统系统：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Code
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Test
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Deploy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Monitor
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent 系统：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Evaluate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Deploy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Observe
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Detect Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Recover
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Learn
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Improve
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此 Agent Platform 最终应该形成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> ┌───────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Agent Runtime │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └─────────┬─────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Execute Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌───────────────┼───────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Timeout Budget Policy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───────────────┼───────────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Tool / LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Failure?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────┴─────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> NO YES
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Classify
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ ┌──────┼──────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Retry Fallback Replan
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ └──────┼──────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └─────┬─────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Recover
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Complete
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Improve
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="四十六结语reliability-是-agent-从-demo-走向生产的分水岭">四十六、结语：Reliability 是 Agent 从 Demo 走向生产的分水岭&lt;/h1>
&lt;p>Agent 最容易做出来的是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Answer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>真正困难的是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Invalid Result
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Replan
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Fallback
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Checkpoint
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Resume
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Human Approval
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Execute
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Result
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这才是真正的：&lt;/p>
&lt;h1 id="production-grade-agent">Production-Grade Agent&lt;/h1>
&lt;p>所以，从 Agent Platform 架构角度看，&lt;strong>Reliability 不是一个附加功能，而是 Agent Runtime 的核心能力。&lt;/strong>&lt;/p>
&lt;p>可以把整个 Agent Platform 的核心能力概括为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Platform
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Runtime Observability Evaluation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Reliability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Resilience Recovery Governance
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +----------------+----------------+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Production
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终形成一套完整的 Agent Engineering 闭环：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Runtime 保证执行，Observability 负责看见，Evaluation 负责判断，Reliability 负责恢复，Governance 负责约束，AgentOps 负责持续改进。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>这也是从普通 &lt;strong>LLM Application&lt;/strong> 走向真正 &lt;strong>Enterprise Agent Platform&lt;/strong> 的关键一步。&lt;/p></description></item><item><title>AI Cost Optimization：从 Token 控制到 Agent 成本工程的系统化实践</title><link>https://wzhai-hub.github.io/Tony/ai/production-ai/cost-optimization/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><guid>https://wzhai-hub.github.io/Tony/ai/production-ai/cost-optimization/</guid><description>&lt;h1 id="ai-cost-optimization从-token-控制到-agent-成本工程的系统化实践">AI Cost Optimization：从 Token 控制到 Agent 成本工程的系统化实践&lt;/h1>
&lt;blockquote>
&lt;p>&lt;strong>摘要&lt;/strong>
当企业开始规模化使用 LLM、RAG 和 Agent 后，“模型效果”不再是唯一的工程指标。一个 Agent 请求可能经历多轮推理、工具调用、检索、上下文压缩以及多个模型协作，最终成本可能是一次普通 Chat 请求的数十倍甚至上百倍。&lt;/p>
&lt;p>因此，AI 系统需要从传统的 Infrastructure Cost Optimization，进一步演进到 &lt;strong>AI Cost Optimization&lt;/strong>：在保证质量、延迟和可靠性的前提下，对模型、Token、Context、RAG、Agent、缓存、并发以及基础设施进行系统化成本治理。&lt;/p>
&lt;p>本文从 AI 系统架构师视角，建立一套完整的 AI 成本优化体系，并重点讨论 &lt;strong>Token Economics、Model Routing、Context Engineering、Semantic Cache、RAG Optimization、Agent Cost Control、Observability 和 FinOps&lt;/strong>。&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="1-为什么-ai-系统需要-cost-optimization">1. 为什么 AI 系统需要 Cost Optimization？&lt;/h1>
&lt;p>传统互联网系统的成本模型通常比较容易理解：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">API Gateway
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Application
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Database / Cache
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Infrastructure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>成本主要来自：&lt;/p>
&lt;ul>
&lt;li>CPU&lt;/li>
&lt;li>Memory&lt;/li>
&lt;li>Storage&lt;/li>
&lt;li>Network&lt;/li>
&lt;li>Database&lt;/li>
&lt;li>Kubernetes&lt;/li>
&lt;li>Cloud Infrastructure&lt;/li>
&lt;/ul>
&lt;p>而 LLM 应用的成本结构完全不同：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Prompt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Calling
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Final Answer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>一次用户请求可能产生：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Input Tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retrieved Tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Conversation History
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">System Prompt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Result
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Output Tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Embedding Calls
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reranking Calls
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Multiple LLM Calls
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此，AI 系统的核心问题不再是：&lt;/p>
&lt;blockquote>
&lt;p>“这个 API 调用了多少次？”&lt;/p>
&lt;/blockquote>
&lt;p>而是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>“一次业务任务到底消耗了多少 AI Compute？”&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="2-ai-cost-的基本数学模型">2. AI Cost 的基本数学模型&lt;/h1>
&lt;p>可以把一次 AI 请求的成本抽象为：&lt;/p>
&lt;p>[
C_{request} =
C_{LLM}
+
C_{Embedding}
+
C_{Reranking}
+
C_{Tool}
+
C_{Infrastructure}
]&lt;/p>
&lt;p>其中：&lt;/p>
&lt;h1 id="c_llm">[
C_{LLM}&lt;/h1>
&lt;p>\sum_{i=1}^{n}
(
InputTokens_i \times P_{in}
+
OutputTokens_i \times P_{out}
)
]&lt;/p>
&lt;p>如果一个 Agent 执行：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">1. Planner
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">2. Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">3. RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">4. Tool Call
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">5. Reflection
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">6. Final Answer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么它实际上不是一次模型调用，而可能是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM Call #1
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Call #2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Call #3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Call #4
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Call #5
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Call #6
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>假设每次调用平均消耗：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Input = 8K tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Output = 2K tokens
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么：&lt;/p>
&lt;p>[
TotalTokens = 6 \times (8K + 2K)
]&lt;/p>
&lt;p>也就是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">60K tokens / request
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果每天执行：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">100,000 requests
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么每天就是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">6 billion tokens
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这时，即使单次请求成本看起来很低，规模化之后也会形成非常大的费用。&lt;/p>
&lt;hr>
&lt;h1 id="3-cost-optimization-的核心思想">3. Cost Optimization 的核心思想&lt;/h1>
&lt;p>AI Cost Optimization 不能简单理解为：&lt;/p>
&lt;blockquote>
&lt;p>“换一个便宜的模型。”&lt;/p>
&lt;/blockquote>
&lt;p>真正成熟的优化体系应该是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> AI Cost Optimization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌───────────────────┼───────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Model Optimization Context Optimization Architecture
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Model Routing Prompt Optimization Cache
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Model Cascade Context Window RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Batch Inference Compression Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Quantization Summarization Queue
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───────────────────┼───────────────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Cost Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> FinOps / Governance
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以总结为六个方向：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>少调用模型&lt;/strong>&lt;/li>
&lt;li>&lt;strong>少传 Token&lt;/strong>&lt;/li>
&lt;li>&lt;strong>使用更便宜的模型&lt;/strong>&lt;/li>
&lt;li>&lt;strong>减少 Agent 无效推理&lt;/strong>&lt;/li>
&lt;li>&lt;strong>提高缓存命中率&lt;/strong>&lt;/li>
&lt;li>&lt;strong>建立完整的成本可观测性&lt;/strong>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h1 id="4-第一原则dont-call-llm-if-you-dont-need-it">4. 第一原则：Don&amp;rsquo;t Call LLM If You Don&amp;rsquo;t Need It&lt;/h1>
&lt;p>这是最重要的成本优化原则。&lt;/p>
&lt;p>很多 AI 系统存在一个典型问题：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">所有请求
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>实际上很多任务根本不需要 LLM。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">&amp;#34;订单 12345 当前状态是什么？&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果数据库已经存在：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">order.status = SHIPPED
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>完全没有必要：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Database
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Answer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>更合理的方式是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Intent Router
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ├── deterministic query
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Database
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └── complex reasoning
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这就是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>LLM as a selective reasoning engine，而不是整个系统的默认执行引擎。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="5-model-routing不要让所有请求使用最贵模型">5. Model Routing：不要让所有请求使用最贵模型&lt;/h1>
&lt;p>这是 AI Cost Optimization 最重要的架构模式之一。&lt;/p>
&lt;p>假设系统拥有：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Model A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">高能力
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">高成本
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">中等能力
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">中等成本
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model C
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">基础能力
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">低成本
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不要设计成：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">所有请求
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model A
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而应该：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Request
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Classifier
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌──────────┼──────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Easy Medium Hard
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Model C Model B Model A
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>请求类型&lt;/th>
&lt;th>推荐模型&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>分类&lt;/td>
&lt;td>Small Model&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>信息抽取&lt;/td>
&lt;td>Small Model&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>FAQ&lt;/td>
&lt;td>Small Model&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>简单代码生成&lt;/td>
&lt;td>Medium Model&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>RAG QA&lt;/td>
&lt;td>Medium Model&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>复杂推理&lt;/td>
&lt;td>Large Model&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>高难度 Coding&lt;/td>
&lt;td>Large Model&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h1 id="6-model-cascade">6. Model Cascade&lt;/h1>
&lt;p>更进一步，可以设计 Model Cascade。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Request
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Small Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Confidence Score
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ├── High
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Answer
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └── Low
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Large Model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>假设：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">80% 请求 → Small Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">20% 请求 → Large Model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么相比：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">100% → Large Model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>成本可能显著降低。&lt;/p>
&lt;p>这里最关键的问题是：&lt;/p>
&lt;blockquote>
&lt;p>如何判断 Small Model 是否有能力解决？&lt;/p>
&lt;/blockquote>
&lt;p>可以使用：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Confidence
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Intent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Complexity
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Token Length
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Retrieval Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Previous Failure Rate
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>构建一个：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Request Complexity Score
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;p>[
Score =
w_1 \times Complexity
+
w_2 \times ContextSize
+
w_3 \times ReasoningRequired
+
w_4 \times HistoricalFailureRate
]&lt;/p>
&lt;p>然后根据 Score 做模型路由。&lt;/p>
&lt;hr>
&lt;h1 id="7-context-engineering最大的隐藏成本">7. Context Engineering：最大的隐藏成本&lt;/h1>
&lt;p>很多团队优化 Token 时，只关注 Prompt。&lt;/p>
&lt;p>实际上真正的问题通常是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Context 太大。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">System Prompt 3K
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Conversation 8K
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RAG Documents 20K
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Results 10K
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">User Request 2K
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">-----------------------
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Total 43K
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果每次 Agent Loop 都把这 43K Token 重新发送给模型：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Iteration 1 → 43K
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Iteration 2 → 43K
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Iteration 3 → 43K
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Iteration 4 → 43K
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">172K input tokens
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可能只是完成一个用户请求。&lt;/p>
&lt;hr>
&lt;h1 id="8-context-compression">8. Context Compression&lt;/h1>
&lt;p>Context Optimization 的核心不是：&lt;/p>
&lt;blockquote>
&lt;p>“把 Prompt 写得更短。”&lt;/p>
&lt;/blockquote>
&lt;p>而是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>让模型只看到当前任务真正需要的信息。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>可以建立：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Raw Context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Relevance Filter
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Deduplication
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Compression
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Summarization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Relevant Context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如原始文档：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">100K tokens
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>通过：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Retriever
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reranker
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Compression
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终只保留：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">8K tokens
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么：&lt;/p>
&lt;p>[
CostReduction \approx 92%
]&lt;/p>
&lt;p>当然，实际效果还需要结合模型价格和缓存机制计算。&lt;/p>
&lt;hr>
&lt;h1 id="9-context-window-不等于-context-budget">9. Context Window 不等于 Context Budget&lt;/h1>
&lt;p>这是 Agent 系统中非常重要的一个概念。&lt;/p>
&lt;p>模型支持：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">1M Context
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不代表你的 Agent 应该使用：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">1M Context
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>应该定义：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Context Budget
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">context&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">system&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">2000&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">conversation&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">4000&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">retrieved_docs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">6000&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">tool_results&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">4000&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">user_query&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">1000&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>总预算：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">17K tokens
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而不是无限制地：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">append(context)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="10-semantic-cacheai-系统中的关键成本杠杆">10. Semantic Cache：AI 系统中的关键成本杠杆&lt;/h1>
&lt;p>传统 Cache：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">GET /product/123
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>使用：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Key = product:123
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但是 LLM 请求通常不是完全相同的：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">&amp;#34;What is Kubernetes?&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;#34;Can you explain Kubernetes?&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;#34;Please explain Kubernetes to me.&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>语义不同，但答案高度相似。&lt;/p>
&lt;p>因此可以使用：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Semantic Cache&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>架构：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User Query
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Embedding
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Vector Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Similarity
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ├── similarity &amp;gt; threshold
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Cache Hit
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └── similarity &amp;lt; threshold
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Cache
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">threshold = 0.92
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">similarity = 0.96
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>直接返回 Cache。&lt;/p>
&lt;hr>
&lt;h1 id="11-semantic-cache-的成本模型">11. Semantic Cache 的成本模型&lt;/h1>
&lt;p>假设：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">100,000 requests/day
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>其中：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Cache Hit = 40%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cache Miss = 60%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么真正调用 LLM 的请求：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">60,000
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而不是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">100,000
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>理论上：&lt;/p>
&lt;p>[
LLMCallsReduced = 40%
]&lt;/p>
&lt;p>如果 LLM 是整个系统最大的成本项，Semantic Cache 的收益可能非常明显。&lt;/p>
&lt;p>但需要注意：&lt;/p>
&lt;blockquote>
&lt;p>Cache 命中率越高不一定越好。&lt;/p>
&lt;/blockquote>
&lt;p>因为错误的 Semantic Cache 会产生：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Wrong Answer
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Stale Answer
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Context Mismatch
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Authorization Leak
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此 Cache Key 必须考虑：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">tenant
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">user
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">permission
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">prompt version
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">knowledge version
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">language
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">query embedding
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="12-rag-cost-optimization">12. RAG Cost Optimization&lt;/h1>
&lt;p>RAG 是另一个非常容易产生隐性成本的地方。&lt;/p>
&lt;p>典型 RAG：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Query
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Embedding
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Vector Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Top-K
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reranker
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>问题在于：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Top-K = 20
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>意味着可能把 20 个 Document 全部送给 LLM。&lt;/p>
&lt;p>更合理：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Vector Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Top 20
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reranker
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Top 5
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Context Compression
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Top 3 relevant chunks
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这就是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Retrieve More, Send Less&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="13-rag-中不要把-retrieval-和-generation-混在一起优化">13. RAG 中不要把 Retrieval 和 Generation 混在一起优化&lt;/h1>
&lt;p>RAG Cost 可以拆成：&lt;/p>
&lt;h1 id="c_rag">[
C_{RAG}&lt;/h1>
&lt;p>C_{Embedding}
+
C_{VectorSearch}
+
C_{Reranking}
+
C_{Generation}
]&lt;/p>
&lt;p>通常：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Generation Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reranking Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Embedding Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Vector Search Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此不要为了省一点 Vector Search CPU，而把大量无关文档传给 LLM。&lt;/p>
&lt;p>真正应该优化的是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM Context Size
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="14-agent-cost-optimization">14. Agent Cost Optimization&lt;/h1>
&lt;p>Agent 是 AI Cost Optimization 最复杂的场景。&lt;/p>
&lt;p>普通 Chat：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Answer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Planner
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Observation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reasoning
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Observation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reflection
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Answer
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果 Agent 无限循环：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">while (!done) {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> callLLM();
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> executeTool();
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>成本非常危险。&lt;/p>
&lt;hr>
&lt;h1 id="15-agent-budget">15. Agent Budget&lt;/h1>
&lt;p>生产环境中的 Agent 必须具有：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Max Steps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Max Tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Max Tool Calls
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Max Time
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Max Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">agent&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">maxSteps&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">8&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">maxTokens&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">30000&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">maxToolCalls&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">10&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">timeout&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">60s&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">maxCost&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">0.10&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这样 Agent 不会因为错误规划进入：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">...
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>无限循环。&lt;/p>
&lt;hr>
&lt;h1 id="16-cost-aware-agent">16. Cost-aware Agent&lt;/h1>
&lt;p>进一步，可以让 Agent 自己感知成本。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent State
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">remaining_budget = $0.05
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">current_cost = $0.03
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">remaining_budget = $0.02
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>此时 Agent 可以动态改变策略：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">High Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Large Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Deep Reasoning
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Multiple Tools
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Low Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Small Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Short Context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Limited Tools
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这可以称为：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Cost-Aware Agent&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>Agent 的 Objective 不再只是：&lt;/p>
&lt;p>[
Maximize\ Quality
]&lt;/p>
&lt;p>而是：&lt;/p>
&lt;p>[
Maximize\ Quality - \lambda Cost
]&lt;/p>
&lt;p>进一步可以形成：&lt;/p>
&lt;h2 id="quality">[
Utility =
Quality&lt;/h2>
&lt;h2 id="lambda_1-cost">\lambda_1 Cost&lt;/h2>
&lt;h2 id="lambda_2-latency">\lambda_2 Latency&lt;/h2>
&lt;p>\lambda_3 Risk
]&lt;/p>
&lt;p>这实际上是 AI Agent 从“能工作”走向“可生产化”的重要一步。&lt;/p>
&lt;hr>
&lt;h1 id="17-multi-agent-系统尤其需要-cost-governance">17. Multi-Agent 系统尤其需要 Cost Governance&lt;/h1>
&lt;p>Multi-Agent 架构通常类似：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Supervisor
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────────────┼─────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Researcher Coder Reviewer
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> LLM LLM LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>问题是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">1 User Request
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Supervisor
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Researcher × 3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Coder × 2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reviewer × 2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Supervisor
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终可能产生：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">10+ LLM calls
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此 Multi-Agent 必须考虑：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Priority
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Timeout
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Max Calls
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Model Tier
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Context Budget
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="18-model-selection-matrix">18. Model Selection Matrix&lt;/h1>
&lt;p>可以为 Agent 定义模型等级：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tier 1
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cheap Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Classification
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Extraction
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Simple Tool Calling
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tier 2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Medium Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Planning
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Coding
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tier 3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Premium Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Complex Reasoning
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Architecture
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Critical Decisions
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Supervisor 根据任务动态分配：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Complexity
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model Tier
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Budget
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而不是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">所有 Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Premium Model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="19-prompt-optimization">19. Prompt Optimization&lt;/h1>
&lt;p>Prompt Optimization 不是单纯减少文字。&lt;/p>
&lt;p>真正应该关注：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Prompt Length
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Instruction Duplication
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Few-shot Examples
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Output Length
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Context Duplication
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Description
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">System Prompt = 8K
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Definitions = 10K
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>每次调用都发送：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">18K tokens
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这其实是非常大的固定成本。&lt;/p>
&lt;p>因此可以考虑：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Dynamic Tool Loading
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>不要给 Agent：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">100 tools
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">User Request
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Retrieval
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Relevant Tools
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">100 tools
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Router
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">5 tools
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这同时降低：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Token Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reasoning Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Selection Complexity
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="20-tool-description-optimization">20. Tool Description Optimization&lt;/h1>
&lt;p>很多 MCP / Agent 系统存在一个问题：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Definition
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Name
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Description
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Parameters
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Examples
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Constraints
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果系统拥有：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">200 tools
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Tool schema 本身就可能消耗大量 Context。&lt;/p>
&lt;p>因此可以采用：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Registry
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Semantic Search
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Top-K Tools
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>也就是说：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Tools should be retrieved just like documents.&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>这是 Agent 系统非常值得关注的优化方向。&lt;/p>
&lt;hr>
&lt;h1 id="21-batch-processing">21. Batch Processing&lt;/h1>
&lt;p>不是所有 AI 请求都要求实时。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Document Classification
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Data Extraction
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Embedding
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Summarization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Report Generation
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以从：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Real-time
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>转为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Batch
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>架构：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Application
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Kafka
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Batch Queue
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Worker
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Result Storage
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这样可以：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">提高吞吐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">降低峰值资源
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">减少 API overhead
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">提高资源利用率
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="22-ai-infrastructure-cost">22. AI Infrastructure Cost&lt;/h1>
&lt;p>如果企业开始自建模型，那么成本模型又发生变化：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">GPU
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">CPU
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Storage
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Network
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Kubernetes
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Inference Server
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model Storage
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Observability
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>此时核心指标变成：&lt;/p>
&lt;p>[
CostPerToken =
\frac{TotalInfrastructureCost}
{GeneratedTokens}
]&lt;/p>
&lt;p>或者：&lt;/p>
&lt;p>[
CostPerRequest =
\frac{GPUCost + InfraCost}
{Requests}
]&lt;/p>
&lt;hr>
&lt;h1 id="23-gpu-utilization">23. GPU Utilization&lt;/h1>
&lt;p>GPU 成本优化不能简单理解为：&lt;/p>
&lt;blockquote>
&lt;p>“让 GPU 使用率达到 100%。”&lt;/p>
&lt;/blockquote>
&lt;p>真正重要的是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">GPU Utilization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tokens/sec
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Batch Size
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Memory Utilization
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">GPU A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Utilization = 35%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可能意味着：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Batch 太小
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Request 太少
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">KV Cache 不合理
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">模型没有充分并发
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以通过：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Dynamic Batching
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Continuous Batching
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Request Queue
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model Quantization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">KV Cache Optimization
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>提升单位 GPU 的 Token 产出。&lt;/p>
&lt;hr>
&lt;h1 id="24-quantization">24. Quantization&lt;/h1>
&lt;p>如果模型允许，可以使用：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">FP16
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">INT8
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">INT4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>降低：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">GPU Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Bandwidth
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Inference Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但 Quantization 的核心不是：&lt;/p>
&lt;blockquote>
&lt;p>“精度越低越好。”&lt;/p>
&lt;/blockquote>
&lt;p>而是：&lt;/p>
&lt;p>[
CostSaving&lt;/p>
&lt;blockquote>
&lt;/blockquote>
&lt;p>QualityLoss
]&lt;/p>
&lt;p>因此应该通过 Evaluation Dataset 验证：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Accuracy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reasoning
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Hallucination
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="25-ai-cost-observability">25. AI Cost Observability&lt;/h1>
&lt;p>没有 Observability，就无法进行 Cost Optimization。&lt;/p>
&lt;p>传统监控：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">CPU
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">QPS
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Error Rate
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>AI 系统必须增加：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Input Tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Output Tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cached Tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Provider
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Prompt Version
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Steps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Calls
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Embedding Calls
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RAG Documents
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="26-ai-cost-dashboard">26. AI Cost Dashboard&lt;/h1>
&lt;p>建议建立这样的 Dashboard：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> AI Cost Dashboard
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Total Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">$12,530
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost / Request
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">$0.018
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Total Tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">2.3B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cache Hit Rate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">42%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Average Agent Steps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">3.2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model Distribution
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Small 55%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Medium 35%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Large 10%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进一步按照：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tenant
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Application
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">API
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Provider
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Environment
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进行成本分析。&lt;/p>
&lt;hr>
&lt;h1 id="27-cost-attribution">27. Cost Attribution&lt;/h1>
&lt;p>企业级 AI 平台最重要的能力之一是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Who is spending the money?&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Company
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ├── Business A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ ├── Chatbot
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ └── RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ├── Business B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ └── Coding Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └── Business C
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └── Customer Service
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终应该能够看到：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Business A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">$5,200
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Business B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">$12,800
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Business C
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">$3,100
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进一步：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Application
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Token
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这就是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>AI FinOps&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="28-cost-unit-economics">28. Cost Unit Economics&lt;/h1>
&lt;p>不要只关注：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Monthly AI Bill
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>更重要的是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Cost per User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost per Request
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost per Successful Task
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost per Document
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost per Conversation
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost per Agent Task
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>尤其是：&lt;/p>
&lt;h1 id="costpersuccessfultask">[
CostPerSuccessfulTask&lt;/h1>
&lt;p>\frac{TotalCost}
{SuccessfulTasks}
]&lt;/p>
&lt;p>这个指标非常重要。&lt;/p>
&lt;p>假设：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">System A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost = $10,000
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Success Rate = 50%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">System B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost = $12,000
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Success Rate = 95%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>那么：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Cost / Successful Task
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>B 可能反而更便宜。&lt;/p>
&lt;p>所以：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Cost Optimization 不能脱离 Quality Optimization。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="29-cost-vs-quality-optimization">29. Cost vs Quality Optimization&lt;/h1>
&lt;p>AI 系统实际上是在优化一个多目标函数：&lt;/p>
&lt;h2 id="alpha-quality">[
Objective =
\alpha Quality&lt;/h2>
&lt;h2 id="beta-cost">\beta Cost&lt;/h2>
&lt;h2 id="gamma-latency">\gamma Latency&lt;/h2>
&lt;p>\delta Risk
]&lt;/p>
&lt;p>不同业务的权重不同。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;h3 id="客服">客服&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Quality 50%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost 30%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency 20%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="coding-agent">Coding Agent&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Quality 70%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost 15%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency 15%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="enterprise-batch-processing">Enterprise Batch Processing&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Quality 50%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost 40%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency 10%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此不存在：&lt;/p>
&lt;blockquote>
&lt;p>“最低成本就是最佳方案。”&lt;/p>
&lt;/blockquote>
&lt;p>真正目标是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Minimum Cost under Quality Constraint&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="30-一个完整的-ai-cost-optimization-architecture">30. 一个完整的 AI Cost Optimization Architecture&lt;/h1>
&lt;p>最终可以形成如下架构：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> User
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> API Gateway
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> AI Cost Gateway
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌──────────────────┼──────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Cache Layer Model Router Budget Manager
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Semantic Cache Small Model Cost Policy
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Medium Model Rate Limit
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Large Model Token Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └──────────────────┼──────────────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────────────┼─────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> RAG Tools Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Retrieval Tool Router Context Manager
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └─────────────┼─────────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> LLM Provider
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────────────┼─────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Metrics Logs Traces
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └─────────────┼─────────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> AI FinOps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────────────┼─────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Cost Report Cost Alert Optimization
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="31-ai-cost-gateway">31. AI Cost Gateway&lt;/h1>
&lt;p>在企业架构中，我非常推荐增加一个：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>AI Cost Gateway&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>它类似：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">API Gateway
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但专门负责 AI 成本治理。&lt;/p>
&lt;p>核心职责：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">1. Model Routing
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">2. Token Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">3. Rate Limiting
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">4. Semantic Cache
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">5. Cost Tracking
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">6. Provider Routing
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">7. Model Fallback
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">8. Tenant Quota
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">9. Cost Alert
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">10. Policy Enforcement
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>调用链：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Application
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AI Cost Gateway
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Policy Engine
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Model Router
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM Provider
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="32-multi-provider-cost-optimization">32. Multi-Provider Cost Optimization&lt;/h1>
&lt;p>企业通常不会只使用一个模型供应商。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Provider A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Provider B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Provider C
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Self-hosted Model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以建立：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">LLM Router
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>根据：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Availability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quality
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Region
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Data Policy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>动态选择 Provider。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Request
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> LLM Router
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌────────────┼────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Provider A Provider B Self-hosted
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Cheap Fast Secure
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这实际上类似传统 Cloud FinOps 中的：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Cloud Workload Placement&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="33-cost-aware-fallback">33. Cost-aware Fallback&lt;/h1>
&lt;p>传统系统：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Primary Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Backup Model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>AI 系统可以进一步：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Primary Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Failure / Budget Exceeded
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cheaper Model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Premium Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quota exceeded
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Medium Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quota exceeded
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Small Model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这可以保证：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">系统可用性
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">+
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">成本可控
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="34-token-budget-是-ai-系统的资源配额">34. Token Budget 是 AI 系统的“资源配额”&lt;/h1>
&lt;p>传统系统：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">CPU Quota
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Memory Quota
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">API Rate Limit
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>AI 系统应该增加：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Token Quota
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost Quota
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Step Quota
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Call Quota
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">tenant&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">enterprise-a&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">dailyTokenLimit&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">100000000&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">dailyCostLimit&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">500&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">maxAgentSteps&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">10&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">enterprise-b&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">dailyTokenLimit&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">20000000&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">dailyCostLimit&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">100&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">maxAgentSteps&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">5&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这让 AI 平台真正具备：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Resource Governance&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="35-ai-cost-optimization-的八层模型">35. AI Cost Optimization 的八层模型&lt;/h1>
&lt;p>可以把整个体系抽象成八层：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Layer 8 ─ Business Optimization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↑
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Layer 7 ─ AI FinOps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↑
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Layer 6 ─ Observability
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↑
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Layer 5 ─ Agent Optimization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↑
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Layer 4 ─ RAG / Context Optimization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↑
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Layer 3 ─ Model Routing
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↑
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Layer 2 ─ Token Optimization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↑
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Layer 1 ─ Infrastructure Optimization
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>很多团队只做：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Layer 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">GPU Optimization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Kubernetes Optimization
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但真正的 AI 成本往往更多来自：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Token
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Context
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>因此：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>AI Cost Optimization 是 Application Architecture 问题，而不仅仅是 Infrastructure 问题。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="36-一套完整的优化优先级">36. 一套完整的优化优先级&lt;/h1>
&lt;p>实际项目中，可以按照下面的优先级进行。&lt;/p>
&lt;h2 id="level-1减少无意义调用">Level 1：减少无意义调用&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Don&amp;#39;t Call LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>优先使用：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Rule
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cache
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Database
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Deterministic Logic
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="level-2model-routing">Level 2：Model Routing&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Easy → Small Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Medium → Medium Model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Hard → Large Model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="level-3context-optimization">Level 3：Context Optimization&lt;/h2>
&lt;p>重点优化：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Prompt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">History
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RAG
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Description
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Agent Memory
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="level-4caching">Level 4：Caching&lt;/h2>
&lt;p>建立：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Exact Cache
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Semantic Cache
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Embedding Cache
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RAG Cache
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tool Result Cache
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="level-5agent-optimization">Level 5：Agent Optimization&lt;/h2>
&lt;p>控制：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Steps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tools
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Iterations
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Reflection
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Planning
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="level-6infrastructure-optimization">Level 6：Infrastructure Optimization&lt;/h2>
&lt;p>最后再优化：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">GPU
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">CPU
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Batching
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quantization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Kubernetes
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="37-一个真实生产系统应该监控什么">37. 一个真实生产系统应该监控什么？&lt;/h1>
&lt;p>建议至少建立以下 Metrics：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">ai_request_total
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ai_request_cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ai_input_tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ai_output_tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ai_cached_tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ai_model_usage
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ai_cache_hit_rate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ai_agent_steps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ai_tool_calls
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ai_rag_documents
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ai_rag_context_tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ai_latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ai_success_rate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ai_cost_per_successful_task
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进一步可以建立：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">cost_by_model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cost_by_tenant
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cost_by_application
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cost_by_agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cost_by_api
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cost_by_user
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="38-最容易被忽略的-cost-anti-patterns">38. 最容易被忽略的 Cost Anti-Patterns&lt;/h1>
&lt;h2 id="anti-pattern-1所有请求都使用大模型">Anti-Pattern 1：所有请求都使用大模型&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">100%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Premium Model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>解决：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Model Routing
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="anti-pattern-2整个-conversation-全量发送">Anti-Pattern 2：整个 Conversation 全量发送&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">History = 100K
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Every Request
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>解决：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Summarization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Context Windowing
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Compression
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="anti-pattern-3rag-top-k-太大">Anti-Pattern 3：RAG Top-K 太大&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Top 50
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>解决：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Retrieve → Rerank → Compress → Generate
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="anti-pattern-4agent-无限循环">Anti-Pattern 4：Agent 无限循环&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">while(true)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>解决：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Max Steps
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Max Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Max Tokens
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Timeout
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="anti-pattern-5所有-tool-都暴露给-agent">Anti-Pattern 5：所有 Tool 都暴露给 Agent&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">100+ Tools
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">LLM
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>解决：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Tool Retrieval
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="anti-pattern-6没有-cost-observability">Anti-Pattern 6：没有 Cost Observability&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Monthly Bill
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;#34;为什么这么贵？&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这是最危险的状态。&lt;/p>
&lt;hr>
&lt;h1 id="39-从成本控制走向成本智能">39. 从“成本控制”走向“成本智能”&lt;/h1>
&lt;p>成熟的 AI 平台最终应该能够做到：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Observe
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Analyze
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Predict
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Optimize
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Enforce
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>例如系统发现：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent X
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Average Cost = $0.18
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Success Rate = 82%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent Y
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Average Cost = $0.07
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Success Rate = 89%
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>系统可以自动判断：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Agent X
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">High Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Investigate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Context too large
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Optimize
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Cost = $0.09
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这就是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>AI-driven AI Cost Optimization&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>也就是用 AI 本身优化 AI 系统的成本。&lt;/p>
&lt;hr>
&lt;h1 id="40-未来cost-optimization-将成为-agent-runtime-的核心能力">40. 未来：Cost Optimization 将成为 Agent Runtime 的核心能力&lt;/h1>
&lt;p>未来的 Agent Runtime 很可能不再只是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Planner
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Executor
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tools
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>而是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> Agent Runtime
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌──────────────────┼──────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Planning Execution Memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └──────────────────┼──────────────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Cost Controller
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌──────────────────┼──────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Model Router Token Budget Tool Budget
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓ ↓ ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Model Tier Context Limit Call Limit
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Agent 的每一次行动都可以考虑：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Expected Value
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Expected Cost
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Expected Latency
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Risk
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>然后选择：&lt;/p>
&lt;h1 id="action">[
Action^*&lt;/h1>
&lt;h2 id="expectedutility">argmax
(
ExpectedUtility&lt;/h2>
&lt;p>ExpectedCost
)
]&lt;/p>
&lt;p>这意味着未来 Agent 不只是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Reasoning Agent&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>而会逐渐成为：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Resource-Aware Agent&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="41-总结">41. 总结&lt;/h1>
&lt;p>AI Cost Optimization 绝不是简单的：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">换便宜模型
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>真正完整的 AI 成本工程应该覆盖：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> AI Cost Optimization
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Don&amp;#39;t Call LLM │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └──────────┬──────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Model Routing │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └──────────┬──────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Token Optimization │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └──────────┬──────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Context Engineering │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └──────────┬──────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ RAG Optimization │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └──────────┬──────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Agent Optimization │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └──────────┬──────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ Semantic Cache │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └──────────┬──────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ AI Observability │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └──────────┬──────────┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↓
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ┌─────────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ AI FinOps │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └─────────────────────┘
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最终目标不是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Make AI Cheap&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>而是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Maximize AI Business Value per Dollar.&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>也就是说，真正应该优化的指标是：&lt;/p>
&lt;p>[
\boxed{
AI\ ROI =
\frac{Business\ Value}
{AI\ Cost}
}
]&lt;/p>
&lt;p>对于企业级 AI 系统而言，最成熟的架构不是“最强模型 + 无限 Token + 无限 Agent Loop”，而是：&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>正确的问题使用正确的模型，在正确的 Context 下，以正确的 Agent 策略完成任务，并在整个生命周期内受到成本预算和质量指标约束。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>这也是 &lt;strong>AI Cost Optimization 从单点技术优化走向 AI Platform Engineering / AI FinOps 的核心演进方向。&lt;/strong>&lt;/p></description></item></channel></rss>