エージェントループとは、AI に助けを求めることと、目が覚めたときに仕事が完了していることの違いを生み出すものです。ほとんどの人はエージェントループを構築しません。なぜなら、フロンティアモデルで 100 回の反復を実行すると、実際にコストがかかるからです。
この記事では、ループのパターンを 1 つの図で説明し、2 つの正確なセットアップ(Claude Code と生の API)、そして K3 をループマシンにするキャッシュ計算について詳しく解説します。
初めてのループは、今夜、約 $0.39/ターンで実行できます。
完全なセットアップはこちら 👇
本題に入る前に、 私は Telegram チャンネルで AI とバイブコーディングに関する日々のメモを共有しています:https://t.me/zodchixquant 🧠

ループの正体
誇大広告を排すれば、ループとは 4 つのステップの繰り返しです:
1GOAL → ATTEMPT → CHECK → (better? keep : retry)2 ↑__________________________|
- Goal(目標): 漠然とした雰囲気ではなく、測定可能なゴールライン。「すべてのテストが通る」「ページ読み込みが 1 秒未満」「スコア 90 以上」
- Attempt(試行): モデルが目標に向けて 1 単位の作業を行う
- Check(確認): 何かが目標に対して結果を検証する。テストスイート、リンター、別のモデルなど
- Repeat(繰り返し): 確認結果をフィードバックして再実行し、目標が達成されるか予算が尽きるまで停止しない
以上です。それ以外のすべて(メモリ、サブエージェント、夜間実行)は、このサイクルの装飾に過ぎません。
なぜ K3 なのか:ループの経済性
ループは毎回同じコンテキスト(コードベース、目標、履歴)を再読み込みします。ほとんどのモデルでは、この繰り返しに全額を支払うことになります。しかし K3 ではそうではありません:
1Turn cost = fresh_tokens × $3/M + cached_tokens × $0.30/M23Real shape (800K stable context + 50K fresh per turn):4K3: $0.24 + $0.15 = $0.39/turn5Fable 5: 850K × $10/M = $8.50/turn
50 ターンの夜間ループ:K3 では約 $20、Fable 5 では約 $425。これは割引の問題ではありません。「実行しっぱなしにできる」か「常に監視しなければならない」かの違いです。
唯一のルール:安定したコンテキストを毎回同一のプレフィックスとして保持し、タスクを最後に配置することで、キャッシュが実際にヒットするようにします。

