2. Loop Engineering 核心架构详解


文档摘要

第2章:Loop Engineering 核心架构详解 导读:本章深入 Loop Engineering 的核心架构。你将理解循环的四大阶段(Discover → Plan → Execute → Verify)如何协同工作,掌握六大基础设施原语的设计理念,学会区分开放循环与闭合循环的适用场景,并深入理解为什么验证器是整个系统的关键瓶颈。 2.1 架构全景:从 10,000 英尺高空俯瞰 Loop Engineering 的核心架构可以用一个简洁的模型来描述:一个循环、四个阶段、六大原语、两条路径。 这个架构图揭示了 Loop Engineering 的精妙之处:循环本身是通用的,但具体行为由六大基础设施原语决定。不同的原语组合,可以构建出功能完全不同的循环系统。 2.

第2章:Loop Engineering 核心架构详解

导读:本章深入 Loop Engineering 的核心架构。你将理解循环的四大阶段(Discover → Plan → Execute → Verify)如何协同工作,掌握六大基础设施原语的设计理念,学会区分开放循环与闭合循环的适用场景,并深入理解为什么验证器是整个系统的关键瓶颈。

2.1 架构全景:从 10,000 英尺高空俯瞰

Loop Engineering 的核心架构可以用一个简洁的模型来描述:一个循环、四个阶段、六大原语、两条路径

这个架构图揭示了 Loop Engineering 的精妙之处:循环本身是通用的,但具体行为由六大基础设施原语决定。不同的原语组合,可以构建出功能完全不同的循环系统。

2.2 四大阶段详解

Discover(发现)

发现阶段是循环的起点。AI Agent 需要回答一个问题:"现在需要做什么?"

发现阶段的输入包括:

  • 显式目标:人类下达的任务指令
  • 触发事件:定时器触发、文件变更、消息到达、Webhook 回调
  • 异常信号:上一个循环的错误日志、监控告警、测试失败
  • 上下文差异:期望状态与实际状态的偏差
# Discover 阶段伪代码 def discover(context: Context) -> Task: # 检查是否有显式任务 if context.pending_tasks: return context.pending_tasks.pop(0) # 检查触发器 for trigger in context.triggers: if trigger.is_fired(): return trigger.to_task() # 检查状态偏差 diff = context.expected_state.diff(context.actual_state) if diff.significant(): return Task(description="修复状态偏差", details=diff) return None # 无任务,循环休眠

Plan(规划)

规划阶段将发现阶段的任务转化为可执行的步骤序列。这不是简单的"写个计划",而是一个带有资源评估、依赖分析和风险预估的决策过程

好的规划需要考虑:

  • 任务分解:将大任务拆解为可独立执行的小步骤
  • 资源评估:每个步骤需要哪些原语(工具、权限、数据)
  • 依赖排序:步骤之间的先后关系和并行可能性
  • 风险预估:哪些步骤可能失败,失败的回退策略是什么

Execute(执行)

执行阶段是 AI Agent 调用工具和原语,实际完成工作的阶段。这是 Agent 展现能力的地方,也是需要最多基础设施支持的阶段。

执行阶段的核心原则:

  • 幂等性:每个步骤应该可以安全重复执行
  • 可观测性:每个步骤的输入输出都应该被记录
  • 沙盒化:执行应该在隔离的环境中进行(如 worktree)
  • 渐进式提交:每完成一个步骤就保存进度,而非全部完成后才提交

Verify(验证)

验证阶段是整个循环的质量守门人,也是最容易出问题的地方。验证器需要回答两个问题:

  1. 正确性:执行结果是否符合预期?
  2. 完整性:是否所有子任务都已完成?
# Verify 阶段的三层验证模型 def verify(result: Result, goal: Goal) -> Verdict: # 第一层:自动化验证(快速、可靠) if not auto_checks_pass(result): return Verdict.REJECT # 明确失败,无需人工 # 第二层:AI 自验证(中等速度、可能出错) ai_quality = llm_evaluate(result, goal) if ai_quality.score < THRESHOLD: return Verdict.NEEDS_REVISION # 需要修改 # 第三层:人工验证(慢、但最可靠,仅开放循环需要) if is_open_loop: human_verdict = await request_human_review(result) return human_verdict return Verdict.ACCEPT

