>_tech-draft
Google Antigravityのアイコン
Google Antigravity
動画公開日
タイトル

Intro to Agent Skills

再生時間

4分 6秒

AIエージェント開発を加速!コンテキストブロートを解消するAgent Skillsの活用法

ポイント

  • AIエージェント開発者は、コンテキストブロートによる効率低下を解消し、より専門的なタスクに対応できます。
  • Agent Skillsは、必要なスキル定義を遅延ロードし、エージェントに狭く深いコンテキストを提供することで、この問題を解決します。
  • これにより、最新技術や企業固有の知識を活用した、高性能かつ効率的なAIエージェントの開発が可能になります。

AI技術の進歩は目覚ましく、単なるコード補完から、より複雑なタスクを自律的に実行するエージェントドリブンなチャットへと進化を遂げています。しかし、この進化の過程で「コンテキストブロート(Context Bloat)」という新たな課題に直面しています。これは、AIモデルのコンテキストウィンドウに大量の情報を詰め込もうとすると、モデルが混乱したり、無駄なトークンを消費したりする問題です。コードベース全体をコンテキストウィンドウに収めることは現実的ではありません。

そこで登場するのが「Agent Skills」です。Agent Skillsは、特定のタスクを実行するために必要な狭く深いコンテキストをエージェントに提供し、必要な時だけ遅延ロード(Lazy Load)することで、コンテキストブロートの問題を解消します。これにより、関連性のないスキル定義全体に対してコストを支払う必要がなくなり、効率的なAIエージェント開発が可能になります。

本記事では、この画期的なAgent Skillsの概念から、その構築方法、そして具体的な活用事例までを詳しく解説します。

Agent Skillsとは? 基本構造と特徴

Agent Skillsは、エージェントが「何かを実行する方法」に関する具体的な知識を提供するメカニズムです。その核となるのは、特定の名前が付けられたフォルダ内に配置されたskill.mdファイルです。

skill.mdファイルの構造

skill.mdファイルは、Markdown形式のファイルであり、YAML形式のフロントマターを含んでいます。このフロントマターには、スキルのname(名前)とdescription(説明)が記述され、エージェントはこれらを読み取って、現在のタスクに対してそのスキルが適切かどうかを判断します。

例えば、skill.mdの冒頭では以下のようにフロントマターを記述します。

---
name: [スキルの名前]
description: [スキルの説明]
---

フロントマターの下には、Markdown形式でスキルの詳細な内容を記述します。これには、他のリソースへの参照、スクリプト、コード例、その他の必要なアセットを含めることができます。

スキルの種類と管理

Agent Skillsには、大きく分けて2つの種類があります。

  1. グローバルスキル: 普段使用しているフレームワークや言語全般に適用できるスキルです。
  2. プロジェクト固有スキル: 現在作業中のアプリケーションやバックエンドに特化したライブラリ、SDK、フレームワークなどに対応するスキルです。

これらのスキルは、ディスク上で簡単に管理でき、チーム内での共同作業や配布を容易にします。GitHubリポジトリなどの人気のあるリポジトリからスキルを見つけることもできますし、エージェント自身にスキルを生成させることも可能です。

カスタムAgent Skillsの構築手順

それでは、実際にカスタムスキルを構築する手順を見ていきましょう。

  1. プロジェクトの作成: まず、Anti-Gravityを開き、プレイグラウンドで新しいプロジェクトを作成します。

  2. スキルフォルダの作成: プロジェクト内に、agent/skills/というネストされたフォルダを作成し、その中に具体的なスキル名(例: html3danvas)のフォルダを作成します。最終的なパスはagent/skills/html3danvasのようになります。

  3. skill.mdファイルの作成: html3danvasフォルダ内にskill.mdファイルを作成します。

  4. フロントマターの記述: skill.mdファイルの冒頭に、3つのダッシュ(---)で区切られたフロントマター領域を作成し、YAML形式でnamedescriptionを記述します。


