LangChain 视角的 Loop Engineering

简介: Loop Engineering 是一个 AI Agent 构建方法论,它用调度、验证、触发、自改进四层循环替代人类持续驱动 Agent。LangChain 给出了这套循环的理论框架,OpenClaw 给出了它的工程实现。

最近 LangChain 发表了一篇题为《The Art of Loop Engineering》的博客文章指出:“模型推理-工具调用”只是 Agent 工作模式最基本的循环,通过构建和叠加四种不同层次的循环,可以让 Agent 变得更高效甚至自我进化。


下面来拆解这四层循环架构是如何提升 Agent 的能力。


01 第一层:Agent 循环


第一层是 Agent 循环(Agent Loop),它是 Agent 行动的基础。从这个层面理解,Agent 的本质就是:一个大语言模型(LLM)在循环中不断调用工具,直到任务完成。


图注:源自 LangChain 博客,Agent 循环


这就是 LangChain 中 create_agent 函数提供的基础能力。你选择一个模型,接入一组工具,就得到了一个可以运转的 Agent 循环。


在这个循环中,工具赋予了 Agent 在现实世界中采取行动的能力,而模型则负责规划和决策。


以 LangChain 的“文档 Agent”为例。当它收到一个“改进某篇文档”的请求时,模型会进行规划,然后使用工具去克隆代码仓库、读取文件、修改内容、最后提交 PR(Pull Request)。


这一层循环解决了“能不能做”的问题。它让大模型从一个被动的“回答者”,变成了一个主动的“执行者”。然而,仅仅停留在这一层是不够的。因为模型是概率性的,它的每次执行都可能是不一样的,甚至可能是错误的。这就引出了第二层循环。


02 第二层:验证循环


第一层的 Agent 循环能把工作做完,但它并不能保证每次都能把工作做对。在真实业务场景中,我们往往对一致性和正确性有着极高的要求,这时就需要引入第二层验证循环(Verification Loop),它是执行质量的保障。


验证循环的核心逻辑是:在 Agent 输出最终结果之前,增加一个“评分器”(Grader)。这个评分器会根据预设的评估标准检查 Agent 的输出。如果输出不达标,它不会直接报错,而是将评估结果连同反馈意见一起“打回”给模型,让模型重新修改,直到通过验证。


图注:源自 LangChain 博客,验证循环


这个评分器可以是确定性的,如检查代码是否能编译通过;也可以是基于 Agent 的,如使用另一个 LLM 作为裁判,即常说的 LLM-as-a-Judge。


在 LangChain 的生态中,你可以通过 RubricMiddleware 或者在 create_agent上添加 after_agent 钩子来实现这种模式。


回到我们前面提到的“文档 Agent”的例子。为了保证文档质量,在 Agent 提交 PR 之前,验证循环会运行一系列测试:检查所有添加的链接是否都能正常访问,检查所有的 CI(持续集成)流程是否通过。只有所有检查都验证通过,修改才会被真正提交。


引入验证循环是一个典型的“以时间换质量”的策略。它确实会增加每次运行的延迟和成本,但对于大多数生产用例来说,这种策略经过权衡有时是值得的。它就像是给 Agent 配备了一个严厉的 QA(质量保证)工程师,极大地提升了系统的可靠性,让你敢于将 Agent 部署到真实业务流中。


03 第三层:事件驱动循环


前两层循环解决的是“如何把一件任务做好”的问题,但它是被动触发的,需要人手动去唤醒 Agent。一个更高效的 Agent,它应该能主动感知周围的环境,并在合适的时候主动介入。这就需要第三层事件驱动循环(Event-driven Loop)。


这一层的核心是主动执行与生态集成,它将 Agent 连接到更广泛的业务生态系统中。当某个特定的事件发生时,比如系统里上传了一份新文档、到达了预设的定时任务时间或者接收到了一个外部的 Webhook,Agent 就会被自动触发运行。



图注:源自 LangChain 博客,事件驱动循环


叠加这个循环后,Agent 不再是一个你需要手动调用的独立工具,而是变成了一个持续运行的自主系统。


