0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenClawで4人チームを作らずReviewerだけを追加する設計

0
Last updated at Posted at 2026-09-29

KD Agentic 表紙:単一Reviewer設計

大規模言語モデル(LLM)を使ってコードや技術ドキュメントを作成するとき、最も根深い課題は「モデル自身による自己チェックの限界(Self-Review Bias)」です。同じセッション内でどれほど厳しく「バグを徹底的に探して」と指示しても、モデルは直前に自身が生成した文脈の慣性に引きずられ、「精査しましたが問題ありません」と楽観的な結論を出しがちです。

OpenClaw v2026.9.5 で専門家チーム機能が追加された際、多くの開発者が openclaw agents team create を試しました。しかし、これを実行すると、ローカル環境にコーディネーター(Coordinator)、調査担当(Researcher)、執筆担当(Writer)、査読担当(Reviewer)の4つの独立したワークスペースが一気に生成されます。個人の開発者や少人数のチームにとっては、4つのディレクトリ、4つの SQLite セッションデータベース、階層的な委任管理が生まれ、管理コストと認知負荷が急増します。

実践的な解決策は極めてシンプルです。4人のチームを作らず、既存の主力(main)Agentの横に「査読担当(Reviewer)」だけを1人追加することです。ソフトウェア工学で実績のある「作成者と検証者の分離(Maker-Checker)」を最小限の構成で実現します。

なぜReviewer単体なのか

マルチエージェントを構築する際、過度な「役割分担ごっこ」に陥りがちです。シンプルな開発タスクを無理に調査、執筆、統括に分解すると、トークンや時間の多くがエージェント間の挨拶やフォーマット変換で消費されます。

さらに、コーディネーターだけを不用意に作成すると、下流の専門家IDが見つからずにエラーや宙吊り状態になるリスクもあります。

Reviewerだけを追加する構成には3つの明確な利点があります。

  1. コンテキストの純粋性(Context Hygiene):主力Agentのコンテキストは試行錯誤や妥協した仮定で汚染されています。一方、独立したReviewerは「完成した成果物」と「検証ルール」だけをまっさらなコンテキストで受け取るため、先入観なく厳密に評価できます。
  2. 作成者と検証者の対立構造:実装側と検証側が構造的に分離されることで、単一セッションの盲点を打破できます。
  3. 管理オーバーヘッドがゼロ:人間は主力Agentとだけ対話し、主力Agentが生成完了後にReviewerへ検証を依頼します。不要な中間層がありません。

3ステップの実装手順

OpenClawでこの構成を組む手順は以下の通りです。

ステップ1:CLIでReviewerのみを作成

team create は使わず、openclaw agents add に --role reviewer を指定します。

openclaw agents add code-reviewer --role reviewer

これで独立したワークスペース(例:~/.openclaw/workspaces/code-reviewer)と専用の SQLite ストアが生成され、公式の標準査読規約(AGENTS.md)が自動配置されます。

ステップ2:主力Agentの設定に委任先を追加

主力 main Agentの設定で、code-reviewer への委任を許可します。

{
  "agents": {
    "main": {
      "allowAgents": ["code-reviewer"],
      "delegationMode": "prefer"
    }
  }
}
  • allowAgents:意図しないエージェントへの分散を防ぐホワイトリスト。
  • delegationMode: "prefer":生成完了時に sessions_spawn を通じて査読エージェントを呼び出すプロンプト上の誘導。

ステップ3:Reviewerの行動契約を遵守する

公式の査読者規約(AGENTS.md)には、以下の重要な制約が定められています。

  1. 査読権は修正権ではない(Audit-Only):Reviewer自身がコードやファイルを書き換えることは禁止されています。修正の決定権は主力Agentと人間にあります。
  2. 指摘の3要素:具体的な位置(行番号)、違反した要件/テスト、具体的な修正案を必ず提示します。
  3. BlockerとOptionalの分離:重大な欠陥(Blocker)と改善提案(Optional)を明確に分け、些細な体裁の指摘で作業が停滞するのを防ぎます。
  4. エージェント間の横方向ループの禁止:査読結果は呼び出し元の主力Agentにのみ返却されます。

実際の査読レポート形式

Reviewerが主力Agentに返すのは、構造化されたレポートです。

# Code Review Report
Status: REJECTED (1 Blocker, 1 Optional)

## [BLOCKER] 並行リフレッシュ時の競合状態
- 位置: src/auth/token_manager.py:42-58
- 違反要件: 並行処理安全規約(重複トークン更新の防止)
- 根拠: 複数コルーチンが同時に例外を捕捉した際、重複して更新リクエストを送信する。
- 修正案: asyncio.Lock を導入し、ロック取得後に二重チェック(Double-Checked Locking)を行う。

## [OPTIONAL] 構造化ログの欠落
- 位置: src/auth/token_manager.py:65
- 提案: trace_id を含む JSON ログ形式への変更を推奨。

主力Agentは Blocker を修正して再レビューを依頼し、APPROVED になるまで検証サイクルを回します。

注意点

  • コーディネーター単体を作らない:下流の専門家がいないコーディネーターは設定ミスや混乱の原因になります。
  • prefer は強制ではない:プロンプトでの案内であるため、指示プロンプト内で「実装完了後は必ず code-reviewer の査読を受けること」と明記すると動作が安定します。
  • 内部の承認と外部実行の分離:Reviewer の合格はコード品質の確認であり、外部への公開やマージには人間による承認が引き続き必要です。

公式ドキュメント

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?