<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Loop Engineering on Svtter's Blog</title><link>https://svtter.cn/tags/loop-engineering/</link><description>Recent content in Loop Engineering on Svtter's Blog</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Wed, 08 Jul 2026 11:00:00 +0800</lastBuildDate><atom:link href="https://svtter.cn/tags/loop-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>oh-my-pi 实现了 Claude Loop Engineering 的几种循环？4 种里 2 种</title><link>https://svtter.cn/p/oh-my-pi-%E5%AE%9E%E7%8E%B0%E4%BA%86-claude-loop-engineering-%E7%9A%84%E5%87%A0%E7%A7%8D%E5%BE%AA%E7%8E%AF4-%E7%A7%8D%E9%87%8C-2-%E7%A7%8D/</link><pubDate>Wed, 08 Jul 2026 11:00:00 +0800</pubDate><guid>https://svtter.cn/p/oh-my-pi-%E5%AE%9E%E7%8E%B0%E4%BA%86-claude-loop-engineering-%E7%9A%84%E5%87%A0%E7%A7%8D%E5%BE%AA%E7%8E%AF4-%E7%A7%8D%E9%87%8C-2-%E7%A7%8D/</guid><description>&lt;img src="https://svtter.cn/p/oh-my-pi-%E5%AE%9E%E7%8E%B0%E4%BA%86-claude-loop-engineering-%E7%9A%84%E5%87%A0%E7%A7%8D%E5%BE%AA%E7%8E%AF4-%E7%A7%8D%E9%87%8C-2-%E7%A7%8D/pics/cover_20260708.jpg" alt="Featured image of post oh-my-pi 实现了 Claude Loop Engineering 的几种循环？4 种里 2 种" /&gt;&lt;p&gt;有人在推上转了 Claude 官方那篇 &lt;em&gt;Loop Engineering&lt;/em&gt; 的入门文章，并总结出官方把 Loop 分成了四种类型。一个很自然的问题：&lt;strong&gt;oh-my-pi (omp) 这个 Claude Code 的开源竞品，到底实现了其中几种？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇文章不谈概念本身（归藏那条推和官方文章已经讲清楚了），只做一件事：&lt;strong&gt;拿本机已装的 omp 16.3.11 去逐条核对&lt;/strong&gt;，给出有证据的答案。&lt;/p&gt;
&lt;h2 id="先对齐一下四种循环分别是什么"&gt;先对齐一下：四种循环分别是什么
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;#&lt;/th&gt;
					&lt;th&gt;类型&lt;/th&gt;
					&lt;th&gt;一句话&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;1&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;回合制循环 Single-turn Loop&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;最基本的工作方式：收集上下文 → 行动 → 检查 → 重复，直到任务完成或需要人工介入&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;2&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;基于目标的循环 Goal-oriented Loop&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;给定一个大目标后，系统多次迭代直到达成（自治/headless 模式）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;3&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;基于时间的循环 Time-based Loop&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;定时触发任务，对应 Claude Code 的 &lt;code&gt;/loop&lt;/code&gt;（类 cron）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;4&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;主动循环 Active Loop&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;事件触发，例如新 Issue/PR 自动让 AI 去审核/记录&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="结论先放4-种里实现了-2-种"&gt;结论先放：4 种里实现了 2 种
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;#&lt;/th&gt;
					&lt;th&gt;类型&lt;/th&gt;
					&lt;th&gt;omp 实现？&lt;/th&gt;
					&lt;th&gt;关键依据&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;1&lt;/td&gt;
					&lt;td&gt;Single-turn Loop&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;这是任何 coding agent 的基本盘，omp 的核心 agent loop 本身就是&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;2&lt;/td&gt;
					&lt;td&gt;Goal-oriented Loop&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;内置 &lt;code&gt;/goal&lt;/code&gt; 命令 + goal 模式，本机包里有完整的 &lt;code&gt;goals/&lt;/code&gt; 子模块&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;3&lt;/td&gt;
					&lt;td&gt;Time-based Loop&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;没有原生调度器，是社区在追的开放 feature request&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;4&lt;/td&gt;
					&lt;td&gt;Active Loop&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;是终端 agent，没有 webhook / 事件驱动自动触发能力&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;下面逐条给依据。&lt;/p&gt;
