news 2026/9/28 3:52:48

Loop Engineering 实战:用 /goal 与 PROGRESS.md 让 Claude Code 自主跑完整个项目

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Loop Engineering 实战:用 /goal 与 PROGRESS.md 让 Claude Code 自主跑完整个项目

1. 为什么我放弃了手动提示,转向 Loop Engineering

如果你正在用 Claude Code 写项目,大概率经历过这种循环:敲一段提示词,等 AI 输出,看一眼觉得不对,再补一段提示词,再等,再改。一个下午过去,项目骨架还没搭完,人已经累了。Loop Engineering 要解决的就是这件事——把「提示、检查、决定下一步」这套动作交给一套自动循环系统,你只负责定目标和验收。

Claude Code 里落地这套方法论的两个核心命令是/goal和/loop,配套的状态记忆文件是PROGRESS.md。/goal负责「跑到目标达成为止」,适合从零搭建项目、批量重构这类有明确终点的任务;/loop负责「按固定间隔反复跑」,适合部署监控、定时扫描这类没有终点的持续任务。两者配合PROGRESS.md做状态记忆,就能让 AI 在多轮迭代中不丢上下文、不重复劳动。

这篇文章面向从零搭建完整项目的开发者。我会给出PROGRESS.md的完整骨架、/goal指令模板、settings.json里接入 TaoToken 统一 Key/API 通道的可复制配置,然后演示多轮自动迭代后的验证动作和结果检查。全程可以跟着敲,不需要你事先精通 Claude Code。

先说清楚一个前提:Loop 不是让 AI 无脑重试。没有反馈闭环的循环,AI 会把错误当正确答案继续跑,越跑越偏。真正能用的 Loop 需要三个要素——可自动验证的停止条件、每轮执行后的反馈闭环、外部文件承载的状态记忆。这三样缺一个,循环就会失控。下面所有配置和模板,都是围绕这三样展开的。

2. 前置准备:TaoToken 统一 Key 与 Claude Code 接入

在跑/goal之前,得先把 Claude Code 的模型通道配好。我实测下来,用 TaoToken 做统一 Key/API 通道比较省事,一个 Key 就能覆盖 Claude 系列模型,不用在多个平台之间来回切换配置。

TaoToken 官网地址是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 入口是 https://taotoken.net/api 。注册后在控制台创建 API Key,拿到形如sk-xxxx的密钥,接下来写进 Claude Code 的配置文件。

Claude Code 的配置分两层:一层是环境变量或settings.json里的模型通道配置,一层是项目级的CLAUDE.md规则文件。前者决定请求发到哪里,后者决定 AI 在你的项目里遵守什么规矩。Loop Engineering 跑起来之后,CLAUDE.md里的规则会被每一轮循环反复读取,所以规则写得越清楚,循环越稳。

如果你还没创建 Key,可以先去控制台 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite 建一个,再参考接入文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 确认最新的参数格式。文档里会说明当前支持的模型名和 base URL 写法,配置前扫一眼能少踩坑。

有一点要提醒:Loop 跑起来之后 Token 消耗是持续累积的,所以 Key 的额度管理和熔断设置要提前想好。后面第五节会讲怎么在/goal里加 Token 预算限制。

3. 可复制配置:settings.json、PROGRESS.md 与 /goal 模板

这一节是全文的核心,三份配置直接抄就能用。先配通道,再建状态文件,最后套指令模板。

3.1 settings.json 接入 TaoToken

Claude Code 的settings.json一般放在用户目录下的.claude/settings.json,项目级配置可以放在项目根目录的.claude/settings.json。我用的是项目级配置,这样不同项目可以用不同的 Key 和模型。配置内容如下:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "sk-你的TaoToken密钥", "ANTHROPIC_MODEL": "claude-sonnet-4-20250514", "ANTHROPIC_SMALL_FAST_MODEL": "claude-3-5-haiku-20241022" }, "permissions": { "allow": [ "Bash(npm run build)", "Bash(npm run dev)", "Bash(npx tsc --noEmit)", "Bash(npm test)", "Read", "Write", "Edit" ], "deny": [ "Bash(rm -rf *)", "Bash(git push --force*)" ] } }

