Agent / 工程
可观测性与评估如何形成闭环
调试传统软件时,工程师可以依赖错误日志和堆栈追踪定位失败的代码行。但 AI 智能体彻底改变了这一范式——当一个 Agent 在两分钟内执行 200 步操作并在某处出错时,失败的不是代码,而是模型的推理过程。LangChain 创始人 Harrison Chase 在最新文章中指出,智能体的不确定性使得代码不再是系统行为的唯一真相来源,追踪日志(Trace)才是。文章系统介绍了智能体可观测性的三个核心原语:单步执行记录(Run)、完整执行轨迹(Trace)和多轮对话线程(Thread),并阐明了在单步、完整对话和多轮交互三个粒度上评估智能体的必要性。尤其值得关注的是,生产环境中的真实追踪数据不仅是发现缺陷的场所,更是持续构建测试集的原材料,这与传统软件测试的逻辑存在根本差异。
传统软件在相同输入下产生相同输出,逻辑固化在代码中,出错时日志能精准指向失败的服务或函数。AI 智能体打破了这一确定性假设。从单次 LLM 调用的应用,到在循环中反复调用模型与工具、跨越数十乃至数百步推理的 Agent,每一层演进都引入了更多不确定性。工程师在代码和提示词中尝试描述应用逻辑,但模型究竟会如何解读这些指令,只有真正运行之后才能知晓。
正因如此,智能体工程的真相来源从代码转移到了追踪记录。当 Agent 在第 23 步选择调用 edit_file 而非 read_file 时,传统追踪工具无法回答「为什么」——它们只记录调用了哪些服务、耗时多少,却不捕获每个决策背后的推理上下文。一条包含 200 步的追踪记录,人工解析几乎不可能,这正是专为智能体设计的可观测性工具存在的意义。
智能体可观测性围绕三个核心原语构建。Run(单步执行记录)捕获一次 LLM 调用的完整输入输出,包括所有指令、可用工具和上下文,既可用于调试(还原模型在某一时刻的「想法」),也可用于评估(断言模型是否调用了正确的工具及参数)。Trace(执行轨迹)将一次完整 Agent 执行中的所有 Run 串联起来,呈现嵌套结构、工具调用参数与结果。Thread(对话线程)则将多条 Trace 按时间组织,覆盖多轮对话场景。
评估智能体同样不同于评估传统软件。传统测试依赖确定性断言,验证输出是否等于预期值。智能体测试需要在三个粒度上检验推理能力:单步层面,模型在当前时刻是否做出了正确决策;完整对话层面,端到端执行的整体表现是否达标;多轮交互层面,Agent 是否在跨轮次对话中保持了上下文连贯性。这三个层次缺一不可,任何单一维度的评估都无法全面反映智能体的真实能力。
生产环境在智能体开发中扮演着与传统软件截然不同的角色。传统软件可以通过单元测试、集成测试和预发布环境捕获大多数正确性问题,生产主要用于发现遗漏的边缘案例。但由于每条自然语言输入都是独一无二的,工程师无法预判用户会如何表达需求,也无法提前枚举所有边缘情况。生产追踪数据揭示了离线测试无法预测的失败模式,并帮助团队理解「正确行为」在真实用户交互中的实际含义。
这一逻辑带来了评估体系的根本转变:生产环境不再只是捕获漏网缺陷的最后防线,而是持续发现「应该测试什么」的知识来源。生产追踪记录直接转化为测试用例,评估套件随真实世界样本不断扩充,而非仅依赖人工设计的场景。可观测性与评估由此形成不可分割的闭环——没有对推理过程的深度追踪,就无法进行有效评估;没有持续评估,就无法验证智能体的迭代改进是否真正奏效。
要点
- 智能体出错时失败的是推理过程而非代码,追踪记录(Trace)而非源代码才是系统行为的真相来源
- 智能体可观测性的三个核心原语为 Run、Trace 和 Thread,分别对应单步、完整执行和多轮对话三个层次
- 评估智能体需要在单步决策、完整对话和多轮交互三个粒度上分别验证推理能力,不能沿用传统确定性断言
- 生产环境的核心价值不只是发现漏网缺陷,更是持续生成测试用例、驱动评估套件扩充的知识来源
- 可观测性与评估在智能体工程中相互依存,二者共同构成迭代改进的闭环