指出 Demo 与生产环境的本质差距,提出三大支柱:真实性评测(而非正确性)、成本控制、规模级可观测工具链,涵盖 eval framework、trace 调试、token 预算管理等工程实践。
The Production Gap: Why Demos Lie
一个 demo agent 通常跑在五个手工挑选的 prompt 上,从不遇到超时,且评估它的人确切知道期望的输出是什么。生产环境则不同。你的 agent 将面对模糊的输入、下游 API 失败、token 预算超支,以及用十七种方式重新表述同一问题的用户。Demo 衡量的是正确性;生产环境衡量的是可靠性。
这个区别很重要,因为跨越这道鸿沟的工程工作与写第一个 prompt 的工作完全不同。它需要:
本文剩余部分围绕这些需求展开。我们先讲基准测试,再讲成本控制,最后梳理 2026 年的工具生态。
MMLU、HumanEval 和 GSM8K 衡量的是模型在孤立条件下的能力。Agent 是一个系统:它做规划、调用工具、解析输出、循环、从错误中恢复,并在多轮对话中管理状态。没有哪个单一的静态基准能涵盖这一切。评估一个 agent 需要任务级基准——一套带有真实输出的实际工作流,以及基于评分标准的评分体系。
核心原则是任务规格。每个基准用例应该定义:
下面是一个使用结构化评估工具的最小 Python 示例:
# agent_eval.py — minimal task-based benchmark harness
from dataclasses import dataclass
from typing import Protocol
@dataclass
class EvalCase:
task_id: str
input: str
expected_tool_calls: list[dict]
expected_output: str
rubric: dict[str, float] # weighted scoring keys
edge_case: bool = False
class AgentEvalProtocol(Protocol):
async def evaluate(self, case: EvalCase) -> dict:
"""Returns scores per rubric key + pass/fail."""
...
实践中,你会使用现有框架而不是自己从头造轮子。2026 年两种主流方案是 LLM-as-judge(快速、便宜、偶尔有偏见)和确定性断言(构建慢、但高度可靠)。生产流水线两者都用:对能机械验证的部分用断言,对开放式质量用 LLM-judge。
你的基准测试应该生成一条 Pareto 曲线,而不是一个单一数字。在不同模型层级上运行相同的评估套件(例如 gpt-4o → o3-mini → claude-sonnet-4-20250514 → 开源 Llama 3.3 70B),然后绘制准确率 vs. 延迟 vs. 成本的图。生产环境的最优解很少是最强的模型——而是边际成本不再能证明边际质量提升合理的那一点。
一个 agent 的成本是以下各项之和:
Total Cost = Σ (input_tokens × price_in + output_tokens × price_out)
+ Σ (tool_call_tokens × price_tools)
+ caching overhead (if applicable)
隐藏的乘数是迭代次数。一个在失败时重试的 5 轮 agent 并不是单次调用成本的 5 倍——而是 5 倍加上错误处理开销。一次失败的工具调用触发的重试循环可能在用户看到任何输出 token 之前就烧光你的预算。
1. 按任务复杂度分层模型
将简单查询路由到廉价模型,只在置信度低时才升级:
# router.py — two-tier agent routing
async def route_request(request: str, confidence: float) -> str:
if confidence > 0.85:
return "fast-model" # e.g., gpt-4o-mini, Claude Haiku
elif confidence > 0.60:
return "balanced-model" # e.g., gpt-4o, Claude Sonnet
else:
return "thinking-model" # e.g., o3-mini, Claude Opus
2. Prompt 压缩和上下文管理
上下文中的每个 token 都是你在每轮都要支付的 token。实现以下策略:
3. API 级缓存
OpenAI 和 Anthropic 都提供 prompt 缓存。设计你的 system prompt 和工具定义以最大化缓存命中率——调用之间必须完全字节级一致。一个设计良好的缓存 prompt 可以将重复调用的有效输入成本降低 50-80%。
4. 输出 token 预算
保守地设置 max_tokens,并使用结构化输出格式(JSON schema、function calling)来约束模型只产生你需要的内容。一个被要求"简洁回应、控制在 100 token 以内"的模型通常会照做;一个被要求"尽量详尽"的模型则不会。
5. 异步工具执行
并行工具调用在墙上时钟时间上是免费的,而且通常更便宜,因为你不用为顺序调用之间的中间推理 token 付费:
# Parallel tool calls via Anthropic or OpenAI native support
import asyncio
async def run_parallel_tools(agent_state: AgentState) -> dict:
tasks = [
agent_state.call_tool("search_docs", query=q)
for q in agent_state.extract_queries()
]
return await asyncio.gather(*tasks)
按部署追踪以下指标:
| 指标 | 说明 |
|---|---|
| Cost per task | 每个任务的平均成本 |
| Token efficiency | 有效输出 token 与总 token 的比率 |
| Retry rate | 导致成本放大的失败重试比例 |
| Cache hit rate | 缓存节省的成本占比 |
| Cost per successful task | 只计算成功完成的任务成本 |
这些数字应该放到仪表板上并设置告警触发。成本飙升通常是症状——一个坏掉的工具导致重试循环、一次 prompt 注入攻击使上下文膨胀,或者一次模型升级意外改变了行为。
到 2026 年,趋势已经清晰:框架正在收敛到基于图的执行(LangGraph 的影响无处不在)和持久执行(Temporal 风格的检查点,使 agent 能在重启后存活)。如果你要启动一个新的生产系统,选择一个给你显式控制执行图的框架,而不是隐式重试循环。
你无法改进你无法衡量的东西。生产 agent 需要:
2026 年的标准技术栈结合 LangSmith 或 Arize Phoenix 用于 trace 可视化,配合 Prometheus/Grafana 用于运维指标。对于自定义部署,主要 SDK 中的 OpenTelemetry 支持使集成变得直接。
# Example: OpenTelemetry instrumentation for an agent call
from opentelemetry import trace
from opentelemetry.trace import SpanKind
tracer = trace.get_tracer("agent.pipeline")
async def tracked_agent_call(request: str) -> str:
with tracer.start_as_current_span(
"agent.execution", kind=SpanKind.SERVER
) as span:
span.set_attribute("model", "gpt-4o")
span.set_attribute("input_tokens", len(request))
result = await agent.run(request)
span.set_attribute("output_tokens", len(result))
span.set_attribute("duration_ms", span.end_time - span.start_time)
return result
生产环境评估是按计划运行,而不是临时触发。建立一个 CI 流水线来:
像 DeepEval、Ragas 和 Promptfoo 这样的工具已经成熟为可靠的 CI 可集成评估器。用它们。
2026 年大多数团队的最佳选择是 serverless(Cloudflare Workers、Vercel Edge 或 AWS Lambda)作为 agent 网关,配合专用计算层处理长时间运行的工具执行。这将无状态的协调层和有状态的工作层分离。
在将 agent 交付生产之前,验证每一项:
Q: 真正可信赖的评估需要多少测试用例?
目标是每个能力层级(简单、中等、复杂)至少 50 个用例,并在实际用户分布上有代表性。更重要的是,确保你的用例包含失败模式——模糊查询、缺失的工具依赖和对抗性输入。50 个真实用例的基准测试胜过 500 个合成 happy-path 示例。
Q: 我应该自己构建评估框架还是用现成的?
把重活交给现成工具(Ragas 用于 RAG 质量、Promptfoo 用于回归测试、LangSmith 用于 tracing)。只在领域特定的任务评估上构建定制内容——那些反映你实际产品工作流的用例。这种组合方式节省数月开发时间,同时保留你需要的保真度。
Q: 团队在将 agent 生产化时犯的最大错误是什么?
跳过评估基础设施。团队急于部署,因为 demo 能工作,然后花数周时间扑灭质量火灾——而一个严格的评估套件本应在第一天就 catch 到这些问题。在部署上投入两个月之前,先在评估上投入两周。
构建生产就绪的 AI agent 不是关于写更好的 prompt——而是关于工程纪律。严格做基准测试,从第一天起就优化单位经济效益,在你需要之前就让你的系统具备可观测性。能交付并持续运行的 agent 是那些被当作生产系统而非原型来对待的。
For deeper coverage on agent evaluation frameworks and cost modeling patterns, check out the agent engineering resources on Tamiz's Insights, which publishes regular technical deep-dives on this exact topic.