正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

Agentのカスタマイズファイル

  • プラン: Premium、Ultimate
  • アドオン: GitLab Duo Core、Pro、またはEnterprise
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLab Duoは、AIコーディングアシスタントにコンテキストと指示を提供するための新しい標準であるAGENTS.md仕様をサポートしています。

AGENTS.mdファイルを使用して、リポジトリ構造、コーディング規則、スタイルガイドライン、ビルドとテストの手順、およびプロジェクトのコンテキストを文書化します。AGENTS.mdファイルを指定すると、これらの詳細は、仕様をサポートするGitLab Duoやその他のAIツールで使用できます。

GitLab Duoで使用するAGENTS.mdファイルを指定します:

  • IDEのGitLab Duo Chat。
  • Foundationalおよびカスタムルール。

GitLab DuoによるAGENTS.mdファイルの使用方法

AGENTS.mdファイルは、複数のレベルで作成できます:

  • ユーザーレベル: すべてのプロジェクトとワークスペースに適用されます。
  • ワークスペースレベル: 特定のプロジェクトまたはワークスペースにのみ適用されます。
  • サブディレクトリレベル: モノレポ内の特定のプロジェクト、または明確なコンポーネントを持つプロジェクト内の特定のプロジェクトにのみ適用します。

GitLab Duo Chatは、ユーザーレベルおよびワークスペースレベルのAGENTS.mdファイルから利用可能な指示をすべての会話に組み込みます。タスクで追加のAGENTS.mdファイルを含むディレクトリ内のファイルを操作する必要がある場合、チャットはそれらの指示も適用します。

GitLab DuoでAGENTS.mdを使用する

前提条件

  • IDEのGitLab Duo Chatの場合、サポートされているプラグインをインストールします:

  • カスタムルールの場合は、executorから渡されるuser_ruleコンテキストにアクセスするように、フローの設定ファイルを更新します:

    components:
    - name: "my_agent"
       type: AgentComponent
       prompt_id: "my_prompt"
       inputs:
       - from: "context:inputs.user_rule"
          as: "agents_dot_md"
        optional: true

    optional: trueを設定することにより、フローはAGENTS.mdファイルが存在しない場合でも正常に処理できます。エージェントは、追加のコンテキストの有無にかかわらず動作します。

ユーザーレベルのAGENTS.mdファイルを作成する

ユーザーレベルのAGENTS.mdファイルは、すべてのプロジェクトとワークスペースに適用されます。

  1. ユーザー設定ディレクトリに、AGENTS.mdファイルを作成します:

    • GLAB_CONFIG_DIR環境変数を設定している場合は、$GLAB_CONFIG_DIR/AGENTS.mdにファイルを作成します。
    • それ以外の場合は、プラットフォームのデフォルトの設定ディレクトリにファイルを作成します:
      • macOSまたはLinux:
        • XDG_CONFIG_HOME環境変数を使用している場合は、$XDG_CONFIG_HOME/gitlab/duo/AGENTS.mdにファイルを作成します。
        • それ以外の場合は、ホームディレクトリ内の~/.gitlab/duo/AGENTS.mdにファイルを作成します。
      • Windows: %APPDATA%\GitLab\duo\AGENTS.md
  2. ファイルに手順を追加します。例:

    # My personal coding preferences
    
    - Always explain code changes in simple terms for beginners
    - Use descriptive variable names
    - Add comments for complex logic
    - Prefer functional programming patterns when appropriate
    # Team coding standards
    
    - Follow our company's style guide for all code
    - Use TypeScript strict mode
    - Write unit tests for all new functions
    - Document all public APIs with JSDoc
    # Monorepo context
    
    - This is a monorepo with multiple services
    - Frontend code is in /apps/web
    - Backend services are in /services
    - Shared libraries are in /packages
    - Follow the architecture decision records in /docs/adr
    # Security review guidelines
    
    - Always validate user input
    - Use parameterized queries for database operations
    - Implement proper authentication and authorization
    - Follow OWASP security best practices
    - Never log sensitive information
  3. ファイルを保存します。

  4. 指示を適用するには、新しい会話またはフローを開始します。AGENTS.mdファイルを変更するたびにこれを行う必要があります。

ワークスペースレベルのAGENTS.mdファイルを作成する

ワークスペースレベルのAGENTS.mdファイルは、特定のプロジェクトまたはワークスペースにのみ適用されます。

  1. プロジェクトのワークスペースのルートで、AGENTS.mdファイルを作成します。

  2. ファイルに手順を追加します。例:

    # Project-specific guidelines
    
    - This project uses React with TypeScript
    - Follow the component structure in /src/components
    - Use our custom hooks from /src/hooks
    - State management uses Redux Toolkit
  3. ファイルを保存します。

  4. 指示を適用するには、新しい会話またはフローを開始します。AGENTS.mdファイルを変更するたびにこれを行う必要があります。

モノレポおよびサブディレクトリにAGENTS.mdファイルを作成する

モノレポまたは明確なコンポーネントを持つプロジェクトの場合は、サブディレクトリにAGENTS.mdファイルを配置して、コードベースのさまざまな部分にコンテキスト固有の指示を提供できます。

GitLab Duo Chatがサブディレクトリに追加のAGENTS.mdファイルを検出すると、そのディレクトリ内のファイルを編集する前に、関連ファイルを読み取ります。例:

/my-project
  AGENTS.md              # Root instructions (included in all conversations)
  /frontend
    AGENTS.md            # Frontend-specific instructions
  /backend
    AGENTS.md            # Backend-specific instructions

この例では:

  • ルートAGENTS.mdは常に会話に含まれます。
  • GitLab Duoが/frontend内のファイルを編集する場合、最初に/frontend/AGENTS.mdを読み取ります。
  • GitLab Duoが/backend内のファイルを編集する場合、最初に/backend/AGENTS.mdを読み取ります。

このアプローチは、GitLab Duoがプロジェクトの各部分に適切な規則に確実に従うのに役立ちます。

サブディレクトリでAGENTS.mdを使用するには:

  1. プロジェクトのサブディレクトリに、AGENTS.mdファイルを作成します。

  2. そのディレクトリに固有の指示を追加します。たとえば、バックエンドサービスの場合:

    # Backend service guidelines
    
    - This service uses Node.js with Express
    - Follow RESTful API conventions
    - Use async/await for asynchronous operations
    - Validate all inputs with Joi schemas
  3. ファイルを保存します。

  4. 指示を適用するには、そのディレクトリ内のファイルを含む新しい会話を開始します。AGENTS.mdファイルを変更するたびにこれを行う必要があります。