几个参数说明一下。ANTHROPIC_BASE_URL指向 TaoToken 的 API 入口,注意这里不加任何查询参数,保持干净。ANTHROPIC_AUTH_TOKEN填你控制台创建的 Key。ANTHROPIC_MODEL是主模型,负责执行任务;ANTHROPIC_SMALL_FAST_MODEL是轻量模型,负责一些快速判断,比如/goal里那个独立的判断模型就可以走这个通道,省 Token。

permissions.allow里我放开了构建、类型检查、测试这些验证命令,因为 Loop 每轮都要跑它们。permissions.deny里挡掉了rm -rf和强制推送,防止 AI 在循环里做出不可逆操作。这个 deny 列表建议你按自己项目的风险点补充,比如数据库迁移命令、生产环境部署命令,都值得挡一挡。

配好之后,在项目根目录跑一次claude进入交互模式,随便问一句「当前用的是什么模型」,确认请求走通了再往下走。如果报 401,多半是 Key 填错或者额度没开;如果报连接超时,检查 base URL 有没有多写斜杠。

3.2 PROGRESS.md 骨架

PROGRESS.md是 Loop 的状态记忆文件,放在项目根目录。它的作用是让 AI 在每一轮循环开始时,先读这个文件知道自己干到哪了,避免重复劳动,也避免上下文窗口满了之后丢失进度。骨架如下:

# 项目进度 ## 当前阶段 阶段 2:API 路由与数据库层 ## 已完成 - [x] 阶段 1:项目初始化(create-next-app + 依赖安装) - [x] 数据库 Schema 设计(sessions 表:id, content, token_count, code_lines, project, created_at) ## 进行中 - [ ] 阶段 2:/api/sessions 的 GET 与 POST 实现 ## 待办 - [ ] 阶段 3:仪表盘页面 - [ ] 阶段 4:历史列表页(搜索 + 筛选) - [ ] 阶段 5:新增表单页 - [ ] 阶段 6:端到端验证 ## 遇到的问题 | 轮次 | 问题 | 处理 | 状态 | |------|------|------|------| | 3 | better-sqlite3 原生模块编译失败 | 改用预编译版本 | 已解决 | | 7 | 类型定义缺失导致 tsc 报错 | 补 @types 声明 | 已解决 | ## 熔断记录 - 同一问题重试上限:5 次 - 单轮 Token 预算:200K - 进度停滞检测:连续 3 轮无变化则暂停

这个骨架的关键在于「遇到的问题」和「熔断记录」两块。前者是调试日志,Loop 跑了几十轮之后出问题,翻这张表能快速定位是哪一轮埋的坑;后者是防死循环的硬约束,AI 每轮开始时会读这两块,知道自己还剩多少重试额度。

3.3 /goal 指令模板

把目标、停止条件、循环规则、熔断机制写进一段/goal指令里。模板如下,方括号部分按你的项目替换:

/goal 从零搭建[项目名]。[技术栈描述]。 功能要求: 1. [功能点 1] 2. [功能点 2] 3. [功能点 3] 停止条件:[可自动验证的条件,如 npm run build 无报错、npm run dev 能启动、所有页面正常渲染] 自主开发循环: 1. 状态追踪:项目根目录维护 PROGRESS.md,每完成一个模块更新一次 2. 开发-验证闭环:每完成一个模块立即跑构建验证,有报错先修复再推进 3. 防死循环:同一问题修复超过 5 次仍未解决,记录到 PROGRESS.md 后跳过 4. 最终验证:全部完成后做一次端到端验证 全程自主开发,不要停下来等我确认,除非遇到无法自行解决的阻塞问题。 完成后输出 Token 总消耗和项目文件清单。

这段模板里,「停止条件」必须可自动验证,这是 Loop 能自己判断「做完了没」的前提。「防死循环」那条是保命的,没有它,AI 可能在一个编译错误上耗掉几十万 Token。最后那句「不要停下来等我确认」是让循环真正跑起来的关键,否则 AI 每完成一步就停下来等你,又变回手动模式了。

4. 验证请求与成功结果检查

