同じ指示をずっと流し続けるだけで動く — Ralph Loop という乱暴なやり方

同じ指示をずっと流し続けるだけで動く — Ralph Loop という乱暴なやり方

長い作業を任せて、しばらくしてから覗きます。

さっきまで認証まわりを直していたはずが、別のファイルを開いています。履歴を遡ると、一度直したところをもう一度直していました。その前には、やめたはずの方針に戻っています。

何をやっていたかを、途中で忘れたようでした。

対策としてよく聞くのは、文脈をうまく渡す工夫です。要約を挟む、記憶の仕組みを足す、会話を圧縮する。

中身はこれだけ

オーストラリアの技術者 Geoffrey Huntley 氏が名付けたやり方で、書くとこうなります。

while :; do cat PROMPT.md | claude-code ; done

同じ指示を読ませて、終わったらまた同じ指示を読ませます。それだけです。

名前はアニメの登場人物から来ています。物を知らないが、しつこく、前向きである、という組み合わせへの当てこすりです。

記憶はファイルが持ちます

毎回まっさらから始まるので、前の回が何をしたかはエージェント自身が覚えていません。

代わりに、ファイルが覚えます。計画を書いたファイル、やることの一覧、進んだ記録。次の回は、まずそれを読みます。

記憶の置き場所を、会話の履歴からファイルシステムに移した形です。

これには利点があります。会話の履歴は中が見えませんし、長くなると壊れます。ファイルは開けば読めますし、こちらから書き換えられます。途中で方針が変わったら、ファイルを直せばよいだけです。

1回に1つだけ

決まりがいくつかあります。

1回のループでやるのは1つの作業だけ、というのが中心です。欲張ると、文脈が雑音で埋まります。17万トークンほどの枠を、1つの作業に使い切らないようにする、という考え方です。

もう1つが、「まだ作られていない」と決めつける前に探すこと。毎回まっさらなので、放っておくと前の回に作ったものをもう一度作ります。探してから書く、と指示に入れておきます。

成立しているらしい

The Register が2026年1月に取り上げています。ある技術者が、5万ドル規模の契約に相当するものを、API の費用およそ297ドルで仕上げた、という報告が紹介されています。

数字そのものより、こういう乱暴なやり方が成立する、という事実のほうが効きます。2026年に広がった「ループを設計する」という考え方は、ここが元になったとされています。

並列との相性

ループは放っておく形なので、並べると効きます。

ただし、放っておけるのは承認で止まらない場合だけです。Claude Code には承認を飛ばす起動方法があるので回り続けますが、Codex には渡されていないので、どこかで止まって待ちます。

もう1つ、ループは止まらないことが問題になるやり方でもあります。終わったのに回り続ける、同じ間違いを繰り返す、といった状態が起こります。指示の中に止まる条件を書くか、外から様子を見る必要があります。

様子を見る

ループを1つ動かしているなら、画面を見ていれば分かります。5つ並べると、どれが進んでいてどれが空回りしているかを、画面を切り替えて確かめることになります。

npx mulmoterminal@latest

MulmoTerminal は枠ごとに worktree を切るので、ループを並べても互いのファイルを踏みません。枠の色で、動いているか人を待っているかが分かります。ブラウザを閉じても、裏の tmux が動き続けます。

ループが空回りしているかどうかは、色では分かりません。そこは記録ファイルを見ることになります。

向かないもの

毎回まっさらで、1回に1つ、という作りなので、全体を見渡して判断する作業には向きません。設計の方針を決める、どの実装を選ぶか比べる、といった仕事です。

向くのは、やることが並んでいて、1つずつ潰していけばよい類のものです。移植、テストの穴埋め、同じ修正の横展開。

まとめ

Ralph Loop は、会話の記憶を捨てて、ファイルに覚えさせるやり方です。乱暴に見えますが、記憶の置き場所を見えるところに移したと考えると筋が通っています。

止まる条件を自分で用意しないと、永遠に回ります。並べるなら、その見張りをどうするかまで含めて設計することになります。

この記事をシェア

関連記事

記事一覧に戻る