Claude Code Actionで5000円溶かして学んだ、AIエージェント並列開発
どうも、こんにちは。私です。
今月、AI開発界隈がまた騒がしくなってますね。Claude Codeに加えて、Claude Code Actionという新しい選択肢が登場しました。
なので、5000円ほど溶かしながら実際に触ってみました。これまでのAI開発とはまた全く違う体験で、今後の開発環境の変化の可能性が感じられてとても良かったですね。
進化の早いこの世界ですから、来月にはまた全然違うこと言ってそうですが、現時点での雑感をまとめておこうと思います。
Claude Code vs Claude Code Action:何が違うの?
まず整理しておきたいのが、Claude CodeとClaude Code Actionの違いです。
Claude Code(ローカル実行)
Claude Codeは、簡単に言うとCursorのターミナル版みたいなもの。ローカルの各種IDE上で動作し、まさにCursorの右側チャット機能をターミナルで行うようなイメージです。
自分のPC上で動いて、1つの依頼を投げたらタスクをToDo化して、完了するまでゴリゴリ開発を続けてくれます。この辺はClineとかの体験と近いですね。そのClaude公式版で、より精度が高い版みたいな感覚です。
セットアップは比較的簡単で、「npm install -g @anthropic/claude」を実行し、ターミナルで「claude」と入力するだけで起動します。
詳しくはこちらの記事などをオススメします。
私のシンプルなClaude Codeの使い方|ニケちゃん
料金はClaudeMaxプラン(月100ドルまたは200ドル つまり1.5万~3万)で定額利用可能。レートリミットはありますけど。利用トークン数から逆算すると、本来20万〜30万円相当の利用が月3万円程度で済むってのが巷の説ですね。
また2025年5月のClaude 4リリースと同時に、Claude Codeはターミナル中心からIDE統合へと進化したことが、今月利用者が増えた要因と思われます。
初期バージョンのClaude Codeは完全にターミナル完結で、視覚的なコード変更確認がしづらかったのが、diffビューアーでコード変更を直接IDE内で確認できるようになりました。
対応エディタ:
- Visual Studio Code(Cursor、Windsurfなどのフォークも含む)
- JetBrains IDEs全般
コード確認がしやすくなり、さらに1つの依頼をしたらゴリゴリとノンストップで開発を進めてくれる環境が得られたのです。各種エディタへの対応が増えたのも大きいですね。
Claude Code Action(クラウド実行)
一方、Claude Code ActionはGitHub Actionsをベースとしたクラウド実行ツール。その名前からも分かるように、GitHubのCI/CDツールである「GitHub Actions」の仕組みを活用しています。
利用方法は、Claude Codeで「/install github-appコマンド」を実行し、cloud.ymlファイルを生成するだけです。その後、GitHub Issueで@claudeとメンションすることで、クラウド上のコンテナ環境でAIが作業を開始します。
主な特徴:
-
GitHub統合: IssueやPull Requestから直接
@claude
でAIを呼び出し可能 - 自動化ワークフロー: コードレビュー、PR管理、課題の分類を自動化
- チーム開発支援: スマホからでも指示を出せるため、移動中でも開発を進められる
重要なのはAPI従量課金制ってところ。予想以上に課金が発生する可能性があるので、Anthropic APIの管理画面で「Rate Limit」と「Monthly Spend Limit」の設定は必須です。
Claude Code Actionのくわしい導入方法
より具体的な導入方法については、先人達の知恵で。
ただ私の環境だと、そのままうまくできずこちらの記事を参照したらうまくセットアップできました。
使い分けの基本方針
基本的には「Maxプランに入ってるならClaude Codeの方がコスト効率良い」んですが、Claude Code Actionには独特の魅力があります。
GitHub Actionsをベースとした開発ができるので、今後企業利用や複数人での開発ではClaude Code Actionsの方が安全だったり効率的になりうる可能性があります。
一人で開発するとしても、同じ内容のIssueを複数立てて、コンペ的にAIが別ブランチで作業してくれる体験がとても良かったですね。
もちろんCCで、Git Worktreeして実行でも似たようなことはできるのでしょうけどね。
参考:AIエージェントで並列実装なら必須技術! Git Worktree を理解する
この辺りの効率的なワークフローはXでこの先どんどんシェアされてくるのかなと思います。
2025/06/01追記:
「なら、サブスク定額で使えるClaude Codeだけ触れば良いのでは?」という説ももちろんありますが、今後GitHub Actionsを軸にしたAI駆動開発方式が伸びる可能性もありますし、いまのうちに感触を掴んでおくのも楽しいです。
Claude Codeは、Cursorなどこれまでのエディタの延長線にあるもの。一方でClaude Code Actionsの開発体験はこれまでの文脈と全く異なるものです。というわけで、ここ数日実際に5000円ぐらい溶かして体験してみました。
5000円で体験した「AIコンペ開発」
実際にClaude Code Actionを使って、TDD学習サイトを作ってみました。
Kent Beckの『テスト駆動開発』をベースに、Next.jsで学習しよう!ってサイトです。Claude Code Actionをお試しするだけのつもりでしたが、TDD学習したい・復習したいって人に向けたちゃんと便利な教材に割となっています。
サイト構成
学習コンテンツ:
-
TDDガイド(17章構成)
- TDDの基本概念と哲学
- Next.js + TypeScriptでの具体的な実装テクニック
- 段階的な学習プログラム
-
ガイドTODOアプリサンプル
- TDDガイドの7章までを元に実際に作ったサンプルアプリ
私が『テスト駆動開発』や『Next.jsの考え方』を元に、NotebookLMで作成した4,50分の動画(チャプターごとに作成して結合した)もあって、普通聞き応えあります。
並列デザイン案の威力
一番感動したのが、複数のデザイン案を並列で作らせる体験でした。
ページのベースとなるデザイン案を複数のIssueで並列的に作成させ、各デザインを確認し、その中からコンペ的にデザインを決定するみたいな工程はとても良い体験でした。
CCで工夫しこういった並列工程を行うといったことも可能かと思いますが、GitHubの中で作業ログも残しつつ安全にコンテナが切られた中でこういった作業ができるのはとても良かったです。
CCAの実践的な開発ワークフロー
このCCAのムーブメントを作ったのは、@kamui_qaiさんかと思います。
その流れを汲み取りながら、CCAによる作業工程を整理していきましょう。
基本的な開発サイクル
開発では、要件定義 → Issue作成 → 並列実行 → 統合という流れを採用します。(簡易化のためテストは省略)
要件定義というと話が重いですが、要はAIに適当に1行の依頼を繰り返すバイブコーディングをするのではなく、最初にやりたいことをしっかりまとめてから依頼しようって話です。
Anthropicもベストプラクティスとして、いきなりコードを書かせるのでなく、まずAIと壁打ちするなりしてやるべき作業をまとめることを推奨していますね。
とくにCCとCCAという環境では、AIとのやり取りがチャット的に都度話すのではなく、Claudeが最初の依頼から細かくタスクを作成し、タスクのボリュームによっては数十分かけてそれを一気に進めるというアプローチを取ってくるので、これは特に重要な話です。
ここが適当だと、API従量課金ならお金を無駄に溶かすことになりますし、サブスクだとしてもレートリミットまっしぐら。なのでCCAの場合は、依頼内容をmd形式でまとめ、それをGitHub CLIコマンドでなげIssueを作成しましょう。
GitHub Issue活用法
mdファイルを元にした、GitHub Issueの作成にはgh create issue
コマンドを使用します。重要なのは、ボディ部分で@claude
メンションを必ず含めることです。これにより、Claudeさんが自動的にタスクを認識し、クラウド上で作業を開始します。
以下のようなコマンドが基本的なおまじない。
gh issue create --title "@claude TDD実装: StringUtilsクラス" --body "@claude $(cat TDD-StringUtils-要件定義.md)"
私の場合は、Cursor上で要件定義mdファイルを作成した後に、Cursorルールで以下のようなチャットコマンドを定義しています。なのでカーソル内のAIと要件定義ファイルを作った後に、「ではそれを /is して」とお願いすればコマンドを作成してくれます。
-
/is [mdファイル名]
: mdファイルからGitHub Issueを作成-
docs/design/
ディレクトリ内の指定されたmdファイルの内容をIssueとして作成 - Issueタイトルは、mdファイルの内容から自動生成
- 以下の手順で実行:
- 指定されたファイルの存在確認
- ファイル内容を読み込み
- タイトルを生成
-
gh issue create --title "@claude [タイトル]" --body "@claude $(cat [ファイルパス])"
を実行
-
修正・改善のプロセス
実装後の修正では、GitHub Issue画面から直接@claude
でメンションして変更依頼を出すのが効率的ってお話もされていましたね。新しいIssueを作成すると一から作り直しになってしまうため、継続的に修正を依頼するのが良いと。
それが一番作業ログの残る良い形式だと思います。一方でとりあえずローカルにマージしてしまって、手元のCursorなりで調整作業をするのもありでしょう。この辺は各々の方針ですね。
並列実行のコマンド
さて、ここまでの作業であれば別にCCでやってもあまり変わらなそうですね。パソコンを閉じても、Claudeがクラウド上で作業してくれて嬉しいというメリットもこの時点でありますけど。(重いタスクだと、普通に2,30分くらいかかります。)
ここからがCCAの真骨頂です。同じ要件に対して、複数のAIエージェントに並列で作業させてみましょう!
for i in {1..[個数]}; do gh issue create --title "@claude [ベースタイトル] #$i" --body "@claude $(cat [ファイルパス])"; done
このコマンドは、同じ要件定義ファイルを使って複数のIssueを連番で作成します。例えば「デザイン案 #1」「デザイン案 #2」「デザイン案 #3」といった具合に、それぞれ独立したIssueが立ち上がり、Claudeが別々のブランチで異なるアプローチを試してくれます。
これにより、1つの要件に対して複数の解決策を同時に検討できる「AIコンペティション」が実現できるのです。
私は先ほどと同様、Cursorルールで以下のようなチャットコマンドを定義しています。
-
/iss [mdファイル名] [個数]
: mdファイルから複数のGitHub Issueを連番で作成- 同じファイル内容で連番タイトルのイシューを指定個数作成
- ベースタイトルは、mdファイルの内容から自動生成
- 以下の手順で実行:
- 指定されたファイルの存在確認
- ファイル内容を読み込み
- ベースタイトルが指定されていない場合、タイトルを生成
- forループを使用して指定個数分のIssueを効率的に作成:
for i in {1..[個数]}; do gh issue create --title "@claude [ベースタイトル] #$i" --body "@claude $(cat [ファイルパス])"; done
これで要件定義ファイルを作成した後に、「ではそのmdファイルを、/iss 3 して」と依頼すれば、同じ依頼に基づいたIssueがGithub上に3つ作成されます。そして別々の3つのブランチでClaudeのAIが平行して作業を開始してくれるわけです。
各ブランチの動作確認
複数のIssueを作成すると、Claudeが別々のブランチで作業を開始します。それぞれの実装結果を確認して、最適な案を選択しましょう。
1. Claudeが作成したブランチを確認
まず、リモートの最新情報を取得して、Claudeが作成したブランチを確認します。
# 最新のリモート情報を取得し、Claudeブランチを表示
git fetch --all && git remote prune origin && git branch -a | grep "claude/" | sort -Vr
このコマンドで、claude/issue-14-20250528_024301
のような形式のブランチが表示されます。
2. 各ブランチをローカルで確認
気になるブランチをローカルにチェックアウトして、実際の動作を確認します。
# ブランチをローカルにチェックアウト
git checkout -b test-issue-14 origin/claude/issue-14-20250528_024301
# 依存関係のインストール(必要に応じて)
npm install
# 開発サーバーを起動して確認
npm run dev
3. 他のブランチも同様に確認
複数の案を比較するため、他のブランチも確認します。
# 元のブランチに戻る
git checkout main
# 次のブランチをテスト
git checkout -b test-issue-13 origin/claude/issue-13-20250528_024115
npm install
npm run dev
4. 最適な案を選択してプルリクエスト作成
各案を比較検討した後、最も良い案をGitHub上でプルリクエストを作成してマージします。
まず、Claudeが作成したブランチから直接プルリクエストを作成します。
GitHub上で「Create PR」ボタンをクリックし、プルリクエストを作成します。
そして「Create pull request」。
内容を確認後、「Merge pull request」でメインブランチにマージします。
ちょっとしたコンフリクトが発生することもあると思いますが、基本的にGithubのサイト上ですべて作業することも可能ですし、わからなくて調べつつ作業すれば段々慣れていくはずです。
5. 不要なブランチをクリーンアップ
コンペティション終了後は、不要になったブランチを削除してリポジトリを整理します。
# ローカルのテストブランチを削除
git branch -d test-issue-13
git branch -d test-issue-14
# リモートのClaudeブランチも削除
git push origin --delete claude/issue-13-20250528_024115
git push origin --delete claude/issue-14-20250528_024301
複数のブランチがある場合は、一括削除も可能です:
# test-issueで始まるローカルブランチを一括削除
git branch | grep "test-issue" | xargs -n 1 git branch -d
# claude/で始まるリモートブランチを一括削除
git branch -r | grep "origin/claude/" | sed 's/origin\///' | xargs -n 1 git push origin --delete
# 削除されたリモートブランチの参照をクリーンアップ
git remote prune origin
このあたりのコマンドは随時AIに聞いて自分なりのマニュアルでまとめておくと便利ですね。エイリアス設定をして一行書けば、これらを全部やってくれるみたいな設定をすることも可能です。
この流れで、複数のAI案を効率的に比較・選択できます。
コストと効果の正直な話
振り返ると、普通にCCやCursorで作り、サブスクの範囲で収めた方が良かったのでは?という作業も多かったです。それでも、以下のような可能性を体感できたことは大きかったです。
- 並列開発の安全性:隔離されたコンテナ環境での実行
- 完全な履歴管理:GitHubでの作業ログ保持
- チーム開発への応用可能性:複数人での協調開発の基盤
そもそも何をCCでやり何をCCAでやった方が良いかっていうものは、まず自分で体験してないことには始まりません。これは普通にCAでよくない?ってことを知れることこそが、現時点での一番の学びですね。
現時点での使い分け指針
経験を踏まえて、現状の使い分けりイメージはこんな感じです:
- Cursor:細かな調整やドキュメント類の作成
- Claude Code:日常的な開発、個人プロジェクト、サブスク範囲での利用
-
Claude Code Action:並列実装が必要な場面、プロジェクト初期段階でごりごり進めたい場面、チーム開発
また、PRドキュメント作成など、公式が本来推奨しているGitHub CI/CDの効率化。
まとめ:AIエージェント並列開発の未来
Claude Code Actionで5000円溶かして学んだのは、「複数のAIエージェントが並列で作業し、人間がそれを統合・選択する」という新しい開発スタイルです。
同じ要件に対して複数のアプローチを同時に試行して、最適解を選択できる環境って、今まで実現できませんでしたから。
コスト面での課題はありますが、この「AIエージェント並列開発」のコンセプトは、今後のソフトウェア開発で重要な位置を占めるようになると予感してます。
5000円の授業料は決して安くありませんでしたが、未来の開発スタイルを一足早く体験できたという意味で、十分価値のある投資でした。
この先どんどん新しいツールが出てきて、来月にはまた全然違うこと言ってそうですが、それもAI時代の醍醐味ですね。
ありがとうAI。ありがとう人間。ではでは。
Discussion