闭合循环

/ˈkloʊzɪŋ ðə luːp/

Also known as: 反馈循环, 验证循环, 自我验证

technical beginner

什么是”闭合循环”?

“闭合循环”是区分有效 AI 辅助编程和令人沮丧的”氛围编程”的基本原则。它意味着设计你的开发工作流程,使得 AI 代理能够通过自动化反馈来验证自己的工作——编译代码、运行测试、检查输出,并迭代直到结果正确。

这个概念由 Claudebot 创建者 Peter Steinberger 推广,他称其为高效代理工程的”大秘密”。

为什么闭合循环很重要

AI 擅长编程但常在创意写作中苦恼。区别在于?代码可以被验证:

  1. 编译:代码是否在没有错误的情况下构建?
  2. Linting:它是否遵循风格和最佳实践?
  3. 测试:单元和集成测试是否通过?
  4. 执行:它是否产生预期的输出?

当代理能够自己运行这些检查时,它们可以迭代朝向正确的解决方案,无需人工干预。在没有反馈循环的情况下,代理会产生”垃圾”——看起来可信但实际上不起作用的代码。

如何闭合循环

为 CLI 验证设计

构建你的系统,使代理能够通过命令行工具验证工作:

# 代理能够运行这些来验证自己的工作
npm run lint      # 检查风格
npm run test      # 运行测试
npm run build     # 验证编译

创建专用测试工具

对于复杂的功能,构建专门用于代理验证的 CLI 工具:

“我通过告诉 Codex:‘构建一个用于调试的 CLI,它调用所有相同的代码路径’来调试一个 Mac 应用功能。它花了一个小时并自己修复了竞态条件。” — Peter Steinberger

避免基于浏览器的验证

基于 Web 的测试循环缓慢且脆弱。优先选择无头、基于 CLI 的验证:

“浏览器循环极其缓慢。你希望有快速循环的东西。” — Peter Steinberger

比较:循环闭合与开放

方面循环闭合循环开放
代理信心高(已验证)低(猜测)
人工干预最小持续
代码质量已测试未知
迭代速度自主手动

关键引语

“这就是为什么 AI 擅长编程但在写作中平庸——没有简单的方法来验证创意工作。但代码我可以编译、lint、执行、验证输出。”

“如果你以正确的方式设计它,你会有一个完美的循环。“

相关阅读

Mentioned In

Video thumbnail

Peter Steinberger

关于如何有效地使用编程代理,关键是:你必须闭合循环。它需要能够自己调试和测试自己。这就是大秘密。