配置写完,跑一轮验证。我拿一个「AI 开发日志」全栈小项目做演示,技术栈是 Next.js 14 + TypeScript + Tailwind CSS + better-sqlite3。

4.1 启动 /goal 并观察执行节奏

在项目根目录进入 Claude Code,把上一节的模板填好贴进去,回车。AI 会按这样的节奏自己跑:

轮次 1:npx create-next-app 初始化,安装依赖 轮次 2:创建 SQLite Schema 和 db 连接模块 轮次 3:写 /api/sessions 路由,跑 npm run build —— 报错,自己修 轮次 4:重跑构建 —— 通过,更新 PROGRESS.md 轮次 5:写仪表盘页面,跑构建 —— 通过 轮次 6:写历史列表页,跑构建 —— 报错,修了 2 轮通过 轮次 7:写新增表单页,跑构建 —— 通过 轮次 8:端到端验证 npm run build && npm run dev

整个过程我没有干预。AI 每完成一个模块就跑一次构建,报错当场修,修完更新PROGRESS.md再推进下一个模块。这就是反馈闭环在起作用——不是最后才检查,是每一步都在检查。

4.2 检查成功结果

跑完之后,按三个层面验收。

第一层,看PROGRESS.md的最终状态。所有待办应该都变成已完成,熔断记录里如果没有新增条目,说明没有触发死循环跳过。

第二层,跑一遍停止条件里的验证命令:

npm run build npm run dev

npm run build应该零报错退出。npm run dev启动后,浏览器访问http://localhost:3000,首页仪表盘、历史列表页、新增表单页三个页面都要能正常渲染。新增一条记录,刷新历史页能看到,说明 CRUD 跑通了。

第三层,检查 API 路由。用 curl 直接打接口:

curl -X POST http://localhost:3000/api/sessions \ -H "Content-Type: application/json" \ -d '{"content":"测试会话","token_count":1200,"code_lines":80,"project":"demo"}' curl http://localhost:3000/api/sessions

POST 应该返回创建成功的记录,GET 应该返回包含刚才那条记录的列表。如果 POST 报 500,多半是数据库文件路径问题;如果 GET 返回空数组,检查 Schema 里的表名和查询语句是否一致。

4.3 用 /loop 做持续监控

项目搭完之后,如果想让 AI 持续盯着服务状态,切到/loop:

/loop 10m 检查 http://localhost:3000/api/sessions 是否返回 200。连续 2 次返回非 200,记录到 health-check.log 并通知我。

/loop每 10 分钟跑一次,适合部署后的健康检查、CI 状态轮询这类场景。记住/loop会一直跑,任务不需要了就手动停掉,别让它空烧 Token。

5. 本篇常见错排查

Loop 跑起来之后,报错集中在几个地方。这一节按现象分类,方便你对号入座。

5.1 401 或模型不可用

现象是 Claude Code 一启动就报鉴权失败,或者/goal跑到一半提示模型不可用。先检查settings.json里的ANTHROPIC_AUTH_TOKEN有没有填错,注意不要带多余空格。再确认ANTHROPIC_BASE_URL写的是https://taotoken.net/api,末尾不要加斜杠。如果 Key 没问题,去控制台看额度是否充足、模型名是否在当前支持的列表里。模型名写错也会报不可用,对照接入文档里的模型列表核对一遍。

5.2 /goal 跑飞或陷入死循环

现象是 AI 在同一个编译错误上反复修,Token 消耗快速上涨,PROGRESS.md的「遇到的问题」表里同一问题出现超过 5 次。这说明熔断机制没生效。检查/goal指令里有没有写「同一问题修复超过 5 次仍未解决,记录到 PROGRESS.md 后跳过」这条。如果写了还跑飞,可能是停止条件太模糊,AI 判断不了什么叫「完成」,于是无限重试。把停止条件改成可自动验证的命令,比如npm run build退出码为 0。

5.3 Overbaking:AI 自己加需求

现象是 AI 搭完你要的功能后,开始加用户权限、操作日志、暗黑模式这些你没要的东西。这是 Loop 跑太久、目标约束太松导致的,社区叫 Overbaking。解决办法是在/goal指令里明确写「做什么」和「不做什么」,比如加一句「不要添加用户认证、权限系统、日志系统等未在功能要求中列出的模块」。同时设轮次上限,跑完人工审查再合并。

