想去哪里?

首页 页面 关于 页面 项目 页面 简历 页面 技术 页面 随笔 页面 联系 页面 隐私政策 页面 Terminal Spike 隐私政策 页面 用 Astro 构建文档与职业个人网站 技术 通过 tmux、Mosh、Termius 与 Tailscale 随处使用 Codex 技术 用 Langfuse 观察 Codex 的 MCP 工具调用 技术 产品应用中的本地化 技术 把 MCP 作为安全的 AI 集成边界 技术 用 Zod、OpenAPI 与 Swagger 维护 API 契约 技术 用 pg-boss 运行持久后台任务 技术 通过真实知识工作流理解 pgvector 与 RAG 技术 Pi Edge:让 Pi 待在 Obsidian 笔记旁 技术 为真实排序任务设计拖放交互 技术 Prisma 与 PostgreSQL:产品状态的事实来源 技术 把 Ralph Loop 当作计划队列 技术 用 React Router 组织全栈产品工作流 技术 把 shadcn 风格组件变成自己的产品系统 技术 用表格与编辑器承载密集业务操作 技术 Terminal Spike:原生 Android 终端 技术 在 Linux 上用 fcitx 输入带声调的拼音 技术 在 Linux 上配置 DEFT Pro 轨迹球 技术 在 KOReader 上使用 Pocket 稍后读 技术 为 Vercel AI SDK 设置明确的工具边界 技术 垂直切片架构与 dependency-cruiser 技术 用 Vitest 与 Playwright 测试产品工作流 技术 我的随处工作流:Herdr、code-server、Obsidian 与 Pi Edge 技术 Zod 不只是校验 技术 《卡拉马佐夫兄弟》是我看过最好的小说 随笔 基督徒口述1960劳改历史 随笔 圣经中的“道”与言语 随笔 我们爱,因为神先爱我们,而不是空洞的“自爱” 随笔 妈妈,让我来承担爸爸的过错吧 随笔 我与神的故事 随笔 世界远离上帝,接近中国 随笔 “爱的五种语言”和内外向,只存在于语言中 随笔 人格类型不存在,你在世界而非概念中生活 随笔 危险的词语:为什么心理学是不可能的 随笔 2000 年,一个深圳打工者的故事 随笔 阿联酋Ras al Khaimah见闻录 随笔 沙甸:1975 年的一场冲突 随笔 关于中国的纪录片 随笔
← 技术/工具

把 Ralph Loop 当作计划队列

用一个小巧的 TypeScript 命令行工具,让 Codex 在独立上下文中逐个执行已审阅的 Markdown 计划。

Ralph Loop 的想法很简单:让 AI 编程智能体循环执行,同时给予足够结构以持续推进。我做的版本比较小:一个本地 TypeScript CLI,逐个将文件夹中已审阅的 Markdown 实施计划交给 Codex。

源码:Anderbone/ralph-loop。

plans/
  01-add-health-endpoint.plan.md
  02-add-smoke-test.plan.md
  03-document-health-check.plan.md

每个文件都是清楚、可直接执行的编程计划。Ralph 选择下一个可运行计划,以它为主要上下文启动 Codex,等待实现,再做一轮简化与审查,将计划归档到 done/,然后在新上下文中开始下一个文件。

计划 01 → Codex 实现 → 简化审查 → 归档
计划 02 → 新的 Codex 上下文 → 简化审查 → 归档
计划 03 → 新的 Codex 上下文 → 简化审查 → 归档

干净的上下文是我想做这个工具的主要原因。不让一个漫长会话记住整个项目,而让每次执行得到一个专注计划和全新窗口。计划足够多,循环就能运行很久。

我更愿意先审阅计划,再交给 Ralph,而不是让它同时负责规划和执行。规划并不耗时,却最需要人的判断:先回答开放问题、消除歧义,并判断工作是否值得做。

复杂计划可以先用 grill-me 技能 追问检验。智能体拿到计划前,就应该有清楚范围、验收标准、验证方法,不留隐藏决策。

已审阅计划 → Ralph 循环 → 实现 → 测试/E2E → 简化 → 下一个独立上下文

最好的版本并不神奇:准备好计划队列、真实的测试或端到端检查,每次改动后简化,让电脑运行一夜。早上我想看到一组小而完成的计划,而不是一个巨大又难以理解的智能体会话。