AGENT.md ファイルを使用して Gemini をカスタマイズする

1 つ以上の AGENT.md ファイルを使用して、Gemini in Android Studio に従うべきカスタム指示を指定します。AGENT.md ファイルはコードベース内の他のファイルとともに配置されるため、バージョン管理システム(VCS)に簡単にチェックインして、プロジェクト固有の手順、コーディング スタイルのルール、その他のガイダンスをチーム全体で共有できます。

バックアップの手順:

  1. プロジェクトのファイル システム内の任意の場所に AGENT.md ファイルを作成します。クエリを送信すると、Gemini は現在のディレクトリとすべての親ディレクトリで AGENT.md ファイルをスキャンします。詳しくは、AGENT.md ファイルの仕組みをご覧ください。

  2. 指示を追加します。手順は Markdown を使用して記述します。読みやすくするために、異なるルールに見出しと箇条書きを使用することを検討してください。手順の例をご覧ください

  3. ファイルを保存して VCS に commit し、チームと共有します。

AGENT.md ファイルをコンテキストとして管理する

チャット パネルの [コンテキスト] ドロワーを使用して、特定のクエリのコンテキストとして AGENT.md ファイルを適用または削除できます。[AGENT.md ファイル] オプションには、現在のディレクトリとその親ディレクトリにあるすべての AGENT.md ファイルが含まれます。

AGENT.md ファイルをコンテキストとして管理する
図 1. AGENT.md ファイルをコンテキストとして管理します。

指示の例

AGENT.md ファイルを使用して、エージェントに指示を出すことができます。以下は例ですが、提供する手順はプロジェクトに固有のものである必要があります。

  • 「メイン アクティビティは /path/to/MainActivity.kt です。」
  • 「画面間の移動をサポートするコードは path/to/navigation/UiNavigation.kt です。」
  • 「HTTP リクエストを処理するコードは <path> にあります。」
  • プロジェクト アーキテクチャ
    • 「すべてのビジネス ロジックを ViewModel に配置します。」
    • 「レイヤード アーキテクチャの使用など、公式のアーキテクチャの推奨事項に常に従ってください。単方向データフロー(UDF)、ViewModel、ライフサイクル対応 UI 状態コレクション、その他の推奨事項を使用します。」
  • 優先ライブラリ: 「ナビゲーションに <ライブラリ名> ライブラリを使用します。」
  • 一般的な API サービスまたは内部用語のプレースホルダ名を定義する: 「プライマリ バックエンド サービスは PhotoSift-API と呼ばれます。」
  • 会社のスタイルガイド: 「すべての新しい UI コンポーネントは Jetpack Compose で構築する必要があります。XML ベースのレイアウトを提案しないでください。」

AGENT.md ファイルをモジュール化する

大きな AGENT.md ファイルを、さまざまなコンテキストで再利用できる小さなファイルに分割できます。

  1. 一連の手順を分離して、別の Markdown ファイル(style-guidance.md など)に保存します。

  2. AGENT.md ファイルで、@ 記号の後にインポートするファイルのパスを指定して、小さい Markdown ファイルを参照します。次のパス形式がサポートされています。

    • 相対パス:
      • @./file.md - 同じディレクトリからインポート
      • @../file.md - 親ディレクトリからインポートする
      • @./subdirectory/file.md - サブディレクトリからインポートする
    • 絶対パス: @/absolute/path/to/file.md

たとえば、次の AGENT.md ファイルは、他の 2 つの命令ファイルを参照しています。

# My AGENT.md

You are an experienced Android app developer.

@./get-started.md

## Coding style

@./shared/style-guidance.md

AGENT.md ファイルの仕組み

Gemini は、現在のディレクトリと親ディレクトリで AGENT.md ファイルを自動的にスキャンし、その内容をプリアンブルとしてすべてのプロンプトの先頭に追加します。クエリを送信するときにファイルが開いていない場合、プロジェクト ルートにある AGENT.md ファイル(存在する場合)がデフォルトで含まれます。

AGENT.md ファイルとルールの違いは何ですか?

ルールでは、すべてのプロンプトに適用される指示と設定を定義することもできます。ただし、ルールは IntelliJ ファイル /.idea/project.prompts.xml で定義されますが、AGENT.md ファイルはソースコードの横に保存され、IDE に依存しません。主な目的の 1 つがチームと手順を共有することである場合は、AGENT.md ファイルを使用することをおすすめします。