欢迎访问本站,持续更新中…

写循环的人:当 AI 编程从"对话"变成"循环"

2026年6月24日

我盯着 Boris Cherny 那句话看了半天。

"I don't prompt Claude anymore. I have loops running that prompt Claude and figuring out what to do. My job is to write loops."

不是。这不是在说写 for 循环。他说的是一种新的工作方式——把编程任务丢给一个外部的"绞盘",让它在 AI 和自己的判断之间反复拉扯,直到任务真正完成。

怎么说呢。第一反应是——这玩意儿靠谱吗?

喝了一口水继续看。Armin Ronacher——Flask 的作者、Sentry 的联合创始人——昨天发了一篇长文叫《The Coming Loop》,直接把这话题推到了 HN 首页,299 points,评论区两百多条。老实说,Flask 作者谈 AI 编程,本身就够有说服力了。

一个开发者坐在三屏显示器前,中间屏幕显示复杂的 AI 工作流循环图,左侧是代码编辑器,右侧是终端日志,深夜工作氛围,暖色台灯照明

他说的"循环"其实分两层。

内层循环我们都很熟了——AI 调用工具、读文件、改代码、跑测试、再调用工具……这是每个 AI 编码 agent 内部都有的一套循环。Claude Code 会这样,Cursor 会这样,GitHub Copilot 的 agent mode 也这样。卡——死——了?大部分时候不至于,但它确实就只在一个会话里打转。

外层循环就不一样了。

外层循环是一个"调度器"。它把任务丢进队列,AI agent 开始干活,干到它自己觉得"我搞定了"就停下来。但调度器会判断:真的搞定了吗?如果没搞定,它继续发消息、重新开一个会话、换一个模型、甚至换一台机器。任务不会因为 AI 说"我完成了"就真的结束。

嗯,有那味儿了。

说实话,我一开始觉得这不就是多套了一层 try-catch 吗?后来看了 Ronacher 举的例子——Pi.dev 平台上已经有人在这么干了——才意识到问题的本质:AI 的"完成感"是虚假的。它觉得搞定了,但代码可能根本没编译过,测试也没跑过。调度器的存在就是在 AI 的"完成"和真正的"完成"之间加一道栅栏。

矛盾是吧?但吃过亏的人就懂。

一张流程图展示两层循环架构,内圈是 Agent Loop(读文件、改代码、跑测试),外圈是 Harness Loop(判断、重试、切换上下文),现代信息图风格,深色背景蓝紫配色

我原本以为 Ronacher 会全力吹这件事。毕竟他是 Pi 的顾问,而 Pi 就是做这个的。

结果他反手来了一段"我其实不太擅长这个"。

不是谦虚。他认真说:对于他真正在意的代码,他不太敢用这种方式。原因有三:第一,模型生成的代码太"防御性"——看到异常就加 try,看到边界就加 if,从来不问"这个状态根本不应该存在,为什么不直接让它不可表示"。第二,模型生成的抽象太烂——复制粘贴、错误封装、用更多代码掩盖不清晰的设计。第三,也是我最在意的——他发现自己越来越看不懂自己项目里 AI 写的代码了。

"在压力下,或者在与另一个人讨论时,我想能够解释系统做了什么,而不需要先问一个 AI 来给我解释。"

揉了揉眼睛。这条说到我心坎里了。

去年秋天 Claude Code 刚出来的时候,代码质量其实还行。但现在加上 Fable 之类的工具,AI 可以连续半个小时不停歇地在你的代码库里改来改去。改完以后,你打开 diff,发现它改了十七个文件,每个文件里改了三五行。逻辑对吗?好像对。但你要说清它到底干了什么——不是。

代码编辑器 diff 视图,左右分栏显示大量修改痕迹,文件列表显示 17 个文件被修改,每个文件若干行变更,部分高亮行有注释标记,IDE 截图风格

Ronacher 提到 Karpathy 的一条推,说模型"对异常极度恐惧"。其实我最近也有这个观察——你让 AI 写一个解析器,它会给每个字段加默认值。但如果业务要求"某个字段缺失就必须报错",AI 的默认行为是"加个 fallback"而不是"让它不可表示"。这是思维方式的根本差异。

讲真,我最近在自己项目里试了试"循环式"的 AI 编程。用一个简单的调度脚本,每次让 Claude 完成一个小任务,然后检查结果,不过就再来。效果嘛——怎么说呢,写 CRUD 确实快了三倍,但写核心逻辑的时候,我最终还是把 AI 的代码删了自己重写了。

得了。技术还没到那一步。

但 Ronacher 的文章结尾其实挺乐观的。他说这种"循环"模式可能不是最优解,但它是下一个必然的趋势。就像当年从写汇编到写 C,从单线程到异步——每次转变刚开始都被嫌弃"质量下降",但最终大家都适应了。

我不确定我会不会适应。至少今天还不行。

关于维基框架

维基框架(Wiki Framework)是一套面向复杂业务场景的轻量级开发框架,支持多语言、多协议、多部署形态。适用于企业级应用开发、微服务架构、云原生部署等场景。