AIコーディングツールを無限ループで回して、要件を全自動で実装させる仕組み — ralph

snarktank/ralphTypeScript16.7k

Ralphは、AIコーディングツール(AmpやClaude Code)を繰り返し自動で起動し、製品要件書(PRD)に書かれたタスクをすべて完了するまで自律的にコードを書き続けるツールです。人間がやることは最初に「何を作りたいか」を要件書として書くだけで、あとはRalphがタスクを1つずつ選び、実装し、テストを通し、コミットするという作業を自動で繰り返してくれます。各ループは新しいAIインスタンスとして起動されるため、AIの記憶容量の限界を気にする必要がなく、git履歴や進捗ファイルを通じて前回の学びを引き継ぎます。プログラマーや開発チームが、定型的な実装作業をAIに任せて効率化したい場面で活躍するツールです。

🔥 なぜ話題?

AIコーディングアシスタント(GitHub Copilot、Claude Code、Ampなど)の急速な進化に伴い、「AIにまとまった開発作業を丸ごと任せる自律エージェント」というコンセプトが大きな注目を集めています。Ralphは、各ループで新しいコンテキストを使うことでAIの記憶容量問題を解決し、実用的な自律開発を実現するアプローチとして話題になっています。

💡 こう使える!

例えば、社内のWebアプリに「ユーザー一覧にフィルター機能を追加する」「データベースにカラムを追加する」「設定画面にトグルボタンを追加する」といった細かいタスクが10個あるとき、それらを要件書に書いてRalphを起動すれば、寝ている間にAIが1つずつタスクを実装・テスト・コミットし、朝起きたら全タスクが完了している、という使い方ができます。

ユースケース: 製品の要件をリストアップしておけば、AIが自動でコードを書き、テストし、完成させてくれる開発自動化ツール。

  • AIコーディングツールを自律ループで動かし、要件書のタスクを全自動で実装する
  • 毎回新しいAIインスタンスを起動するため記憶容量の限界を回避し、git履歴と進捗ファイルで学びを引き継ぐ
  • AmpとClaude Codeの両方に対応し、PRD生成からJSON変換まで一貫したワークフローを提供
GitHubで見る →

Ralph is an autonomous AI agent loop that runs repeatedly until all PRD items are complete.

技術情報

言語

TypeScript

ライセンス

MIT

最終更新

2026-02-02

スター数

16,731

フォーク数

1,651

Issue数

69

技術詳細

アーキテクチャ・仕組み