&lt;h2 id="第-1-类回合制循环--实现了"&gt;第 1 类：回合制循环 —— 实现了
&lt;/h2&gt;&lt;p&gt;这条没什么可争的。回合制循环是所有 agentic coding agent 的基本工作方式：每次输入触发一轮「收集上下文 → 调用工具 → 检查结果 → 决定下一步」，循环直到任务完成或需要人工介入。&lt;/p&gt;
&lt;p&gt;omp 自身的 README 里就明确描述了它的 agent loop（含重试循环、长工具链的自动压缩等）。这是地基，没有这一层后面三类都无从谈起。&lt;/p&gt;
&lt;h2 id="第-2-类基于目标的循环--实现了且是最强证据"&gt;第 2 类：基于目标的循环 —— 实现了（且是最强证据）
&lt;/h2&gt;&lt;p&gt;这是 omp &lt;strong&gt;明确有的一等公民功能&lt;/strong&gt;：内置 &lt;strong&gt;&lt;code&gt;/goal&lt;/code&gt; 命令和 goal 模式&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;我从本机已装的 &lt;code&gt;pi-coding-agent@16.3.11&lt;/code&gt; 包里直接翻到了对应的模块：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;dist&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;goals&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;runtime&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;dist&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;goals&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;state&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;dist&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;goals&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;goal&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="k"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;dist&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;modes&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ts&lt;/span&gt; &lt;span class="c1"&gt;# 含 goalMode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;dist&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;modes&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;interactive&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;也就是说，goal 模式不是某个第三方插件，是 omp &lt;strong&gt;自带&lt;/strong&gt;的——有专门的 runtime、有持久化的 state、有 &lt;code&gt;goal&lt;/code&gt; 工具、在交互模式里被当一种独立的 run mode 对待。对应的官方 PR 标题就是 &lt;code&gt;feat: built-in /goal command for persistent autonomous goals&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;这一类的本质是「给定目标后多次迭代直到达成」，omp 的 &lt;code&gt;/goal&lt;/code&gt; 完全吻合：设定目标后，它会持续驱动 agent loop 朝目标推进，直到目标完成（过程中还有 goal 模式专属的 auto-compaction，防止长循环撑爆上下文）。&lt;/p&gt;
&lt;h2 id="第-3-类基于时间的循环--没实现开放-feature-request"&gt;第 3 类：基于时间的循环 —— 没实现（开放 feature request）
&lt;/h2&gt;&lt;p&gt;这一类对应 Claude Code 的 &lt;code&gt;/loop&lt;/code&gt;：&lt;strong&gt;定时触发任务&lt;/strong&gt;，比如「每 10 分钟跑一次某个 prompt」。&lt;/p&gt;
&lt;p&gt;omp &lt;strong&gt;目前没有原生调度器&lt;/strong&gt;。这不是我猜的，而是社区在追的一个明确 feature request：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;code&gt;[FR] First-class recurring/scheduled task (&amp;quot;run X every N minutes&amp;quot;) — cron-like, prior art Copilot CLI&lt;/code&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;请求里原文就承认：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;em&gt;&amp;ldquo;There is no native scheduler. The only way to get periodic, hands-free reporting today is a self-re-arming background-job chain: each cycle is sleep…&amp;rdquo;&lt;/em&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;也就是说，今天想做到定时循环，只能自己在后台跑一个 sleep 自循环的 workaround，没有一等公民支持。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;注：omp 仓库里有个 &lt;code&gt;/loop&lt;/code&gt; 字样的 issue（关于在循环进行中修改其 prompt），那个指的是 &lt;strong&gt;goal 模式的续接循环&lt;/strong&gt;，跟定时调度不是一回事，别混淆。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="第-4-类主动循环--没实现"&gt;第 4 类：主动循环 —— 没实现
&lt;/h2&gt;&lt;p&gt;这一类是&lt;strong&gt;事件驱动&lt;/strong&gt;：设一个事件（新 Issue、新 PR、webhook 回调…），事件发生时自动触发一轮 agent loop，全程无人工介入。&lt;/p&gt;
&lt;p&gt;omp 是一个&lt;strong&gt;终端 coding agent&lt;/strong&gt;，定位上就不是事件驱动的自动化服务器，没有 webhook 接收、没有 GitHub App 自动监听那一套。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;最接近的功能是 &lt;code&gt;robomp&lt;/code&gt;（代码评审），但它是&lt;strong&gt;在会话内按需调用&lt;/strong&gt;的子 agent，不是「新 PR 一来自动触发」。&lt;/li&gt;
&lt;li&gt;Pi 生态（注意是上游 Pi，不是 omp）在 GitHub Marketplace 有个 GitHub Action 用来做 PR review，但那是个 Action 包装层，不是 omp 内建的 Active Loop 能力。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;把 issue tracker 里所有带 &lt;code&gt;webhook&lt;/code&gt;/&lt;code&gt;event-driven&lt;/code&gt;/&lt;code&gt;auto-trigger&lt;/code&gt; 的搜索结果翻了一遍，全部是误命中（autocomplete 触发、token 链接、CPU 开销之类），没有一个是在描述这种事件驱动自动循环。&lt;/p&gt;
&lt;h2 id="一个值得关注的开放项"&gt;一个值得关注的开放项
&lt;/h2&gt;&lt;p&gt;仓库里还有一个更宽泛的 issue：&lt;code&gt;Add loop engineering runtime&lt;/code&gt;。从命名看，omp 似乎想把第 3、4 类做成一个更完整的 Loop Engineering 子系统。但目前还没落地——&lt;strong&gt;已 ship 的，是 Type 1 + Type 2&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="一句话总结"&gt;一句话总结
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Claude Loop Engineering 的 4 种循环里，oh-my-pi 实现了 2 种&lt;/strong&gt;：基本的回合制循环（Type 1）和基于目标的 &lt;code&gt;/goal&lt;/code&gt; 模式（Type 2）。定时循环（Type 3）和事件触发的主动循环（Type 4）都还没有，前者对应开放 feature request #2763，后者还停留在更宽泛的 #3534。&lt;/p&gt;
&lt;p&gt;换句话说，omp 把「&lt;strong&gt;人坐在终端前、给一个目标让它跑到完成&lt;/strong&gt;」这条路径打磨得很扎实，但「&lt;strong&gt;没人盯着、靠时间或事件自动跑起来&lt;/strong&gt;」这两条还没补上。&lt;/p&gt;</description></item></channel></rss>