# ADKの便利で実践的な使い方
## 📚 必要なときだけ知識をロード!ADKのSkills機能
エージェントに全ての知識を詰め込むとトークンが爆発する…ADKの **Skills** を使えば、必要なときだけワークフローや知識をオンデマンドでロードし、トークン消費を抑えながら能力を拡張できます!🚀
## 📌 タイトル
Skills for Agents(エージェントスキル)
## 🔗 URL
## 🧩 概要
Skillsは、エージェントが特定のタスクを実行するための自己完結した機能ユニットです。指示(Instructions)、リソース(References/Assets/Scripts)をパッケージ化し、エージェントが必要とするときだけロードする仕組みです。
3層アーキテクチャで構成されます:
- **L1(メタデータ)**:`SKILL.md` のフロントマターでスキル検索を可能に
- **L2(インストラクション)**:`SKILL.md` 本文のメイン指示
- **L3(リソース)**:`references/`、`assets/`、`scripts/` の補助資材
必要なときだけロードするため、コンテキストウィンドウの最適化に貢献します。
## 🛠 使い方
**ディレクトリ構造:**
```
my_agent/
skills/
code_review/
SKILL.md # 必須:メタデータ + インストラクション
references/
CHECKLIST.md # コードレビューチェックリスト
assets/
template.json # レビュー出力テンプレート
scripts/
# Lint実行スクリプト
```
**Pythonでの統合:**
`google.adk.skills` から `load_skill_from_dir` を、` から `skill_toolset` をインポートし、`pathlib` を使用します。`load_skill_from_dir()` に `pathlib.Path(__file__).parent / "skills" / "code_review"` を渡してスキルをディレクトリからロードします。次に `skill_toolset.SkillToolset(skills=[code_review_skill])` でスキルツールセットを作成し、`Agent` の `tools` パラメータに渡します。エージェントは `model="gemini-flash-latest"`、`name="dev_assistant"` で作成され、このスキルツールセットを通じて必要なときだけスキルをロードできるようになります。
## 🏗 実践的な使い方
**DevOpsエージェントでのスキル活用:**
```
skills/
code_review/
SKILL.md # 「コードレビューチェックリスト」
references/
CHECKLIST.md # レビュー観点の詳細ガイド
release/
SKILL.md # 「リリース手順」
references/
PROCEDURE.md # ステップバイステップのリリースフロー
assets/
changelog.tmpl # CHANGELOG テンプレート
incident/
SKILL.md # 「インシデント対応」
references/
RUNBOOK.md # 障害対応ランブック
scripts/
# Slack通知スクリプト
```
エージェントは「コードレビューして」と言われたときだけ `code_review` スキルをロードし、「リリースして」と言われたときだけ `release` スキルをロードします。全てのスキルを常時ロードする必要がないため、トークン消費を大幅に削減できます。
**インラインスキル(TypeScript):**
```typescript
const releaseSkill: Skill = {
frontmatter: {
name: 'release-procedure',
description: 'Standard release procedure with checklist',
},
instructions: "Follow the release checklist step by step...",
resources: {
references: {
'checklist.md': '1. Run tests\n2. Update version\n3. Create tag...',
},
},
};
const skillTools = new SkillToolset([releaseSkill]);
```
## 💡 ユースケース
- 📋 **コードレビューチェックリスト**:レビュー依頼時のみ詳細なチェック項目をロード
- 🚀 **リリース手順**:デプロイ時のみステップバイステップの手順とテンプレートをロード
- 🔧 **トラブルシューティング**:障害発生時のみランブックと通知スクリプトをロード
- 📝 **ドキュメント作成**:特定のドキュメントタイプに応じたテンプレートとガイドラインをロード
- 🎓 **新人オンボーディング**:質問に応じた社内ナレッジベースのセクションをロード
## ⚠️ 注意点
- Skillsは実験的機能です(Python v1.25.0+、TypeScript v0.6.1+、Go v1.2.0+)
- `SKILL.md` ファイルは必須です。フロントマターに `name` と `description` を記載してください
- スキルの検索精度は `description` の質に依存します。適切な説明を書きましょう
- 大きなリソースファイルはトークン消費に影響するため、必要最小限に抑えてください
- スクリプトの実行権限やセキュリティに注意してください
## ✨ まとめ
Skillsは「必要なときだけ必要な知識をロード」を実現する賢い仕組みです。全ての知識をインストラクションに詰め込む代わりに、スキルとしてモジュール化することで、トークン消費を抑えながらエージェントの能力を無限に拡張できます。DevOps、カスタマーサポート、教育…あらゆる分野で活用できます!
#
ADK# #
AIAgent#