ドキュメント

エージェントの役割

各タスクの各ステージを担当するエージェントと、それぞれの許可範囲・制限事項。

Coroidでは汎用型のエージェントは使用しません。各ステージは記述からpull requestまでのプロセスは狭い役割と意図的に制限されたツールセットを持つエージェントが処理します。

この制限こそが重要なのです。コードを書けないエージェントが誤って コードを書き込むことはありません。

役割

役割ステージコードを変更可能
アーキテクト仕様と計画不可
デベロッパービルド可能
QA検証不可
レビュアーレビュー不可
ウェブテスター検証、ブラウザフロー不可
エクスプローラー調査、任意のステージ不可
依存関係分析ツール分析不可

最初の4つの役割が、すべてのタスクでこの順序で見られるパイプラインです:

アーキテクトデベロッパーQAレビュアー

正確に言えば、リポジトリ内のファイルを変更できるのはデベロッパーのみです。他のすべての エージェントは読み取り、実行、報告、または後続作業の作成のみを行います。

アーキテクト

ユーザーの記述を仕様に変換し、さらに仕様を計画に変換します。実際のコードベースを参照して計画を現実に合わせますが、コードを書くことはありません。

ビルド開始前に承認する対象が、この出力結果です。

デベロッパー

関連コードを読み取り、変更を加え、テストを作成または更新し、ワークスペース内でテストが通るまでローカルで実行します。

レビュアー」が検出結果を返すと、デベロッパーがそれらに対応する役割となります。

QA

コードを書いたエージェントとは独立して検証を実施します。つまり、プロジェクトに設定された品質ゲートや仕様に定められた受入基準、テストスイートを利用します。

QAは判定結果を報告します。発見した不具合を修正することはなく、失敗した項目はデベロッパーに再作業として戻されます。

レビュアー

完成した差分を確認し、組織で設定されたレビュー規則に従って検出結果を生成します。検出結果はデベロッパーに再作業として送り返されるか、pull requestに添付されてユーザーに渡されます。

ウェブテスター

アプリケーションのプレビュー版を実際のブラウザで動作させ、エンドツーエンドのユーザーフローを確認します。コードだけでは挙動を断言できない場合に利用されます。

エクスプローラー

読み取り専用の調査役割です。他のエージェントが自身のコンテキストに全データを読み込むことなく、コードベースに関する質問に答えるために利用します。「認証処理はどこか」「この関数を呼び出している箇所は?」などです。

依存関係分析ツール

依存関係や、プロジェクト間の依存関係が設定されている場合を含むコードベース全体での変更の影響範囲を調査します。

このような分離が重要な理由

このように作業を分割することで、以下の3つの特性が得られます:

  1. **検証が独立している。**作業をチェックするエージェントがコードを書いたエージェントと異なるため、結果に対して利害関係を持ちません。
  2. **影響範囲が限定される。**コードを書くツールを持つのはデベロッパー役割のみなので、レビューや分析での失敗がリポジトリを破損することはありません。
  3. **各役割に適したモデルが実行される。**計画立案には幅広い知識が求められ、コンパイル可能なコードを書くには別の能力が必要です。そのため AIプロファイルがまさにこの目的のために、役割ごとに異なるモデルを保持しているのです。

次へ

に戻るタスクがどのようにしてpull requestになるかこれらの役割が対応する工程についての説明、またはCoroidとは何か簡易な概要をご覧ください。