5.4 PROGRESS.md 不更新或进度丢失

现象是 AI 跑到一半重启后从零开始,或者PROGRESS.md一直是初始状态。检查/goal指令里有没有明确要求「每完成一个模块更新一次 PROGRESS.md」。如果写了还不更新,可能是permissions.allow里没放开Write和Edit,AI 没权限写文件。另外确认PROGRESS.md放在项目根目录,路径写对。

5.5 构建通过但页面白屏

现象是npm run build零报错,但浏览器打开页面是空白。这类问题 Loop 的停止条件检测不到,因为构建确实通过了。排查方向是看浏览器控制台有没有运行时报错,常见原因是客户端组件里用了服务端才有的 API,或者数据库连接在客户端被引用。这类问题建议在/goal的停止条件里补一条「浏览器访问各页面无控制台报错」,让 AI 用无头浏览器做一次渲染检查。

6. 把 Loop 用顺手的几个实操建议

跑通一轮之后,你会发现 Loop 的杠杆效应很明显——目标拆得清楚,它能替你省下大量重复操作;目标写得模糊,它能把 Token 烧成烟花。我踩过的坑里,最贵的一次是没设熔断,目标写了「重构整个项目」,AI 跑了 50 分钟花了快 80 万 Token,效果还不如自己花 2 小时重写。

所以启动前先想三件事:目标能不能量化?做完值不值这个 Token 钱?跑崩了有没有 Plan B?一个/goal省 2 小时手工操作、花几块钱 Token,值;跑了半天还搞砸要返工,纯浪费。

从小目标开始练手。先给 AI 一个小任务让它跑一轮,感受下节奏和 Token 消耗,顺手之后再上多阶段项目、定时循环、熔断机制这些进阶玩法。PROGRESS.md就是你的调试日志,Loop 跑了几十轮后出问题,翻它比翻对话记录快得多。

如果你还没配好通道,先去 API Keys 页面 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 建一个 Key,再对照接入文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 把settings.json配好。想先感受模型对话效果,可以去模型对话页面 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=chat&utm_campaign=rewrite 试几句。如果你打算长期用 Loop 跑编码和 Agent 任务,Coding Plan https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 的额度模式会比按次调用更划算,具体可以自己算一下每轮循环的平均 Token 消耗再决定。

最后一句实在话:Loop 是放大器,放的是你原本的工程判断力。目标拆得清、停止条件定得准、熔断机制配得全,它就是你项目里的自动驾驶;这三样缺一个,它就是个烧 Token 的无底洞。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 3:52:38

第27章 DDR与UFS调试技术:调试工具与高通平台方法

调试,说白了就是跟芯片「对话」。DDR和UFS跑得不正常,你得知道它在想什么。我做了这么多年存储系统,最深的体会就是:没有趁手的工具,你连问题在哪都找不到。这一章,我重点聊聊DDR和UFS的调试工具&#xff0…

作者头像 李华
网站建设 2026/9/28 3:52:10

山东模具设计制造生产厂家有哪些,口碑公司汇总

选注塑模具厂家必踩的4大坑,你遇到过几个?作为要开模或找代加工的老板、创业者,你是不是也遇到过这些糟心事? 图纸没优化直接开模,返工花了冤枉钱:拿着自己画的产品图找厂家,没发现倒扣、壁厚不均的问题,…

作者头像 李华
网站建设 2026/9/28 3:51:21

OpenClaw多Agent协作完全指南:TaoToken统一Key接入与config.toml配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/28 3:49:15

第4课:Spring Cloud核心组件全家桶认知 架构链路拆解

文章目录一、开篇:从“知道用什么”到“理解为什么用”二、Spring Cloud 2025核心组件全景2.1 官方组件清单2.2 Spring Cloud Alibaba补充组件2.3 本专栏的组件全景图三、组件职责深度拆解3.1 注册中心:Nacos Discovery3.2 配置中心:Nacos Co…

作者头像 李华