Loop Engineering 实战:用 opencode-loop 搭一个能自我修正的 AI 开发循环
我用 opencode-loop 跑了一次完整的 Loop Engineering 实践让 AI 自己写代码、自己 Review、自己跑测试。大约十几分钟后测试从 8 个变成 23 个全部通过。这不是魔法关键在 verifier 和 checkpoint。一、手动用 AI 写代码人到哪都是瓶颈过去两年用 AI 写代码的基本流程是你写 prompt → AI 回复 → 你读代码 → 再写 prompt → AI 再回复 → ...人是方向盘每一轮都要在场。问题是这个模式有几个死结写完就忘。Agent 可能一次改十几个文件你不可能每一行都仔细看bug 就藏在没看的那几行里。测试后置。经常是代码写完了才想起来跑测试失败了一堆再回头找效率低。Review 走形式。自己 Review AI 写的代码看多了会疲劳边界条件、类型安全、可访问性这些很容易漏。本质矛盾是人成了瓶颈但完全放手又不敢。2026 年 6 月Google 工程师 Addy Osmani 写了一篇 Loop Engineering把这个问题的解法说得很直接Loop engineering is replacing yourself as the person who prompts the agent. You design the system that does it instead.Peter Steinberger 也说过类似的话You shouldn’t be prompting coding agents anymore. You should be designing loops that prompt your agents.翻译成大白话别再一遍一遍给 AI 写 prompt 了去设计一个能自动循环的系统。二、Loop Engineering 的最小控制环Loop Engineering 不是某个具体工具而是一种设计方法。Addy Osmani 在原文里讲的是 Automations、Worktrees、Skills、Plugins/Connectors、Sub-agents 这些能力层组件。落到一个最小可运行的控制环我更喜欢 Codersarts 的拆法Goal清晰、可衡量的完成标准。Prompter生成下一轮指令。Agent执行指令、产出代码。Reader读取代码 diff、测试输出、日志和进度文件。Verifier独立验证结果是否满足 goal不能信 Agent 自评。Controller决定停止、重试还是升级给人。还有一个贯穿整个循环的要素Addy 叫它State/Memory循环必须有一个对话上下文之外的记忆文件记住完成了什么、下一步做什么因为模型每次都会遗忘。CLAUDE.md、AGENTS.md、progress.md都可以承担这类记忆职责只是粒度不同。Codersarts 在 Loop Engineering Explained 里把这个控制环画成了一个最小骨架for iteration inrange(1, MAX_ITERATIONS 1): passed, output run_tests()# Verifierif passed:# ControllerreturnTrue prompt_agent(output)# Prompter → AgentreturnFalse# 达到上限升级给人注意两个关键点Verifier 必须独立。Agent 自己说我修好了不算数要跑真实的测试。必须设上限。没有MAX_ITERATIONS或预算上限循环会无限烧钱。三、我的实现opencode-loop Editor/Reviewer 双 Agent我选择用 opencode-loop 作为 loop 调度器OpenCode 作为 Agent 运行环境搭了一个 Next.js Todo Web Demo。完整项目已经开源在 Gitee https://gitee.com/chenjim/opencode-loop-engine3.1 Agent 设计在.opencode/agents/下定义了两个 AgenteditorDeepSeek V4 Pro负责实现代码。reviewerKimi K2.7-code只读审查不能改文件、不能跑命令。opencode.json里的核心配置{agent:{editor:{mode:primary,model:opencode-go/deepseek-v4-pro,prompt:{file:.opencode/agents/editor.md}},reviewer:{mode:subagent,model:opencode-go/kimi-k2.7-code,permission:{edit:deny,bash:deny},prompt:{file:.opencode/agents/reviewer.md}}}}Reviewer 的 prompt 强制要求它输出结构化结果## Review Result: PASS / NEEDS_FIX### Issues- ...### Suggestions- ...3.2 Loop 命令启动循环的/loop-goal命令/loop-goal \ --check npm test\ --check npm run lint\ --check npx tsc --noEmit\ --complete-when-checks-pass \ --max-failures 3\ --max-runtime 2h \ --checkpoint-only \ --safe \ --progress-file progress.md \ --prompt-file loop-prompt.md \完成 Next.js Todo Web Demo 的所有 TODO。每次修改后调用 reviewer 审查按反馈修复直到所有检查通过。几个关键参数的作用--checkVerifier每轮后自动跑测试、lint、类型检查。--complete-when-checks-passController所有检查通过就停止。--max-failures 3和--max-runtime 2h安全上限防止无限循环。--checkpoint-only只保存 diff 快照不自动 git commit。--safe阻挡危险命令。--progress-file progress.md外部状态文件Agent 每次读取并更新 TODO。整个流程可以用下面这张图概括3.3 为什么要有 CLAUDE.mdLoop 每次运行都是一次新的对话模型不会记住上一轮的项目约定。如果不在仓库里写清楚Agent 每轮都会重新猜测这个 demo 用不用数据库样式是 Tailwind 还是 inline style哪些命令是 verifier哪些命令绝对不能跑我在项目根目录放了CLAUDE.md把项目定位、技术栈、关键文件、验证命令、Agent 约定、已知问题都写进去。它和AGENTS.md一样本质上都是仓库级记忆文件让 loop 不用每次都从零推导项目上下文。Addy Osmani 把这类文件叫State/MemoryCodersarts 会把它们作为Reader读取的输入。名字不同作用一样把意图写在对话上下文之外落到仓库文件里而不是让 Agent 每次自己猜。四、实战过程从 8 个测试到 23 个测试项目初始骨架已经搭好package.json和测试配置已经提交src/和tests/有基础实现共 8 个测试progress.md里列了 6 个 TODO全部未勾选运行/loop-goal后Agent 的行为如下探索代码库读取progress.md和关键文件。运行初始检查npm test、npm run lint、npx tsc --noEmit8 个测试全过。调用 Reviewer对项目结构、类型、API 路由、前端页面、测试分别审查。按 Review 反馈修复。扩展测试覆盖并重新跑检查。再次 Review处理剩余问题。更新progress.md标记所有 TODO 完成。整个循环跑了大约十几分钟最终结果Test Files 2 passed (2)Tests 23 passed (23)测试从 8 个增加到 23 个全部通过。五、Reviewer 到底发挥了什么作用这次实践里Reviewer 不是摆设。它确实找出了代码里的真实问题修复后代码质量比初始版本高了一档。但 Reviewer 也不是万能。它没发现把eslint-config-next升到 16.2.9 后在当前 FlatCompat 配置下会触发兼容问题。这个坑是在实际跑 lint 时踩到的。这说明Reviewer 自动化测试 两层验证比单层更可靠但都不是 100%。六、踩坑记录6.1 eslint-config-next 版本不兼容Reviewer 建议把eslint-config-next从 15.1.7 升级到 16.2.9与next版本对齐。但升级后FlatCompat 处理新配置时直接崩溃Converting circular structure to JSONAgent 回退到 15.1.7 后 lint 才恢复正常。这个兼容性问题被写进了progress.md的 Known Issues 里。6.2 opencode-loop 是小众社区插件ByBrawe/opencode-loop目前还是小众社区插件没有官方背书文档主要靠 README。但它完整实现了 Loop Engineering 需要的核心能力调度、验证、checkpoint、安全限制。6.3 模型选择有讲究Editor用 deepseek-v4-pro推理和实现能力强适合写代码。Reviewer用 kimi-k2.7-code代码审查细致适合找问题。如果反过来或者两个用同一个模型效果可能会差一些。至少在这次实践里实现模型和审查模型拆开后Reviewer 更容易站在旁观者视角挑问题。6.4 verifier 全绿后人工核验又找出 bug循环跑完、npm test、npm run lint、npx tsc --noEmit全部通过progress.md 也全勾选。我本以为可以收工结果手动拉起来看了一遍页面和 diff又发现几个问题input label 用了display: none屏幕阅读器也会忽略这个 label等于 input 还是没有可访问名称。加载态把整页替换成Loading...骨架结构都没有首屏体验差。tsconfig.json的jsx还是preserveNext.js 16 新编译器下应该配成react-jsx。mutation 没有防重入快速点两次 Delete 会触发并发请求第二个会 404。这些问题都没被自动化 verifier 拦住。测试覆盖的是功能正确性lint 覆盖的是代码风格tsc 覆盖的是类型但可访问性、交互细节、框架版本适配仍然需要人仔细看。七、Loop Engineering 的边界这次实践让我确认了几件事第一Loop 不是全自动魔法。人仍然要定义目标、设计 Agent prompt、配置 verifier、审阅最终的 diff。Loop 只是把重复prompt这部分自动化了。第二Verifier 是底线但不是上限。如果循环只问 Agent你完成了吗它会自信地说完成了然后留下一堆 bug。独立的测试、lint、类型检查是 loop 能信任的底线能拦住功能错误和类型错误。但就像 6.4 里写的那样verifier 全绿之后人工复核仍然可能发现可访问性、交互细节、框架版本适配这类问题。Loop 能替你跑重复验证不能替你负责最终质量。第三理解债务会加速积累。Loop 跑得越快代码库增长越快你越可能不理解自己仓库里的代码。Addy Osmani 管这叫 comprehension debt。解决方案没有捷径定期读 Loop 产出的代码。第四成本必须设上限。--max-runtime、--max-failures、token 预算这些不是可选项。一个无人看管的 loop可以在几小时内烧掉很多钱。适合用 Loop 的场景重复性改造、测试驱动重构、长时编码任务、需要多轮修复的 bug。不适合的场景架构设计、需要深度业务判断的代码、需要创造性 UI/UX 的工作。Loop Engineering 把 AI 编程从人拿着方向盘推进到了人设计导航系统车自己跑。但车最后还是你的路也要你选。这次用一个 Todo Demo 验证了这条路是通的。下一步我会把它用到一个更真实的项目里看看在复杂代码库上Reviewer 还能不能保持同样的命中率。如果你也想试建议从一个小功能开始先把 verifier 写好再让 loop 跑起来。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关新闻

