エージェントツール開発
データチームのエージェントツールへのアプローチはスキルファースト、上位コンポーズモデルを基盤としています。モノリシックなエージェントを構築するのではなく、チームは作業を小さくテスト可能で再利用可能なスキルに分解します。各スキルは単一のよく定義されたタスクを処理します。エージェントはこれらのスキルを組み合わせて構成され、リクエストされた作業のタイプに基づいてスキルに委譲します。
このアプローチは OpenCode と Anthropic からの新興標準を基盤としており、リポジトリレベルのエージェントコンテキストを提供する AGENTS.md のような規約を含んでいます。また、GitLab Duo がプラットフォームとして成熟するにつれて継続的に評価・進化していきます。
ディレクトリ構造の規約
このパターンを採用するすべてのリポジトリは、4 つのサブディレクトリを持つ agents/ ディレクトリ配下にエージェントツールを整理します:
agents/
├── memory/ # 並列エージェント作業を調整するための共有コンテキストファイル
├── skills/ # アトミックで再利用可能な機能。各スキルには SKILL.md がある
└── agents/ # 使用準備が整った組み合わされたエージェント。各エージェントには markdown 仕様がある
スキル
スキルはアトミックなビルディングブロックです。各スキルは独自のディレクトリに置かれ、目的、入力、プロセスステップ、制約を定義する SKILL.md を持ちます。スキルは単一の責任にスコープされており、エージェントまたはエンジニアが直接呼び出せるように設計されています。
チームのスキルは新興の Agent Skills 仕様に従っています。これは AI エージェント機能のパッケージ化のためのポータブルで相互運用可能なフォーマットを定義するオープン標準です。この仕様に準拠することで、スキルはさまざまな AI コーディングツールやクライアント間で一貫して検出、ロード、実行できます。これにより、単一のプラットフォームを超えてポータブルになります。
エージェント
エージェントはスキルとサブエージェントで構成されています。各エージェントは以下を指定する markdown ファイルで定義されます:
- システムプロンプト — エージェントの役割と行動上の制約
- スキル — 呼び出せるアトミックスキル
- サブエージェント — 委任できる同等のエージェント
- MCP サーバー — アクセスできる外部ツール(データベース、API、ナレッジベース)
- プロセス — エージェントが従う構造化されたワークフロー
エージェントは透明性と監査可能性を持つように設計されています:すべての機能が明示的に列挙されており、どのエージェントも定義されたツールセット外で即興しません。
開発と変更管理
新しいスキルとエージェントは、Anthropic の skill-creator などのツールを使用してマージ前に評価、テスト、ベンチマークするための構造化されたフレームワークを提供し、本番に昇格する前に検証されます。これにより、十分にテストされた信頼性の高い機能のみが skills/ および agents/ ディレクトリに昇格されます。
準備が整ったら、変更はリポジトリ内の他のコード変更と同じマージリクエストワークフローに従い、ピアレビュー、バージョン履歴、ロールバック機能を確保します。スキルとエージェントはプレーンな markdown ファイルであるため、他のコードアーティファクトと同様に diff 可能、レビュー可能、監査可能です。
リポジトリルートの AGENTS.md ファイルはエージェントコンテキストのエントリポイントとして機能します。ディレクトリ構造と規約を説明することで、リポジトリで作業するすべての AI コーディングアシスタントがすぐに状況を把握できます。
エージェント AI の分野は急速に進化しているため、チームの規約、ツールの選択、エージェント設計は継続的に再評価されます。今日うまく機能しているパターンは、GitLab Duo の新しい機能や幅広いエコシステムからの更新された標準によって置き換えられる可能性があり、チームはそれに応じて適応していきます。
