编程 Agent 循环工程:从核心循环到验证、评估循环的分层设计

2026-09-06 14:11:02

Agent 循环工程:从核心循环到验证、评估循环的分层设计

LangChain 团队发表文章《The Art of Loop Engineering》,系统阐述了 Agent 的循环工程方法论。文章指出,Agent 的核心算法很简单:给 LLM 上下文,让它在循环中调用工具直到完成任务。这是最基础的循环,但远不是驱动 Agent 的唯一循环。受 Swyx 的"loopcraft:堆叠循环的艺术"启发,文章介绍了如何堆叠和扩展循环来构建更有效的 Agent,以及如何用 LangChain 原语在每个层级进行可观测性建设。

循环 1:核心 Agent 循环

基本原理

Agent 的核心是一个模型在循环中调用工具直到任务完成。这就是 LangChain 的 create_agent 提供的能力。选择任意模型,接入工具,就有了一个可用的 Agent 循环。

工具是赋予 Agent 在真实世界中采取行动能力的关键。以 LangChain 内部的文档 Agent 为例:

  • 接收文档改进请求
  • 模型规划和起草变更
  • 使用工具克隆仓库、读取文件、编写文档、打开 Pull Request

局限性

核心 Agent 循环能完成工作,但不总是在第一次就产生正确或一致的结果。当一致性很重要时,需要更高层级的循环。

循环 2:验证循环

为什么需要验证

Agent 循环完成工作,但不总是产生正确或一致的输出。验证循环的作用是在 Agent 完成工作后,检查输出质量,如果不满足标准则重新执行。

工作流程

验证循环的典型流程:

  1. Agent 执行任务,产生输出
  2. 验证器(可以是另一个 LLM 或规则引擎)检查输出
  3. 如果输出满足标准,循环结束
  4. 如果输出不满足标准,将反馈返回给 Agent,重新执行
  5. 重复直到输出满足标准或达到最大迭代次数

应用场景

验证循环特别适合:

  • 代码生成和审查
  • 文档质量检查
  • 数据格式验证
  • 安全合规检查
  • 多步骤任务的中间结果验证

循环 3:评估循环

持续改进

评估循环是更高层级的循环,用于持续改进 Agent 的性能。它的工作原理是:

  1. 收集 Agent 在生产环境中的执行轨迹
  2. 用评估器(人工或自动)评估输出质量
  3. 根据评估结果识别改进点
  4. 更新 Agent 的提示词、工具或配置
  5. 部署更新后的 Agent
  6. 重复这个循环

与验证循环的区别

验证循环是运行时的、针对单个任务的即时检查;评估循环是离线的、针对整体性能的持续改进。验证循环问"这个输出对吗?",评估循环问"这个 Agent 整体表现好吗?"

LangSmith 的支持

LangSmith 为评估循环提供了完整的工具链:

  • 追踪和记录 Agent 的执行轨迹
  • 定义和运行评估器
  • 比较不同版本 Agent 的性能
  • 识别失败模式和改进机会
  • A/B 测试不同的配置

循环 4:规划循环

复杂任务的分解

对于复杂任务,Agent 需要先规划再执行。规划循环的工作流程:

  1. 接收复杂任务
  2. 规划器将任务分解为子任务
  3. 执行器逐个执行子任务
  4. 监控执行进度,必要时重新规划
  5. 所有子任务完成后,整合结果

动态重规划

规划不是一次性的。在执行过程中,可能会遇到:

  • 子任务失败,需要替代方案
  • 新信息出现,需要调整计划
  • 子任务结果不符合预期,需要重新分解

动态重规划能力是高级 Agent 的关键特征。

循环 5:反思循环

自我改进

反思循环是最高层级的循环,让 Agent 能够从经验中学习:

  1. 完成任务后,Agent 回顾自己的执行过程
  2. 识别哪些步骤有效、哪些无效
  3. 总结经验教训
  4. 将经验存储到记忆中
  5. 在未来的任务中应用这些经验

记忆系统

反思循环需要记忆系统的支持:

  • 短期记忆:当前任务的上下文
  • 长期记忆:过去任务的经验教训
  • 工作记忆:正在处理的信息

记忆的检索和更新逻辑是上下文工程的重要组成部分。

循环堆叠的设计原则

1. 每个循环有明确的职责

不要让一个循环做太多事情。每个循环应该有单一、明确的职责:

  • Agent 循环:执行任务
  • 验证循环:检查质量
  • 评估循环:持续改进
  • 规划循环:任务分解
  • 反思循环:经验学习

2. 循环之间有清晰的接口

循环之间通过明确的数据结构通信:

  • Agent 循环 → 验证循环:输出结果
  • 验证循环 → Agent 循环:反馈和修正指令
  • 生产轨迹 → 评估循环:执行数据
  • 评估循环 → Agent 循环:配置更新

3. 可观测性是关键

每个循环都需要可观测性:

  • 记录每个循环的输入和输出
  • 追踪循环的执行次数和耗时
  • 监控循环的成功率和失败模式
  • 可视化循环之间的数据流

LangSmith 提供了完整的可观测性工具,支持多层循环的追踪和分析。

4. 从简单开始,逐步叠加

不要一开始就设计所有循环。从核心 Agent 循环开始,确保它能完成基本任务。然后根据需要逐步添加验证循环、评估循环等。每个新循环应该解决一个具体的问题。

总结

Agent 循环工程是构建可靠 Agent 系统的核心方法论。核心 Agent 循环只是起点,验证循环确保输出质量,评估循环驱动持续改进,规划循环处理复杂任务,反思循环实现经验学习。通过合理堆叠这些循环,并为每个循环提供清晰的职责、接口和可观测性,可以构建出在生产环境中可靠运行的 Agent 系统。LangChain 和 LangSmith 提供了实现这些循环的原语和工具,让开发者可以专注于业务逻辑而不是底层基础设施。

来源:https://www.langchain.com/blog/the-art-of-loop-engineering

推荐文章

程序员茄子在线接单