Ralphの核心は「各イテレーション = 新しいAIインスタンス」という設計にあります。ループのたびに新しいAIプロセス(AmpまたはClaude Code)を起動し、クリーンなコンテキストで作業を開始します。イテレーション間の記憶は以下の3つで保持されます:

  • git履歴: 前回のイテレーションでのコミット内容
  • progress.txt: 追記専用の学習・知見ファイル
  • prd.json: 各ユーザーストーリーの完了状態(passes: true/false

1回のイテレーションの流れ

  1. PRDのbranchNameからフィーチャーブランチを作成
  2. passes: falseのストーリーの中から最も優先度が高いものを選択
  3. そのストーリーを1つだけ実装
  4. 品質チェック(型チェック、テスト)を実行
  5. チェックが通ればコミット
  6. prd.jsonのステータスをpasses: trueに更新
  7. 学んだことをprogress.txtに追記
  8. 全ストーリーが完了するか最大イテレーション数に達するまで繰り返し

対応AIツール

ツール指定方法
Amp CLI(デフォルト)--tool amp
Claude Code--tool claude

主要ファイル構成

  • ralph.sh — メインのBashループスクリプト
  • prompt.md — Amp用のプロンプトテンプレート
  • CLAUDE.md — Claude Code用のプロンプトテンプレート
  • prd.json — タスクリスト(JSON形式、ユーザーストーリーと完了状態)
  • progress.txt — 追記専用の学習ログ
  • skills/prd/ — PRD生成スキル
  • skills/ralph/ — PRDからJSON変換スキル
  • .claude-plugin/ — Claude Codeマーケットプレイス用プラグインマニフェスト

タスク設計の重要な制約

各PRDアイテムは1つのコンテキストウィンドウで完了できるサイズにする必要があります。大きすぎるとAIがコンテキスト上限に達し、品質の低いコードを生成します。

適切なサイズの例:

  • データベースカラムとマイグレーションの追加
  • 既存ページへのUIコンポーネント追加
  • サーバーアクションのロジック更新

大きすぎる例(分割が必要):

  • 「ダッシュボード全体を構築」
  • 「認証機能を追加」

AGENTS.md による知識の蓄積

各イテレーション後、RalphはAGENTS.mdファイルに学びを追記します。AIコーディングツールはこのファイルを自動的に読み込むため、後続のイテレーションや人間の開発者が発見されたパターンや注意点を活用できます。

フィードバックループの必要性

自律動作のためには以下が不可欠:

  • 型チェック(型エラーの検出)
  • テスト(振る舞いの検証)
  • CI(壊れたコードがイテレーションをまたいで蓄積するのを防止)

UI検証

フロントエンドのストーリーでは、受け入れ基準に「dev-browserスキルでブラウザ検証」を含めることで、Ralphが実際にブラウザでUIを操作して変更を確認します。

停止条件

全ストーリーがpasses: trueになると、<promise>COMPLETE</promise>を出力してループが終了します。

アーカイブ機能

新しいフィーチャー(異なるbranchName)を開始すると、前回の実行結果がarchive/YYYY-MM-DD-feature-name/に自動アーカイブされます。

Amp設定の推奨

AmpのautoHandoffを有効にすると、コンテキストが90%に達した際に自動でハンドオフが行われ、大きなストーリーにも対応できます。

元ネタ

Geoffrey Huntley氏のRalphパターンに基づいた実装です。

インストール・クイックスタート

セットアップ手順

前提条件:

  • AIコーディングツール(Amp CLI または Claude Code)がインストール済み
  • jq がインストール済み(macOSなら brew install jq
  • gitリポジトリが存在すること

方法1: プロジェクトにコピー

mkdir -p scripts/ralph
cp /path/to/ralph/ralph.sh scripts/ralph/
# Amp用
cp /path/to/ralph/prompt.md scripts/ralph/prompt.md
# Claude Code用
cp /path/to/ralph/CLAUDE.md scripts/ralph/CLAUDE.md
chmod +x scripts/ralph/ralph.sh

方法2: スキルをグローバルにインストール(Amp向け)

cp -r skills/prd ~/.config/amp/skills/
cp -r skills/ralph ~/.config/amp/skills/

実行方法:

# Amp(デフォルト)
./scripts/ralph/ralph.sh [max_iterations]
# Claude Code
./scripts/ralph/ralph.sh --tool claude [max_iterations]

デフォルトは10回のイテレーションです。

参考になる外部の関連記事

過去のトレンド履歴

関連リポジトリ

WhatsApp・Telegram・Slack…22以上のチャットアプリを1つのAIアシスタントに統合! — openclaw

openclaw/openclawTypeScript301.9k

OpenClawは、自分のパソコンやサーバーで動かせる個人用AIアシスタントです。WhatsApp、Telegram、Slack、Discord、LINE、iMessageなど22以上のメッセージアプ

daytonaio/daytona

daytonaio/daytonaTypeScript57.6k

DaytonaはAI生成コードを安全かつ柔軟に実行するためのインフラストラクチャプラットフォームです。AI開発者がコード生成後の実行環境を気にすることなく、セキュアな環境でコードをテストできます。クラ

AIコーディング助手の「記憶喪失」を解決!セッションをまたいで文脈を自動保存・復元 — claude-mem

thedotmack/claude-memTypeScript56.7k

claude-memは、AIコーディングツール「Claude Code」のプラグインで、コーディングセッション中にClaudeが行ったすべての操作を自動的に記録し、AIで圧縮・要約した上で、次回のセッ

プログラミング不要!ドラッグ&ドロップでAIエージェントを作れるビジュアルツール — Flowise

FlowiseAI/FlowiseTypeScript50.3k

Flowiseは、AIエージェント(自律的に判断して動くAIプログラム)をプログラミングなしで構築できるオープンソースのツールです。パズルのピースを組み合わせるように、画面上でブロックをドラッグ&ドロ

Claude Codeの内部設計を12ステップで完全理解!AIエージェントの「乗り物」を自分で作る学習教材 — learn-claude-code

shareAI-lab/learn-claude-codeTypeScript43.4k

learn-claude-codeは、Anthropic社のClaude Codeというコーディングエージェントがどのような仕組みで動いているかを、12段階のレッスンで段階的に学べる教材リポジトリです