🪄

ノーラリーバイブコーディングがしたいのでサブエージェントを試す

に公開

モチベーション

バイブコーディングしてますか?
自分は他の趣味の裏で指示を出して開発しています。人の倍生きているみたいで良いですよね。ゼハハ

人間とは欲深いもので、バイブコーディングできるようになると、今度は指示出しの回数を減らしたくなるものです。できることならラリーなしで完成までさせたい。自分でレビューしてくれねぇかな。

レビューは実装と違うコンテキストを持っているエージェントにやらせたい気持ちがあるので、最初に複数のClaude Codeを動かせるClaude-Code-Communicationを試しました。
https://github.com/nishimoto265/Claude-Code-Communication
これを改変して実装担当とレビュー担当に分けて試してみていましたが、やっていくうちに「並列で動かなくていいならサブエージェントで良いのでは?」と考えました。

サブエージェントとは
https://www.anthropic.com/engineering/claude-code-best-practices
Claude Codeのベストプラクティスにちょこちょこ出てくる機能で、内部で別エージェントとして呼び出してくれるっぽい。
指示にサブエージェントで~を含めると使ってくれがち。

比較してみる

3パターンに同じものを作らせてみます。
プロンプトや作るもの(と機嫌)にもよると思うので、あくまで一例として見ていただけると幸いです。

比較対象:

  • 通常の使用
  • tmuxで複数起動して使用
  • サブエージェント使用

環境: Ubuntu-24.04 (WSL)
モデル: claude-opus-4-20250514
実装指示:
Claudeに壁打ちして作りましたが、敢えて細かい実装には触れないようにしてもらいました。

以下の実装を行ってください。

# Spotify連携カラオケキーメモアプリ作成

## 要求

Spotify APIと連携してカラオケで歌いやすいキーを記録・管理するWebアプリを作成してください。

### 必須機能
1. **Spotify認証**でユーザーログイン
2. **楽曲検索**でSpotifyの楽曲を検索
3. **キー記録**で楽曲の元キーと歌いやすいキーを記録
4. **記録管理**で過去の記録を一覧・編集
5. **PWA対応**でスマホアプリのように使用可能

### 特徴
- スマホでの使用を重視
- オフラインでも記録を参照可能
- サーバーレスで維持費を最小化
- スケール可能な設計

各方法のメモリ(CLAUDE.md)と結果を書いていきます。
それぞれの動作をさせるための指示は必要ですが、それ以外はできるだけ同じような指示にしています。

通常の使用

CLAUDE.md
タスク毎にレビューをしてください。
レビューに合格したら、次のタスクに進んでください。
すべてのタスクが完了し、すべてのレビューに合格したら完了です。

レビューは以下の観点で行います。
- 要求に沿っているか
- ベストプラクティスにしたがっているか

動かず。。。

tmuxで複数起動して使用

CLAUDE.md
# Agent Communication System

## エージェント構成
- **reviewer** (multiagent:agents): レビュアー
- **implementer** (multiagent:agents): 実装者

## あなたの役割
現在のあなたの役割を確認し、その役割の指示書に従って行動してください:
- **implementer**: @instructions/implementer.md
- **reviewer**: @instructions/reviewer.md

## メッセージ送信
`./agent-send.sh [相手] "[メッセージ]"`

## 基本フロー
implementer → reviewer → implementer → reviewer → ... → 完成

implementer.md
# 実装者指示書

## あなたの役割
実装を行い、タスク毎にレビュアーにレビューを依頼する。  
タスクがすべて完了し、すべてのレビューで問題がなければ完了です。

## 実装フロー

- 実装
- レビュー依頼
- レビュー待機
- レビュー結果対応

reviewer.md
# レビュアー指示書

## あなたの役割
実装者から提出されたコードをレビューする

## レビューフロー

- 実装者からのレビュー依頼を受け取る
- レビュー
- レビュー結果を送信

## レビュー観点

- 要求に沿っているか
- ベストプラクティスにしたがっているか

ログイン画面

起動とログイン画面までは行けたが、ログイン後にメインページが表示されなかった。

サブエージェント使用

CLAUDE.md
タスクが完了する毎に、サブエージェントにレビューを依頼してください。
レビューに合格したら、次のタスクに進んでください。
すべてのタスクが完了し、すべてのレビューに合格したら完了です。

サブエージェントは以下の観点でレビューを行います。
- 要求に沿っているか
- ベストプラクティスにしたがっているか

ログイン画面
楽曲検索
キー登録
記録一覧

若干表示崩れはあるものの動作は良さそう。

結論とまではいかない後書き

サブエージェントにレビュー依頼する方法は簡単な割には効果ありそうだなと感じています。
今回は比較用にシンプルなCLAUDE.mdにしましたが、そのまま使っていると最後にまとめてレビューしちゃう場合もあるので、もうちょっと丁寧に作る必要はありそうです。
自分は寝てる間にプロトタイプ作ってもらって翌日動かしながら修正したり作り直したりって感じで使ってます。誰かの可能性の1つになれば幸いです。

Discussion