你可以设置一个 Cron 定时任务,让 Agent 每天早上 8 点自动分析昨天的销售数据并生成简报;或者像 openclaw 这样的 Agent 设置“心跳(Heartbeats)”,让 openclaw 变成一个永远在线、主动出击的助手。


在 LangChain 团队内部,他们的“文档 Agent”就是通过一个事件驱动循环运行的。只要有人在内部 Slack 的 #docs-plz 频道里发送了一条消息,系统就会通过 Webhook 自动触发 Agent 去处理这个文档请求。


加入事件驱动循环后,Agent 真正融入了企业的自动化工作流,帮助业务运转。


04 第四层:爬山循


前三层循环是为了“自动化工作”,而第四层循环则是为了“自动化改进”,称为爬山循环(Hill Climbing Loop)。


在机器学习和优化算法中,“爬山算法”是一种寻找局部最优解的方法。在 Agent 中,爬山循环意味着系统能够从过去的经验中学习,不断优化 Agent 系统自身的表现。


每次 Agent 运行,都会产生一个“轨迹”(Trace):记录了模型思考的过程、调用了哪些工具、评分器给出了什么反馈等等。这些轨迹数据包含了关于“什么有效、什么无效”的高价值信号。


爬山循环的运作方式是:运行一个专门的“分析 Agent”,让它去审查这些运行轨迹,从中发现规律和问题,并利用这些发现来重写或优化整个系统的配置。 这种优化可以包括:修改提示词、修改工具描述或者调整评分器的标准。


6a317e975f50e84a5bf17b80_hill_climbing_loop_generic_v2_white_bg.png

图注:源自 LangChain 博客,爬山循环


在 LangSmith 中,可以使用名为 Engine 的“轨迹分析 Agent” 来实现这第四层循环。


继续以“文档 Agent”为例。LangChain 团队会定期让 Engine 去分析“文档 Agent”的运行轨迹。如果 Engine 发现有多个轨迹都显示“文档 Agent ”在某个特定的工具调用上反复出错,那就可以提交一个问题报告,建议修改那个容易引起误解的提示词或者修复那个有缺陷的工具。


第四层循环设计精妙在于:它的反馈是给向的系统内部,去更新内部的 Agent 循环本身。 这样外层循环的每一次执行,都在让内层循环变得更加高效和聪明。


后续这种自我进化的潜力远不止于修改 Prompt。对于那些有能力运行开源权重模型的团队来说,爬山循环甚至可以与强化学习(RL)微调结合,将轨迹和评估结果作为训练信号,用于提升底层模型的能力。同样,Agent 的外部记忆和检索技能也可以通过这种方式不断迭代。


至此可以总结循环工程的定义:Loop Engineering 是一种 AI Agent 系统设计方法论。它的核心思想是:Agent 的能力边界不由单个模型决定,而由围绕模型所构建的循环层次决定。 具体而言,它将 Agent 系统分解为四个可独立设计、可相互叠加的循环层——执行循环、验证循环、事件驱动循环与爬山循环——每一层都在扩展 Agent 的能力边界:从"能做事"到"做对事",从"被动响应"到"主动运行",最终到"持续进化"。


05 LangChain 视角下 OpenClaw 的循环工程


OpenClaw 是一个可以接入 WhatsApp、Telegram 等通讯软件在本地运行的 Agent,虽然与 LangChain 生态相互独立,但它的核心架构设计也印证了 LangChain 提出的这四层循环理念,它的实现与 LangChain 四层循环有对应关系。


第一层对应:Gateway 与 Agent Loop。OpenClaw 的 Gateway 接收来自各种通讯软件的消息,触发 Agent Loop。在这个循环中,Agent 结合历史对话上下文,调用内置的 Shell、文件系统、浏览器控制等工具,完成从搜索资料到执行命令的各种任务。


在 OpenClaw 的 src/agents/embedded-agent-runner/run/ 目录下,实现了 Agent 的核心运行逻辑。


第二层对应:基于 sessions_spawn 的多智能体协作OpenClaw 真正实现验证循环的核心机制是 sessions_spawn 工具。主 Agent 完成初稿后,可以通过调用 sessions_spawn 来启动一个独立的子 Agent 会话,专门扮演"评分器(Grader)"的角色,对主 Agent 的输出进行审查和评估,并将反馈结果返回给主 Agent 进行修改。