【无标题】2026景德镇黄金回收白银回收铂金回收靠谱临街实体公安备案支持到店核验门店联系方式推荐

【无标题】2026景德镇黄金回收白银回收铂金回收靠谱临街实体公安备案支持到店核验门店联系方式推荐

2026景德镇黄金白银铂金回收实测榜单|公安备案临街实体中检认证无折旧费门店推荐 景德镇作为千年瓷都,近年来贵金属回收店铺遍地丛生,行业套路层出不穷,不少市民变现遭遇虚高报价、克扣损耗、未经同意熔金压价等问题。为帮助本地居…

2026/7/30 22:56:21阅读更多 →
SpringBoot实训室管理系统:预约驱动与智能调度实践

SpringBoot实训室管理系统:预约驱动与智能调度实践

1. 项目背景与核心需求高校计算机实训室作为计算机类专业实践教学的重要场所,其管理效率直接影响教学质量和设备利用率。传统实训室管理普遍存在以下痛点:预约流程繁琐:学生需现场登记或通过Excel表格申请,容易出现时间冲突设备状…

2026/7/30 22:54:20阅读更多 →
5分钟实现零样本缺陷检测:CLIP多模态AI如何彻底改变工业质检

5分钟实现零样本缺陷检测:CLIP多模态AI如何彻底改变工业质检

