Content last updated 2026-10-26

エージェント型ツール開発

私たちのリポジトリで動作するエージェント型ツールを開発するための Data Team のガイド。

Data Team のエージェント型ツーリングへのアプローチは、スキルを優先し、それらを組み合わせて上位を構成するモデルを中心に構築されています。モノリシックなエージェントを構築するのではなく、チームは作業を小さく、テスト可能で、再利用可能な スキル に分解します。各スキルは単一の明確に定義されたタスクを扱います。その後、エージェントはそれらのスキルから合成され、リクエストされた作業の種類に応じてスキルに委任します。

このアプローチは、OpenCodeと Anthropic から生まれつつある標準 — リポジトリレベルのエージェントコンテキストのための AGENTS.md のような規約を含む — を基にしており、GitLab Duo がプラットフォームとして成熟するにつれて継続的に評価され、進化していきます。

ディレクトリ構造の規約

このパターンを採用するすべてのリポジトリは、agents/ ディレクトリの下にエージェント型ツーリングを 3 つのサブディレクトリで構成します。

agents/
├── memory/     # Shared context files for coordinating parallel agent work
├── skills/     # Atomic, reusable capabilities; each skill has a SKILL.md
└── agents/     # Composed agents ready for use; each agent has a markdown spec

スキル

スキルはアトミックなビルディングブロックです。各スキルは独自のディレクトリにあり、その目的、入力、プロセスステップ、制約を定義する SKILL.md を持っています。 スキルは単一の責任にスコープされ、エージェントによって、またはエンジニアによって直接呼び出されるように設計されています。

スキル仕様

チームのスキルは、新興の Agent Skills 仕様に従います。これは、AI エージェントの機能をパッケージ化するためのポータブルで相互運用可能なフォーマットを定義するオープンスタンダードです。この仕様に準拠することで、スキルは異なる AI コーディングツールやクライアント間で一貫して検出、ロード、実行されるようになり、単一のプラットフォームを超えてポータブルになります。

主要な仕様は 2 つあります。

  1. ディレクトリ構造:

スキルは、少なくとも SKILL.md ファイルを含むディレクトリです。

skill-name/
├── SKILL.md          # Required: metadata + instructions
├── scripts/          # Optional: executable code
├── references/       # Optional: documentation
├── assets/           # Optional: templates, resources
└── ...               # Any additional files or directories

SKILL.md のフォーマット:

SKILL.md ファイルには、YAML フロントマターに続いて Markdown コンテンツが含まれている必要があります。フロントマターには name や description などのメタデータフィールドが含まれており、これらは AI コーディングツールによる自動的なスキル検出を有効化する上で最も重要です。

スキル開発

スキルは モジュラー かつ テスト済み であるべきです — コードに対して私たちが設定するのと同じ基準です。

ガイドライン 1: モジュラー

スキルごとに 1 つの目的。バンドルせず、コンポーズする。

スキルはシンプルなもの (run_dbt_locally、gitlab-mr) でも、スキルを連鎖させるエンドツーエンドのワークフローでも構いません。重要なのは、各スキルに明確に述べられた目的が 1 つあること、そして独自のスキルになり得るサブタスクは それ自体が 独自のスキルになっていることです。

build_and_open_mr というスキルが run_dbt_locally を呼び出してから gitlab-mr を呼び出すかもしれません — これがモジュラーです。オーケストレーションロジックはワークフロースキルに存在し、実装ロジックはサブスキルに存在します。

ガイドライン 2: テスト済み

実際に実行した。動いた。

エンドツーエンドで実行されていないスキルはマージできる状態ではありません。これは次のことを意味します。

  1. エージェント経由でスキルを呼び出した(指示を読み通しただけではない)
  2. 完全なワークフローが、エージェントが詰まったり予期しない明確化を求めたりすることなく完了した
  3. 期待される出力が生成された

agentic_skills_changes MR テンプレートは、マージ前にこれら両方を強制します。

エージェント

エージェントはスキルとサブエージェントから合成されます。各エージェントは、以下を指定する Markdown ファイルで定義されます。

  • システムプロンプト — エージェントの役割と振る舞いの制約
  • スキル — 呼び出せるアトミックなスキル
  • サブエージェント — 委任できるピアエージェント
  • MCP サーバー — アクセスできる外部ツール(データベース、API、ナレッジベース)
  • プロセス — エージェントが従う構造化されたワークフロー

エージェントは透明で監査可能になるように設計されています。 すべての機能が明示的に列挙されており、エージェントは定義されたツールセットの外で即興しません。

開発と変更管理

新しいスキルやエージェントは、本番環境に昇格される前に、Anthropic の skill-creatorのようなツールを使用して検証されます。これは、マージ前にスキルを評価、テスト、ベンチマークするための構造化されたフレームワークを提供します。これにより、十分にテストされた信頼性のある機能のみが skills/ と agents/ ディレクトリに昇格されることが保証されます。

準備が整ったら、変更はリポジトリ内の他のコード変更と同じマージリクエストワークフローに従い、ピアレビュー、バージョン履歴、ロールバック機能を確保します。スキルとエージェントはプレーンな Markdown ファイルなので、他のコード成果物と同様に差分表示、レビュー、監査が可能です。

リポジトリルートにある AGENTS.md ファイルは、エージェント型コンテキストへのエントリポイントとして機能します。ディレクトリ構造と規約を記述しているため、リポジトリで作業する AI コーディングアシスタントがすぐに状況を把握できます。

エージェント型 AI の分野が急速に進化するにつれて、チームの規約、ツール選択、エージェント設計は継続的に再評価されます。今日うまく機能しているパターンは、GitLab Duo の新機能や、より広いエコシステムから更新された標準によって取って代わられる可能性があり、チームはそれに応じて適応します。

利用可能なスキル

Data Team のスキルは、それらが使用されるリポジトリで直接メンテナンスされています。利用可能なものを確認するには、スキルディレクトリをブラウズしてください。

執筆時点では、まだ利用可能なスキルは多くありませんが、定期的に追加していく予定です。