Skip to main content
カスタムエージェントはベータ版です。動作や画面は今後変わる可能性があります。

概要

カスタムエージェントは、チームが 1 つの関心事のために書くレビュアーです。アーキテクチャの境界、重複コード、セキュリティポリシー、E2E テストのカバレッジなどが対象になります。各エージェントには次のものがあります。
  • Instructions:何を探すか、何を無視するか、指摘にどんな証拠が必要か
  • Files:レビュー対象の glob。プルリクエストがそのいずれかを変更したときだけ実行されます
  • Skills & docs:エージェントが従うリポジトリ内のガイド
  • Tools:読み取り専用のプラグイン、チームの CLI、ast-grep ルール
  • Comments & model:タグ、形式、最小重大度、コメント上限、書き方、モデル
エージェントは Kody 自身のレビューと並行して実行されます。各エージェントは自分の担当範囲だけを報告し、コメントにはエージェント名のタグが付くため、誰の発言かがチームにわかります。 Teams および Enterprise プランと、トライアル期間中に利用できます。Free プランではカスタムエージェントは一切実行されません。レビューでも、@kody -v でも、Try it でも実行されません。保存済みのエージェント、スキル、ドキュメントは保持され、アップグレード後に再び実行されます。

Skills、docs、ツール

リポジトリのガイド、プラグイン、チームの CLI、ast-grep ルールを紐付けます。

ベストプラクティス

本当の問題を見つけ、それ以外では静かなエージェントを書きます。

場所

Code review → What to review を開きます。Custom agents セクションはレビューカテゴリの下にあり、New agent ボタンと Skills & docs へのリンクがあります。 各行には、エージェントのスイッチ、タグの色、指示の 1 行目、ファイル・skills・docs・ツールのチップ、最近の実績(例:9 PRs · 15 posted · 30 days)が表示されます。行をクリックするとエージェントのページが開きます。⋯ メニューには Edit、Try it、Delete があります。
カスタムエージェントはアプリでのみ設定します。kodus-config.yml の customAgents と knowledge キーは無視され、レビューの最終コメントでその旨が通知されます。FAQ を参照してください。

レベル

エージェントは、他の設定と同じく Code review グループ上部のスコープピッカーに従います。 ディレクトリでは、継承したエージェントは読み取り専用で開き、Override at this directory ボタンが表示されます。オーバーライドするとエージェントが同じ id でディレクトリにコピーされ、そのディレクトリではコピーがリポジトリのエージェントを置き換えます。指示を変えたり、オフにしたりできます。オーバーライドを削除すると、リポジトリのエージェントが戻ります。
ディレクトリのエージェントは、レビューがそのディレクトリの設定を使うときに実行されます。プルリクエストがどの設定を使うかは ディレクトリレベルの設定 を参照してください。

エージェントを作成する

1

New agent をクリック

What to review → Custom agents で New agent をクリックします。
2

出発点を選ぶ

Templates は書き済みの指示から始まります。Import from repository は、リポジトリのデフォルトブランチで見つかった skills を一覧表示し、1 つを毎回のレビューでそれを読み込むレビュアーに変換します。skills は各リポジトリにあるため、グローバルレベルでは使えません。
3

エージェントのページで調整

エージェントはすぐに保存され、そのページが開きます。ファイルを設定し、skills と docs を紐付け、ツールを追加します。
4

Try it で試してからオンにする

新しいエージェントはオフで始まります。実際のプルリクエストで Try it を実行し、コメントが適切ならオンにします。
エージェント名はコマンド名にもなります。“Data Contracts” は @kody -v data-contracts に応答します。同じコマンド名になる 2 つのエージェントは、同じレベルに保存できません。

エージェントのページ

ページには、ステータス行(オン/オフ、実行対象のファイル、過去 30 日の投稿数)、4 つのカード、Try it パネルがあります。ページ上の変更は Save で保存します。

Instructions

Files & knowledge

glob は、ディレクトリレベルを含むすべてのレベルで、リポジトリのルートからのパスと照合されます。 無視されたファイル。 リポジトリの無視パス(General)は引き続き適用されますが、例外が 1 つあります。ファイルを名指しする glob は、リポジトリが無視していてもそのファイルに届きます。パスのセグメントのうち少なくとも 1 つがリテラルで、最後のセグメントが * や ** だけでなければ、その glob はファイルを名指ししています。 シークレットファイル(.env*、*.pem、*.key、*.p12、*.pfx、*.jks、*.keystore、id_rsa* などの SSH 鍵)は、名指しする glob があっても、無視パスからエージェントに渡されることはありません。 変更ファイルがすべて無視されているプルリクエストも、そのうちいずれかを名指しするエージェントにはレビューされます。レビューするのはそのエージェントだけで、Kody 自身のレビューには対象がありません。

Tools

コードを読む以外にエージェントが実行できるもので、すべてチームのシステムに対して読み取り専用です:Plugins(MCP)、CLIs(最大 3 つ)、そして Advanced の下の Structural search (ast-grep rules)。Skills、docs、ツール を参照してください。