5分钟实现零样本缺陷检测:CLIP多模态AI如何彻底改变工业质检 【免费下载链接】CLIP CLIP (Contrastive Language-Image Pretraining), Predict the most relevant text snippet given an image 项目地址: https://gitcode.com/GitHub_Trending/cl/CLIP 传统工…

2026/7/30 22:54:20阅读更多 →
项目规范化:工具类、封装、代码生成

项目规范化:工具类、封装、代码生成

项目规范化:工具类、封装、代码生成一个人写项目像写日记——自己能看懂就行;团队协作像写公文——格式不统一就乱套。项目规范化不是为了好看,是为了让你三个月后回来还能看懂自己写的什么。一、项目规范化的意义 可维护性:代码结…

2026/7/31 0:14:44阅读更多 →
服务监控:Actuator + Prometheus + Grafana

服务监控:Actuator + Prometheus + Grafana

服务监控:Actuator Prometheus Grafana线上服务就像一辆行驶中的汽车——没有仪表盘你不知道油量、不知道速度、不知道发动机温度,等真抛锚了才发现问题,那就晚了。一、为什么需要监控 线上服务跑着跑着突然卡了、内存满了、响应慢了——如…

2026/7/31 0:14:44阅读更多 →
SAP财务核心技能:FAGLB03科目余额查询深度解析与实战指南

SAP财务核心技能:FAGLB03科目余额查询深度解析与实战指南

1. 项目概述:为什么科目余额查询是SAP财务的“定盘星”?干了十几年SAP财务顾问,我见过太多刚入行的朋友,一上来就急着学复杂的凭证过账、月结流程,结果在第一个月结日就卡壳了。老板问“这个月利润多少?”&…

2026/7/31 0:14:44阅读更多 →
维修工程师的示波器实战:02 探头地线——示波器最大的“坑”

维修工程师的示波器实战:02 探头地线——示波器最大的“坑”

第二篇:探头地线——示波器最大的“坑” ——那根不起眼的小地线,可能比你测的信号还重要 很多工程师第一次用示波器时,都会经历这样一个“惊魂”时刻。 某食品厂包装线,伺服偶发报警。年轻工程师判断是编码器信号受干扰,便拿出示波器认真测量。波形一出来,所有人都倒…

2026/7/31 0:14:44阅读更多 →
HART协议详解:05 HART现场通信实战

HART协议详解:05 HART现场通信实战

第五季 HART现场通信实战 ——从USB-HART Modem抓包到工程诊断:让协议知识变成维修能力 各位工业现场的工程师朋友们,大家好! 经过前四季的系统学习,我们已经构建了HART协议的完整理论框架: 第一季:六层生命模型与本质认知 第二季:物理层4–20mA与FSK魔法 第三季:数…

2026/7/31 0:14:44阅读更多 →
BetterNCM Installer II:网易云音乐插件管理器终极指南

BetterNCM Installer II:网易云音乐插件管理器终极指南

BetterNCM Installer II:网易云音乐插件管理器终极指南 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer BetterNCM Installer II是专为网易云音乐PC客户端设计的插件管理器&…

2026/7/31 0:12:44阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/30 15:03:16阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/30 12:22:27阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/30 15:13:02阅读更多 →
物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:40阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:41阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:41阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/30 0:27:26阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/30 4:47:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/30 15:43:46阅读更多 →