2.3 六大基础设施原语

原语 功能 类比 核心设计原则
Automations 触发器与自动化规则 定时器和闹钟 声明式定义、可组合
Worktrees 隔离的工作空间 沙盒/分支 幂等、可回滚
Skills 可复用的能力模块 工具箱/技能书 自包含、可测试、可组合
Connectors 与外部系统的接口 线缆/适配器 标准化协议、断路器
Sub-agents 子代理(并行/专业化) 外包团队 独立上下文、结果聚合
External State 持久化状态存储 黑板/共享内存 事务性、可恢复

原语之间的关系

六大原语不是孤立存在的,它们形成一个协作网络:

  • Automations 触发循环启动
  • Skills 定义了执行阶段的可用操作
  • Connectors 让 Skills 能访问外部系统
  • Worktrees 为执行提供隔离环境
  • Sub-agents 处理可以并行的子任务
  • External State 存储验证标准和循环进度

2.4 开放循环 vs 闭合循环

特性 开放循环 闭合循环
验证方式 人工参与关键验证 完全自动化验证
自主程度 L1-L2(半自动到条件自动) L3(全自动)
适用场景 代码审查、内容发布、关键决策 测试、数据处理、日志分析
风险等级 低(有人工兜底) 较高(依赖自动验证质量)
吞吐量 受人工响应速度限制 可 7×24 不间断运行
典型错误 人工疲劳导致疏漏 验证器误判导致错误累积

选择建议

  • 新任务先用开放循环,验证稳定后逐步迁移到闭合循环
  • 影响不可逆操作的任务,始终使用开放循环
  • 高频、低风险、可逆的操作,适合闭合循环

2.5 验证器:为什么它是瓶颈?

验证器之所以是瓶颈,原因有三:

  1. 正确性难题:验证"AI 输出是否正确"本身就是一个 AI 问题(甚至可能是 AI 完全性问题)
  2. 成本问题:每次验证都消耗 Token,循环次数越多验证成本越高
  3. 确定性 vs 灵活性:自动化验证太死板可能误拒好结果,AI 验证太灵活可能误收差结果

停止条件与断路器

为了防止循环失控,每个 Loop 必须配置:

# 循环安全配置 loop: max_iterations: 10 # 最大迭代次数 max_duration: "30m" # 最大运行时间 max_token_budget: 50000 # Token 预算上限 circuit_breaker: consecutive_failures: 3 # 连续失败 N 次后熔断 error_rate_threshold: 0.5 # 错误率超过 50% 熔断 cooldown: "5m" # 熔断后冷却时间 escalation: # 熔断后升级策略 type: "human_notification" channel: "slack"

FAQ

Q1:四大阶段是严格按顺序执行的吗?可以有并行吗?

标准循环是顺序的(Discover → Plan → Execute → Verify),但在 Execute 阶段内部,子任务可以并行。此外,多个循环实例之间天然可以并行。例如,你可以同时运行 3 个子代理,每个子代理运行独立的循环处理不同的子任务。关键是每个循环内部的四个阶段保持顺序依赖关系,因为 Verify 的结果决定了是否需要重新 Discover。

Q2:六大原语是否每次循环都需要全部配置?

不需要。原语是可选的、按需组合的。最简循环只需要 Skills(定义可执行的操作)和基本的验证逻辑。Automations 只在有定时或事件触发需求时配置,Worktrees 在需要隔离执行环境时配置,Connectors 在需要访问外部系统时配置,Sub-agents 在任务可并行时配置,External State 在需要跨循环持久化信息时配置。

Q3:验证器误判怎么办?如何平衡"不漏过错误"和"不误杀正确结果"?

这是一个经典的精确率与召回率权衡问题。实践中推荐的策略是:① 对高风险操作采用"宁可误杀"策略(高精确率);② 对低风险操作采用"宁可漏过"策略(高召回率);③ 引入"置信度阈值"——验证器给出置信度分数,在阈值附近的结果送人工复核。这种"三层验证模型"(自动验证→AI 验证→人工验证)是当前最佳的实践方案。

📖 导航:下一节 → 2.1 循环的四大阶段:发现、规划、执行、验证


发布者: 作者: 转发
评论区 (0)
U