Comments & model

Try it

Try it は、画面上のエージェントを保存の有無にかかわらずそのまま、リポジトリの 1 つのプルリクエストで実行します。何も投稿されません。
1

プルリクエストのリンクを貼る

エージェントのページで、このリポジトリのプルリクエストのリンクを貼り、Run agent をクリックします。大きな変更では数分かかります。
2

結果を読む

ヘッダーには、指摘の数、保持された数、投稿される数が表示されます。その下に:
  • Warnings:実行で失われたもの。チェックアウトなし(エージェントは diff だけを読んだ)、インストールできなかった CLI、使えなかった skill や doc など
  • Skills opened:エージェントが読んだ参照ファイルとともに
  • ツール呼び出し:それぞれの入力と出力(CLI の出力を含む)
  • 指摘:それぞれ kept、dropped、unverified のいずれかで、理由、引用したルール、投稿される Comment 付き
3

変更して再実行

指示、glob、ツールを編集して再実行します。実行後に編集すると、結果が以前のバージョンのものであるとページが警告します。
Try it はリポジトリとディレクトリのレベルで使え、コードレビュー設定の編集権限が必要です。エージェントの glob に一致する変更ファイルがない場合、実行はスキップされ、その理由が表示されます。

プルリクエストで 1 つのエージェントを実行する

1 行目にエージェントのコマンド名を書いて、プルリクエストにコメントします。
Kody はそのエージェントだけを、エージェントがオフでもプルリクエスト全体に対して実行し、コメントを投稿します。Kody 自身のレビュアーは実行されず、このコマンドでプルリクエストが承認されることはありません。その名前に応答するエージェントがない場合、Kody は存在する名前を返信します。

レビューでの実行の流れ

1

エージェントの選択

glob が少なくとも 1 つの変更ファイルに一致する、オンのエージェントがすべて実行されます。一致するファイルのないエージェントは実行されません。
2

レビュー

各エージェントは Kody のレビューと並行して自分のファイルだけをレビューし、指示が求めることだけを報告します。skills と docs はターゲットブランチから読み、ツールを使います。
3

指摘ごとのチェック

規約に関する指摘は、紐付けたガイドまたはエージェントの指示から、適用したルールを引用する必要があります。ターゲットブランチのガイドにない引用は破棄されます。”…” で短縮した引用は、各部分が順番どおりに存在すれば通ります。その後、検証器がエージェントの担当範囲外の指摘やコードに裏付けのない指摘を破棄します。ast-grep のマッチはそれ自体が証拠になります。
4

エージェントの設定を適用

エージェントの最小重大度、次にコメント上限(重大度の高いものが残ります)。
5

メインレビューとの統合

エージェントと Kody が同じ問題を報告した場合、コメントは 1 つだけ残ります。エージェントの担当範囲内のチームルールならエージェントのコメントが、それ以外は Kody のコメントが残ります。
6

投稿

コメントにはエージェントのタグが付きます。規約のコメントは適用したルール(ガイドとその文言、または “agent’s instructions”)を引用します。CLI に基づく指摘は、ファイルを名指しする CLI 出力の行を Evidence に表示します。
各エージェントのコメントにはそのタグが付くため、プルリクエスト上でどのエージェントの発言かがわかります。エージェントのページには、過去 30 日間にレビューしたプルリクエストと投稿したコメントが表示されます。

制限

FAQ

次の順に確認してください。
  • オフになっている。新しいエージェントはオフで始まります。@kody -v <名前> ならそれでも実行されます。
  • Files の glob に一致する変更ファイルがない、またはすべて Except に該当する。
  • ファイルがリポジトリの無視パスにあり、glob がそれを名指ししていない。ファイルを明示的に名指ししてください(Files & knowledge を参照)。
  • プルリクエストでファイルが削除された。
  • 独自のリストを持つリポジトリには、後からグローバルレベルで追加したエージェントは届きません。
  • ディレクトリで、レビューがリポジトリの設定を使った(例:プルリクエストが設定済みの 2 つのディレクトリに触れた)。
同じプルリクエストで Try it を実行してください。破棄された各指摘に理由が表示されます。よくある理由:
  • 引用がターゲットブランチのガイドにない(言い換えられた、またはガイドがプルリクエスト内でだけ変更された)。
  • 指摘がエージェントの指示の範囲外。
  • 検証器がコードに裏付けを見つけられなかった。
  • エージェントの最小重大度を下回った、またはコメント上限を超えた。
  • Kody のレビューが同じ問題を報告し、そのコメントが残った。
できません。kodus-config.yml の customAgents と knowledge は読み込まれません。最終コメントに “kodus-config.yml: customAgents is not read from this file; configure custom agents in the app.” と表示されます。
できません。skills、docs、ast-grep のルールファイルはプルリクエストのターゲットブランチから読み込まれます。プルリクエスト内での編集はマージ後に反映されます。
過去のプルリクエストの指摘はそのまま残ります。skills と docs も Skills & docs ページに登録されたままです。