name: Three.jsとWeb Animations APIのセットアップ description: Three.jsとWeb Animations APIを使用して3Dシーンを構築し、リサイズリスナーとアニメーションループを設定する方法についてのガイド。


5.  **Geminiにスキル生成を依頼**:
    エージェントチャットでGeminiに、3JSとWeb Animations APIの連携、リサイズリスナーのセットアップ、アニメーションループの設定方法に関するスキルを生成するように依頼します。さらに、3JSの最近の追加機能であるTSL(Tiny Shader Language)に関するスキルも依頼すると良いでしょう。TSLは比較的新しいため、トレーニングデータに十分に表現されていない可能性があるからです。

これにより、独自のカスタムスキルをエージェントに提供し、最新の、あるいはニッチな技術にも対応させることができます。

## エージェントによるAgent Skillsの活用事例

カスタムスキルが準備できたら、実際にエージェントがそれをどのように活用するかを見ていきましょう。

1.  **3D太陽系プロジェクトの構築**:
    新しいチャットを開始し、エージェントにWeb上で3D太陽系を構築するように依頼します。エージェントはまず計画を立て、その過程で作成されたスキルを読み込み、コンテキストにロードします。

    エージェントは訓練データによって問題を解決できる場合もありますが、スキルを提供することで、特定の種類やスタイルの出力を誘導し、タスクに対する意図をより良く伝えることができます。これは、企業や業界に特化した知識にも非常に有効で、プロジェクトの成長とともにスキルを追加していくことが可能です。

2.  **ゲーム開発スキルとHTML GUIの追加**:
    プロジェクトがある程度進んだら、エージェントに3JSを使ったゲーム構築のスキルと、キャンバスの上に配置するHTML GUIを追加するスキルを作成するように依頼します。

3.  **学習ベースの太陽系ゲームへの発展**:
    新しいチャットを開始し、エージェントに既存のコードを更新し、太陽系に関する学習ベースのゲームを作成するように依頼します。これにより、クリックした各惑星について、生成されたクイズや事実が表示される機能を実装できます。この生成プロセス中、エージェントが新しく作成されたスキルを読み込んでいる様子を確認できるでしょう。

このように、Agent Skillsを活用することで、エージェントはより複雑で専門的なタスクを効率的に実行し、開発者の意図を正確に反映したアウトプットを生成できるようになります。

## Agent Skillsの共有とエコシステム

Agent Skillsは、チームでの共有とナレッジの分散を容易にします。

プロジェクトを他の人と共有する際、Anti-Gravityにプロジェクトをロードすると、スキルも自動的に発見可能となり、知識をプロジェクトと一緒に配置できるため、スムーズなコラボレーションが実現します。

また、Agent Skillsを見つける方法は数多くあり、それらを容易にするためのツールも多数開発されています。例えば、`skills.sh`を使えば、サポートされているGitリポジトリから多数のスキルを追加できます。Agent Skillsはオープンスタンダードであり、`agentskills.io`で詳細を確認できます。

## まとめ: Agent SkillsでAIエージェント開発を次のレベルへ

AIエージェント開発において「コンテキストブロート」は避けて通れない課題でしたが、Agent Skillsの登場により、この問題をスマートに解決し、より効率的で、意図を正確に反映した開発が可能になりました。

Agent Skillsは、狭く深いコンテキストを必要な時に遅延ロードする仕組みにより、エージェントのパフォーマンスを最適化し、特に最新技術や企業固有の知識といった、トレーニングデータではカバーしきれない領域での活用が期待されます。

Anti-GravityとAgent Skillsを今すぐ導入し、お気に入りのスキルを追加して、あなたのAIエージェント開発を次のレベルへと引き上げましょう。

---
**参考動画:**
[AIエージェント開発の新たな壁「コンテキストブロート」をAgent Skillsが解決する!](https://www.youtube.com/watch?v=4mnP1lRdUm8)