セットアップ A:Claude Code(5 分で完了)
Claude Code を使用している場合、ループは組み込まれており、K3 は Moonshot の公式設定を介して下位に配置されます:
1export ANTHROPIC_BASE_URL=https://api.moonshot.ai/anthropic2export ANTHROPIC_AUTH_TOKEN=${YOUR_MOONSHOT_API_KEY}3export ANTHROPIC_MODEL=kimi-k34export ANTHROPIC_DEFAULT_OPUS_MODEL=kimi-k35export ANTHROPIC_DEFAULT_SONNET_MODEL=kimi-k36export ANTHROPIC_DEFAULT_HAIKU_MODEL=kimi-k37export CLAUDE_CODE_SUBAGENT_MODEL=kimi-k38export ENABLE_TOOL_SEARCH=false9export CLAUDE_CODE_AUTO_COMPACT_WINDOW=104857610claude
その後、ループは 2 つのコマンドで実行できます:
- /goal でゴールラインを設定:「tests/ のすべてのテストがパスし、カバレッジは 80% 以上を維持」。Claude Code は最初の回答で停止するのではなく、目標に向かって作業を続けます
- /loop で繰り返しを有効化:セッションがスケジュールに従って、または目標が達成されるまで再実行されます
/status で K3 を使用していることを確認してください(/model メニューには表示されません)。設定の 1M 自動コンパクトウィンドウにより、長いループでのコンパクト化が稀になり、反復履歴が維持されます。
セットアップ B:生の API ループ(完全制御)
Claude Code 以外でのループ用に、OpenAI 互換の完全な最小限のループを以下に示します:
1from openai import OpenAI23client = OpenAI(4 api_key=MOONSHOT_API_KEY,5 base_url="https://api.moonshot.ai/v1",6)78# Stable prefix: identical every turn = cache hits at $0.30/M9STABLE = f"""You are a coding agent in a loop.10GOAL: make all tests pass in the project below.11PROJECT:12{project_dump}13RULES:14- One focused change per turn15- Explain what you changed and why in 2 lines16- If tests pass, reply exactly: GOAL_REACHED17"""1819history = []20MAX_TURNS = 302122for turn in range(MAX_TURNS):23 result = run_tests() # your check: pytest, npm test, etc.24 if result.passed:25 print(f"Done in {turn} turns")26 break2728 response = client.chat.completions.create(29 model="kimi-k3",30 messages=[31 {"role": "system", "content": STABLE},32 *history[-6:], # last 3 exchanges, capped33 {"role": "user", "content":34 f"Turn {turn}. Test output:\n{result.output}\n"35 f"Fix the next failure."},36 ],37 )38 change = response.choices[0].message.content39 apply_change(change) # write the edit, commit to a branch40 history += [41 {"role": "user", "content": f"Turn {turn} test output given"},42 {"role": "assistant", "content": change},43 ]
3 つの重要な詳細:
- チェックはコードであり、雰囲気ではない。 run_tests() が進捗を判断し、モデルが自分自身を評価することはありません
- 履歴は制限されている。 最後の 3 回のやり取りのみ。安定したプレフィックスが永続的なコンテキストを保持し、キャッシュフレンドリーな状態を維持します
- すべての変更はブランチに送られる。 ループが 10 回間違えても、main ブランチが影響を受けなければ問題ありません
放置する前のガードレール
- 予算制限: ターンごとのトークンをカウントし、ドル単位の上限でループを停止する。MAX_TURNS だけでは不十分で、1 回の肥大化したターンが通常の 10 ターン分を消費する可能性があります
- 進捗制限: 同じテストが 3 ターン連続で失敗した場合、停止してフラグを立てる。収束できないループは、丁寧に予算を消費し続けます
- K3 の注意点: 推論は現在 max-only で実行されるため、すべてのターンで完全な思考出力が $15/M で発生します。ターンを集中させ、1 ターンに 1 つの失敗に抑えることで、出力側のコストを抑えられます
よくある間違い
- 曖昧な目標。 「コードを改善する」は永久にループし続けます。ループは、そのゴールラインがチェック可能である限りにおいてのみ有効です
- モデルに自己評価をさせる。 「正しく見える」は、ループがゴミを出荷する方法です。チェッカーは外部にある必要があります:テスト、リンター、またはルーブリックを持つ別のモデル
- キャッシュを壊す。 プレフィックス内のタイムスタンプ、ランダム ID、またはファイルの並び替えは、毎回のターンが $0.30/M ではなく $3/M で課金されることを意味します。同一とは、文字通り同一であることを指します
- ブランチ規律の欠如。 main ブランチへの書き込みアクセスを持つ監視なしのループは、手間がかかるホラーストーリーです
- 夜間実行から始める。 最初のループは監視しながら 10〜15 ターン実行してください。信頼を得てから、寝ている間に実行しましょう
15 分でセットアップ
- Moonshot API キーを取得し、10〜30% のボーナス枠内でチャージする(8 月 11 日まで有効)(3 分)
- セットアップ A または B を選択して配線する(5 分)
- 実際の小さなタスクに対して、チェック可能な目標を 1 つ作成する:失敗するテスト、lint パスなど(2 分)
- 10 回の監視付きターンを実行し、チェックが作業をどのように促進するか観察する(4 分)
- コストを確認する。その後、次のループの規模を決定する(1 分)
ループは、プログラミングにおける最も古いアイデアを、最新のツールに適用したものです。K3 は、それを実際に使用できるほど安価にしただけです。
お読みいただきありがとうございます!
私は Telegram チャンネルで AI とバイブコーディングに関する日々のメモを共有しています:https://t.me/zodchixquant 🧠






