From human-operated agent development to systematic agent improvement
TL;DR · AI 摘要
文章提出从人工操作代理开发转向系统化改进的工程架构,通过自动化循环提升效率。
核心要点
- 系统化改进依赖追踪、失败发现、管理工作者和舰队控制的闭环架构
- 人工操作模式在处理百万级故障时效率崩溃
- Arize主张将代理作为长期运行的系统组件而非一次性会话
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- 系统化代理改进架构
- 当前工作流程
- 人工操作瓶颈
- 百万级故障处理困境
- 改进架构组件
- 追踪系统
- 失败发现机制
- 舰队控制
- 工程角色演变
- 人工调试
- 系统化模式
金句 / Highlights
值得收藏与分享的关键句。
人工操作模式在处理百万级故障时效率崩溃,自动化成为必然趋势
系统化改进需要包含追踪、失败发现、管理工作者、评估和舰队控制的闭环
Arize主张将代理作为长期运行的系统组件而非一次性会话
从人工操作代理开发到系统化代理改进 - Arize AI
从人工操作代理开发到系统化代理改进
发布于2026年7月14日
过去一年,代理系统从偶尔的演示逐步融入日常开发流程。Claude Code、OpenClaw和开源代理框架等工具已成为开发人员的日常依赖,"框架"(harness)这一术语也从小众概念演变为团队在架构评审中激烈讨论的设计选择。
令人不安的是,这种实用性在实际操作中仍然显得捉襟见肘。代理系统运行在你的笔记本电脑上,但你仍然需要全程参与。你从平台提取追踪数据,发现错误的工具调用,将上下文粘贴到编码代理中,审查代码差异后才部署。这是真正的工程工作。但这种工作流在失败案例数量超过工作日数量时就会瞬间崩溃。
在Arize Observe 2026大会上,Arize联合创始人Jason Lopatecki和Aparna Dhinakaran发表了关于这一转变的主旨演讲:从人工操作代理开发转向系统化、自动化的代理改进。本文将这一愿景转化为工程架构:如何让追踪数据、失败发现、托管工作者、评估和舰队控制融入可重复的改进循环。让我们深入探讨。
你已经在运行的循环
如果你已将代理系统投入生产,去年的工作流程可能如下:
- 追踪数据进入平台
- 你编写或调整人工评估
- 你发现错误的工具调用、缺失的上下文或跳过的步骤
- 你向编码代理提供代表性追踪数据和代码库上下文
- 你重放受影响案例,运行回归评估,审查代码差异并决定是否部署
团队已经开始自动化这一流程的部分环节。助手帮助起草评估,技能模块将失败案例转化为补丁。但人类仍然是流程的总指挥,你决定哪些问题重要、哪些追踪数据具有代表性,以及修复方案是否安全可合并。
这种模式在规模较小时有效,当代理系统数量、工具种类和失败模式数量较少时适用。但当生产环境生成的失败案例数量超过工程师手动检查、聚类、复现和验证的能力时(无论是数千条还是数百万条追踪数据),这种模式就会崩溃。
当改进仍依赖人工操作时会发生什么
在Arize,我们的核心观点很直接:有用的代理系统将成为你作为系统长期运行的进程,而非需要手动照料的一次性会话。你已经看到这种模式的早期形态:为每个问题启动一个工作者进程,为提议的修复方案启动一个审查者,按计划运行评估代理。这些工作者不仅修复你的产品代理,还开始触及后端工作流和内部企业流程。
这创造了全新的工程角色:
| 人工操作开发 | 系统化代理改进 | |--------------|----------------| | 调试一个故障会话 | 从数百万条追踪数据中分类模式 | | 与一个编码代理配对 | 协调阅读器、修复器和审查器 | | 优化一个提示词或工具 | 运营一个框架:循环、工具、内存、权限 | | 询问"这次运行成功了吗?" | 询问"这个舰队是否安全且经济地解决了正确的问题?" |
Aparna直言不讳地描述了组织架构的转变:你不再只是阅读少量追踪数据的人,而是负责整个舰队的人。代理系统开始审查其他代理系统的工作,上下文需要在它们之间传递。困难的问题不再只是孤立的模型选择问题,而是演变为系统层面的问题:
- 工作者是选择了正确的失败案例,还是只关注了显眼的案例?
- 修复是否解决了实际的轨迹错误?
- 当工作者拥有错误权限时会发生什么?
- 哪些会话正在消耗令牌却未产生任何成果?
如果你曾经历过一个糟糕的代理循环,反复尝试调用昂贵的工具直到预算耗尽,那么最后一个问题就不再只是理论上的。令牌消耗并不能证明系统在正常运作。
追踪是循环的输入,而非仪表板的附属品
持续改进并非始于更美观的图表,而是始于追踪:即事件发生过程的蓝图。
对于代理工作而言,一个有用的追踪通常需要包含:
- LLM 调用和消息
- 工具调用和参数
- 检索或上下文组装步骤
- 捕获到的可观测轨迹,包括路由决策、重试、交接和状态转换
这就是为什么 OpenInference 在早期就显得重要。没有共享的语义规范,每个团队都会为相同的追踪片段发明自己的命名方式,你的代码代理将继承一团混乱。如果你需要跨框架的具体监控参考,Project Rosetta Stone 就是为此而设计的。
两个变化使“将追踪粘贴到 Claude 中”的工作流变得过时:
- 规模。人类无法逐一检查数百万条追踪,但自动化系统可以查询、过滤、聚类和总结它们,前提是追踪片段使用一致的语义并保留足够的上下文以重建故障。
- 受管理的工作者。一旦代码代理可以作为受管理进程运行,阅读器、修复器和评审器就可以作为独立的受管理工作者运行:一个查询并聚类故障,一个提出代码或配置更改,一个将候选方案与回归案例和策略检查进行对比评估。
AI 改进循环正是这个理念的命名:观察、发现故障、修改系统、评估、重复。若想更清晰地了解“循环”这个词在 AI 工程中被过度使用的程度,请参阅《AI 工程中什么是循环?》。
开发者实际需要覆盖的四项工作
你可以忽略产品名称,仍然可以使用该架构。一个自动改进循环需要四项能力:故障发现、变更生成、运行时操作和回归评估。大多数团队只具备其中一两项,但价值来源于通过明确的交接和审批关卡将这四项能力连接起来。
任务 | 开发者问题 | “良好”状态的定义 ---|---|--- 发现 | 反复失败的是什么? | 聚类的重复故障,而非寥寥几条令人印象深刻的追踪 修复 | 工作者能否将问题转化为可审查的变更? | 与日常开发中信任的相同工具链/技能/沙盒环境结合,基于真实生产遥测数据运行 操作 | 当前舰队正在做什么? | 对卡住的循环、死亡工作者、被重定向的会话、失控会话、重试风暴以及消耗资源却未完成有效工作的工作者的可见性 评估/实验 | 变更是否有效,是否破坏了其他功能? | 能够在工具链变动中持续运行的评估,以及在发布前对比真实代理轨迹的对比方式
在 Observe 主题演讲中,这些工作对应到 Signal、受管代理、舰队可观测性、以判断者身份的 harness 以及代理实验。产品介绍详见《构建用于自我改进代理的人工智能工厂》。对构建者而言,关键的收获在于依赖顺序:没有修复工人的发现机制只会制造更美观的待办事项列表;没有舰队控制的修复工人会演变为不受监管的成本和安全问题;如果评估在产品负责人编写后的一周内未能与 harness 的工具、提示、策略和执行流程保持一致,将导致评估失效。
如果你正在自行设计此类系统,以下演讲内容值得特别注意:
- 自行准备 harness。只有当自动化修复工人与你已信任的调试设置匹配时,它们才能发挥作用。例如 Claude、Cursor、Codex、你的技能、你的沙箱环境。
- 追踪你已使用的 harness。如果 Claude Code、Cursor 和 Codex 会话是不可见的,你实际上是在半盲状态下操作。另请参阅《掌控循环:代理 harness 的实地指南》。
- 成本是一等故障模式。在财务部门发现之前,先找到包含失控查询或"重建数据库"螺旋的会话。
评估必须匹配你实际部署的内容
当正确性难以用确定性检查表达时(尤其是相关性、完整性、基于事实性或策略合规性等标准),LLM-as-a-judge 仍具有实用价值。反复出现的故障模式是静态判断提示与被评估系统不再匹配。
这就是以判断者身份的 harness 的实践论据。不要将整个评估流程放在一个提示中,而是定义评估目标,并为评估 harness 提供所需的工具、上下文、执行步骤和停止条件,以调查结果。这在需要检查多个片段、执行代码、检索外部证据或结合确定性检查与模型判断的评估场景中最为有用。相关阅读:《什么是评估 harness?》和《如何通过追踪与评估构建更好的代理 harness》。
实验同样面临形状匹配问题。你不是在对单个提示字符串进行 A/B 测试,而是在比较具有不同轨迹的 harness 变体。任何曾修改过工具描述并目睹整个代理选择新路径的人,都明白为何需要在接近生产环境的环境中,使用代表性输入、工具实现、权限和状态来评估完整的 harness。将此与基于追踪的评估结合,你将获得一个可以实际重跑的回归循环。
菜单指标也不足以解决问题。复杂的 harness 故障需要沙箱环境,你可以在其中自带软件包、多模型检查、事实验证逻辑或判断代理,然后写回结构化注释。调查和复现故障通常消耗的工程时间比计算另一个分数更多。PXI 是 Phoenix 对开源人工智能工程代理的押注,该代理与遥测数据并行运行:harness、文件系统、bash、技能,首要目标是调查而非第一天就实现完全自主。
为每种故障模式选择最经济可靠的评估器:使用确定性断言处理模式和工具约束,使用基于执行的检查处理代码和状态变更,使用模型判断处理语义标准,仅在任务需要多步骤调查时使用代理评估器。
如果追踪数据是改进的燃料,那么丢失或不一致的遥测数据就是任何编码代理都无法掩盖的上游错误。对于希望实现可移植遥测的团队而言,OpenTelemetry配合OpenInference提供了实用的基础:标准的传输和收集基础设施,搭配针对生成式AI的语义约定。Arize将OpenInference源代码捐赠给Linux基金会,原因与你希望在任何可观测性堆栈中共享跨度约定是一致的:不应让单一供应商掌控术语体系。
Phoenix在此保持相关性是出于实用主义而非品牌因素。关键的代理基础设施需要在本地、隔离环境或你的VPC中运行,当默认评估器菜单与你的失败模式不匹配时,它需要具备可分叉性。这就是构建者测试。如果你无法检查和定制这个循环,实际上你并未真正拥有它。
本月需要在堆栈中做出的更改
如果你的改进循环仍然主要依赖人工操作,这是正常的。大多数团队目前都处于这个阶段。不要直接跳到“修复代理舰队”。按以下顺序推进工作:
- 使追踪数据可被代理读取。使用稳定的生成式AI语义约定进行插桩。如果编码代理无法从跨度中重建轨迹,下游的任何系统也无法做到这一点。
- 明确列出主要的失败模式。错误工具、不良上下文、无限重试、静默错误答案。针对这些具体模式构建评估,而非泛泛的质量评分。参见常见AI代理失败案例。
- 为每个失败模式定义验收测试。确定哪些证据能证明修复有效,必须通过哪些回归测试集,以及不能违反哪些成本、延迟或安全阈值。
- 在自动化合并之前先自动化发现。首先聚类重复失败。对嘈杂遥测数据进行无监督的PR机器人会制造审查债务。
- 启动一个托管工作者。从只读发现工作者或只能创建草稿PR但不能合并的修复者开始。为其分配作用域凭证、有限运行时间和预算,并使用与手动调试时相同的可复现环境。
- 在扩展并发之前添加成本和死循环可见性。一个舰队可能在产生传统可用性事件之前就超出预算。
过去一年的突破是实现了能执行有用工作的代理。下一个工程挑战是使它们的改进循环可重复:发现重复失败,生成候选更改,针对代表性轨迹进行评估,并在明确的成本、权限和部署边界内运行工作者。
从使追踪数据可重建、评估可复现开始。然后自动化证据充分的环节,同时将重大更改置于审查门禁之后。在该架构中,可观测性不仅是事件记录,更是使系统性改进成为可能的结构化输入。
在YouTube上观看主题演讲。关于AX侧的实现细节,请参阅工厂发布文章。关于动手评估模式,请查阅AI代理手册。
<div class="container pt-12"> <div class="max-w-[1200px] mx-auto"> <div class="flex items-center justify-between"> <h4 class="font-sans text-24/[120%] md:text-36/[120%] font-light text-content-primary-light dark:text-content-primary-dark">相关文章</h4> </div> <div class="flex gap-6 mt-6 md:flex-row flex-col"> <div class="flex-1"> <a href="https://arize.com/blog/why-banks-adopt-the-arize-ecosystem/" class="group"> <div class="rounded-[4px] aspect-video bg-container-light border border-outlines-light dark:border-outlines-dark group-hover:shadow-platform-glow flex items-center justify-center"> <img width="300" height="169" src="https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-300x169.png" class="w-full h-full object-cover wp-post-image" alt="Why Banks Adopt the Arize Ecosystem" decoding="async" fetchpriority="high" srcset="https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-300x169.png 300w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-1024x576.png 1024w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-768x432.png 768w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-1536x864.png 1536w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-260x146.png 260w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-520x293.png 520w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-845x475.png 845w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-1690x951.png 1690w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-1366x768.png 1366w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-71x40.png 71w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-142x80.png 142w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-1417x797.png 1417w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-444x250.png 444w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-888x500.png 888w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize-150x84.png 150w, https://arize.com/wp-content/uploads/2026/03/why-banks-adopt-arize.png 1920w" sizes="(max-width: 300px) 100vw, 300px" loading="lazy" /> </div> <h4 class="mt-3 font-normal mb-0 font-sans text-20/[140%] text-content-primary-light dark:text-content-primary-dark text-pretty">为什么银行采用Arize生态系统</h4> </a> </div> <div class="flex-1"> <a href="https://arize.com/blog/arize-ai-openai/" class="group"> <div class="rounded-[4px] aspect-video bg-container-light border border-outlines-light dark:border-outlines-dark group-hover:shadow-platform-glow flex items-center justify-center"> <img width="300" height="176" src="https://arize.com/wp-content/uploads/2022/09/arize-openai-300x176.jpg" class="w-full h-full object-cover wp-post-image" alt="openai arize" decoding="async" srcset="https://arize.com/wp-content/uploads/2022/09/arize-openai-300x176.jpg 300w, https://arize.com/wp-content/uploads/2022/09/arize-openai-1024x586.jpg 1024w, https://arize.com/wp-content/uploads/2022/09/arize-openai-768x436.jpg 768w, https://arize.com/wp-content/uploads/2022/09/arize-openai-1536x872.jpg 1536w, https://arize.com/wp-content/uploads/2022/09/arize-openai-260x148.jpg 260w, https://arize.com/wp-content/uploads/2022/09/arize-openai-520x296.jpg 520w, https://arize.com/wp-content/uploads/2022/09/arize-openai-845x482.jpg 845w, https://arize.com/wp-content/uploads/2022/09/arize-openai-1690x964.jpg 1690w, https://arize.com/wp-content/uploads/2022/09/arize-openai-1366x776.jpg 1366w, https://arize.com/wp-content/uploads/2022/09/arize-openai-71x41.jpg 71w, https://arize.com/wp-content/uploads/2022/09/arize-openai-142x82.jpg 142w, https://arize.com/wp-content/uploads/2022/09/arize-openai-1417x802.jpg 1417w, https://arize.com/wp-content/uploads/2022/09/arize-openai-444x254.jpg 444w, https://arize.com/wp-content/uploads/2022/09/arize-openai-888x508.jpg 888w, https://arize.com/wp-content/uploads/2022/09/arize-openai-150x86.jpg 150w, https://arize.com/wp-content/uploads/2022/09/arize-openai.jpg 1200w" sizes="(max-width: 300px) 100vw, 300px" loading="lazy" /> </div> <h4 class="mt-3 font-normal mb-0 font-sans text-20/[140%] text-content-primary-light dark:text-content-primary-dark text-pretty">Arize AI + OpenAI</h4> </a> </div> <div class="flex-1"> <a href="https://arize.com/blog/toolformer-training-llms-to-use-tools/" class="group"> <div class="rounded-[4px] aspect-video bg-container-light border border-outlines-light dark:border-outlines-dark group-hover:shadow-platform-glow flex items-center justify-center"> <img width="300" height="169" src="https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt-300x169.jpg" class="w-full h-full object-cover wp-post-image" alt="Toolformer: Training LLMs To Use Tools" decoding="async" srcset="https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt-300x169.jpg 300w, https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt-1024x566.jpg 1024w, https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt-768x424.jpg 768w, https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt-1536x848.jpg 1536w, https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt-260x143.jpg 260w, https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt-520x286.jpg 520w, https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt-845x464.jpg 845w, https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt-1690x932.jpg 1690w, https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt-1366x756.jpg 1366w, https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt-77x42.jpg 77w, https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt-153x83.jpg 153w, https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt-150x82.jpg 150w, https://arize.com/wp-content/uploads/2023/01/Deep_Papers-e1-blog-alt.jpg 1200w" sizes="(max-width: 300px) 100vw, 300px" loading="lazy" /> </div> <h4 class="mt-3 font-normal mb-0 font-sans text-20/[140%] text-content-primary-light dark:text-content-primary-dark text-pretty">Toolformer:训练LLMs使用工具</h4> </a> </div> </div> </div> </div>