sessions_spawn 的参数类型定义在 src/agents/acp-spawn.ts 中,其 SpawnAcpParams 类型明确包含了 model(子 Agent 使用的模型)和 thinking(思考深度)两个关键参数。部分代码如下:



export type SpawnAcpParams = {
  task: string;
  label?: string;
  agentId?: string;
  resumeSessionId?: string;
  model?: string;
  thinking?: string;
  runTimeoutSeconds?: number;
  cwd?: string;
  mode?: SpawnAcpMode;
  thread?: boolean;
  sandbox?: SpawnAcpSandboxMode;
  streamTo?: SpawnAcpStreamTarget;
  attachments?: AcpTurnAttachment[];
};


第三层对应:Heartbeat(心跳)与 Cron 机制。这是 OpenClaw 最具特色的功能之一。它的 Heartbeat 机制允许 Agent 每隔一段时间(如 30 分钟)自动唤醒,读取 HEARTBEAT.md 文件中的指令,主动检查邮件、日程或后台任务状态,并在需要时主动向用户发送通知。


src/cron/service/jobs.ts 中,OpenClaw 实现了强大的定时任务调度逻辑,包括 CronJob 的创建、验证和执行。结合 Gateway,这些 Cron 任务能像用户消息一样发布到同一个消息总线,触发 Agent 执行后台工作流。部分代码如下:

/** Creates a normalized cron job row from public add input and computes its initial schedule. */
export function createJob(state: CronServiceState, input: CronJobCreate): CronJob {
  const now = state.deps.nowMs();
  const id = crypto.randomUUID();
  const schedule =
    input.schedule.kind === "every"
      ? {
          ...input.schedule,
          anchorMs: resolveEveryAnchorMs({
            schedule: input.schedule,
            fallbackAnchorMs: now,
          }),
        }
      : input.schedule.kind === "cron"
        ? (() => {
            const explicitStaggerMs = normalizeCronStaggerMs(input.schedule.staggerMs);
            if (explicitStaggerMs !== undefined) {
              return { ...input.schedule, staggerMs: explicitStaggerMs };
            }
            const defaultStaggerMs = resolveDefaultCronStaggerMs(input.schedule.expr);
            return defaultStaggerMs !== undefined
              ? { ...input.schedule, staggerMs: defaultStaggerMs }
              : input.schedule;
          })()
        : input.schedule;
      ……
}


第四层对应:基于纯文本配置与轨迹记录的持续迭代。OpenClaw 的记忆和配置如 AGENTS.md、SOUL.md、TOOLS.md 都是纯文本的 Markdown 文件。此外,它在 src/trajectory/runtime.ts 中实现了完整的运行轨迹(Trajectory)记录机制。


src/trajectory/runtime.ts 会将 Agent 的每次运行事件(包括工具定义、截断状态等)详细记录到日志文件中。


虽然它目前没有内置像 LangSmith 那样自动化的分析 Agent,但这种详细的轨迹记录机制和纯文本的架构,让开发者(或更高阶的监控脚本)可以非常容易地审查 Agent 的行为轨迹,并通过 Git 版本控制来不断迭代和优化 Agent 的 Prompt 与工具定义,从而实现系统的逐步进化。部分代码如下:


const buildEventLine = (type: string, data?: Record<string, unknown>): string | undefined => {
    const nextSeq = seq + 1;
    const sourceSeq = writer.nextSourceSeq?.() ?? nextSeq;
    const event: TrajectoryEvent = {
      traceSchema: "openclaw-trajectory",
      schemaVersion: 1,
      traceId,
      source: "runtime",
      type,
      ts: new Date().toISOString(),
      seq: nextSeq,
      sourceSeq,
      sessionId: params.sessionId,
      sessionKey: params.sessionKey,
      runId: params.runId,
      workspaceDir: params.workspaceDir,
      provider: params.provider,
      ……
  };


06 构建循环后人机如何协作?


在探讨了高度自动化的循环之后,需要澄清的是:自动化并不意味着将人类完全排除在外。相反,优秀的循环工程设计,是为了让人类在最需要的地方发挥不可替代的价值。


在 Agent 的不同循环层级中,人机协作的模式是动态变化的:


  • 在 Agent 循环中:充当“授权者”与“向导”。 当 Agent 遇到模棱两可的指令,或者需要执行高风险操作(如删除数据库、进行财务转账)时,必须暂停循环,请求人类介入。此时,人类的判断是不可或缺的安全阀。


  • 在验证循环中:充当“最终裁判”。 自动化的评分器(Grader)可以检查代码是否报错、链接是否有效,但只有人类才能敏锐地察觉到一篇文章的语气是否契合目标受众,或者一个设计方案是否符合品牌调性。对于涉及审美、价值观或复杂业务逻辑的输出,人类是最好的 Grader。


  • 在事件驱动循环中:充当“规则制定者”。 Agent 虽然可以自动运行,但“何时运行”、“触发条件是什么”仍然需要人类根据业务流程来定义。人类负责构建生态系统,Agent 负责在其中流转。


  • 在爬山循环中:充当“进化审批者”。 系统虽然能通过分析轨迹提出优化建议(如修改 Prompt),但这些系统级的变更在部署前,通常需要人类工程师的复核,以确保进化方向不偏离最初的业务目标。


在设计 Agent 系统时,我们需要清晰地界定人机协作边界:


  • 什么情况下不需要人参与? 对于确定性强、容错率高、且评估标准客观的任务(如数据清洗、格式转换、日常巡检),应尽可能交由 Agent 独立完成。此时,系统的重点在于提高效率和降低成本。


  • 什么情况下必须有人参与? 涉及高风险决策、道德伦理判断、创意性评估,以及缺乏明确评估标准的开放性任务时,必须保持“人在回路(HITL)”。


  • 如何平滑过渡? 理想的 Agent 系统应该具备“置信度评估”能力。当 Agent 对当前任务的把握度高时,自动执行;当置信度低于某个阈值或者遇到未知的边界情况时,系统应能优雅地“降级”,主动向人类求助。随着爬山循环的不断迭代,Agent 处理复杂情况的能力提升,人类介入的频率可以逐渐降低,实现从“人类主导”到“人类监督”的平滑过渡。


07 结


正如微软 CEO 纳德拉所言,在 AI 时代企业竞争的焦点正在发生转移。那些能够尽早构建起"学习循环"的公司,将人类的判断力与大模型的"Token 资本"深度融合并让它们共同复利增长,才能建立自己的护城河。


这里的"学习循环",正如爬山循环。它让 Agent 系统不再是一个静态的工具,而是一个随着使用不断成长的有机体。每一次运行产生轨迹,每一条轨迹沉淀信号,每一个信号驱动进化,每一次进化让下一次运行更好。这个飞轮一旦转动,便会形成难以复制和追赶的能力壁垒。


构建更高效的 Agent,答案隐藏在精心设计的循环叠加之中。从现在开始重新审视你的 Agent 架构,思考如何为其注入验证的严谨、事件驱动的活力,以及自我进化的智慧。



参考链接

[1] "LangChain Blog. "The Art of Loop Engineering"."

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

[2] "OpenClaw"

https://docs.openclaw.ai/

[3] "A frontier without an ecosystem is not stable"

https://x.com/satyanadella/status/2066182223213293753






(如果这篇文章对您有所帮助,请帮忙 关注 并 转发,谢谢!)

目录
相关文章
|
3月前
|
人工智能 监控 自动驾驶
Loop Engineering 实战:/goal 命令让 AI 自己写完整项目
Loop Engineering 让 AI 自己循环干活。本文用 Claude Code /goal 带你从零搭项目,跑通自动开发全流程——设定目标,循环搞定。
Loop Engineering 实战:/goal 命令让 AI 自己写完整项目
|
3月前
|
人工智能 程序员 测试技术
提示词工程已死,Loop Engineering 称王!保姆级教程 + 项目实战
大家好,我是程序员鱼皮。 AI 编程圈又又又出新概念了…… 这次的起因是 Claude Code 之父 Boris Cherny 在最新访谈中说: 我不再提示 Claude 了,我有一堆循环在运行,它们才是在提示 Claude 并判断接下来该做什么。我的工作变成了写循环。 紧接着,OpenClaw 之父 Peter Steinberger 也发推表示: 你不该再给编程 Agent 写提示词了。你应
355 0
|
3月前
|
人工智能 机器人 开发工具
工程实践|Warp 的 Loop Engineering:Agent 如何自己改进 Skill?
Warp 团队提出“双循环驱动”AI Agent进化:内循环(Inner Loop)自动分诊GitHub Issue;外循环(Outer Loop)从人类反馈中提炼规则,生成PR更新技能文件(SKILL.md)。技能即SOP,可审查、可回滚、持续迭代,让Agent越用越懂团队。
379 1
工程实践|Warp 的 Loop Engineering:Agent 如何自己改进 Skill?
|
3月前
|
SQL 人工智能 测试技术
Loop Engineering 与 Spec-Driven Development 结合下的 token 收敛
本文深度剖析Loop Engineering(循环工程)——2026年兴起的第四代AI工程范式:它并非取代Prompt/SDD,而是构建“目标→执行→验证→修正→再执行”的自主闭环,让AI自我迭代直至达标;同时直面Token爆炸痛点,结合SDD规范实现上下文收敛与成本可控。(239字)
|
存储 机器学习/深度学习 监控
【网络工程师】<软考中级>数据通信基础
【1月更文挑战第27天】【网络工程师】<软考中级>数据通信基础
|
2月前
|
SQL 自然语言处理 监控
Loop Engineering:从 Prompt Engineering 到迭代式智能体工程
Loop Engineering 是2023年起在Agent实践中沉淀的工程方法论,核心是将大模型从“单次问答机”升级为“持续决策循环”(Observe→Think→Act),通过结构化多轮交互提升任务整体成功率,而非仅优化单次prompt质量。
363 1
|
10月前
|
机器学习/深度学习 人工智能 缓存
让AI评测AI:构建智能客服的自动化运营Agent体系
大模型推动客服智能化演进,从规则引擎到RAG,再到AI原生智能体。通过构建“评估-诊断-优化”闭环的运营Agent,实现对话效果自动化评测与持续优化,显著提升服务质量和效率。
4166 86
让AI评测AI:构建智能客服的自动化运营Agent体系
|
2月前
|
人工智能 监控 测试技术
银行业AI架构:从裸调API到六层技能体系
# 银行AI智能体架构实战:从单体到Skill协同的技术演进 ## 痛点:银行IT架构的三重困境 走在任何一家银行的科技部走廊里,你都能听到同样的叹息:系统又慢了、需求又排不上、监管又来查了。这不是某一家银行的困境,而是整个银行业IT架构的共性问题。我们把它拆解为三重困境。 **困境一:单体系
|
2月前
|
存储 人工智能 Shell
用Hook让Agent感知时间
本文采用 Hook 机制为 Agent 注入时间感知能力,实现方式为 UserPromptSubmit 事件 Hook + 全局规则声明,Shell 脚本共 23 行。Agent 的时间感知问题指的是:模型权重是静态的,训练数据有截止日期,推理时没有内置时钟,它的时间停在上一次预训练那天。一周前的会话今天接着聊,对用户来说过了一周,对 AI 来说时间没有流动。目前不少 Agent 框架通过系统提示词注入时间,本文介绍一种基于 Hook 的通用实现,详细介绍见全文
421 0
用Hook让Agent感知时间
|
3月前
|
人工智能 安全 开发者
AI Agent 的 4 个工程关键词:Prompt、Context、Loop、Harness 到底是什么?
Prompt、Context、Loop、Harness 这四个词,可以看成 AI Agent 工作流里的四个关注点:怎么问、给它看什么、怎么持续推进,以及在哪里安全运行。 其中,Loop Engineering,重点关注“持续推进”这一环节。它关心的是,如何把原本由人一轮轮推动的“提示—执行—检查—修正”过程,设计成一个清晰、可控、容易沉淀经验的循环。 这也是 AI Agent 从“能回答问题”,走向“能完成任务”时,一个很关键的变化。
619 0
AI Agent 的 4 个工程关键词:Prompt、Context、Loop、Harness 到底是什么?