Pi Agent: Skills System
最終更新:2026-08-31
--- title: "スキルシステム" description: "Pi Agentのスキルシステムを深く理解し、スキルの構成、作成、管理、組み合わせを学びます。" order: 11 lang: ja
スキルはAgentの「資格証明書」——コードレビューを読み込めばレビューアー、翻訳を読み込めば翻訳者。
1. スキルとは
スキルは、ツール、プロンプトテンプレート、設定を組み合わせたパッケージで、ある領域におけるAgentの完全な能力を定義します:
TEXT
📖 参照専用
Skill = プロンプトテンプレート + ツールリスト + 設定パラメータ + 例
例:
code_reviewスキル =
プロンプト ("あなたはコードレビュー専門家です...") +
ツール (file_reader, search) +
設定 (temperature=0.3, max_tokens=2048)
2. 組み込みスキル
| スキル | 説明 | ツール |
|---|---|---|
| code_review | コードレビュー | file_reader |
| bug_fix | バグ修正 | file_reader, search |
| test_gen | テスト生成 | file_reader, shell |
| doc_gen | ドキュメント生成 | file_reader |
| translate | 多言語翻訳 | — |
| summarize | コンテンツ要約 | file_reader |
| search_assistant | 検索アシスタント | search |
| data_analyst | データ分析 | file_reader, calculator |
(1) 組み込みスキルの使用
PYTHON
from pi_agent import Agent
agent = Agent(name="reviewer")
result = agent.run(skill="code_review", code="def add(a,b): return a+b")
(2) CLIでのスキル使用
BASH
pi-agent chat --skill code_review "Review main.py"
pi-agent run --skill translate --lang ja "Translate this text"
3. カスタムスキル
(1) YAML定義
~/.pi-agent/skills/api_designer.yaml を作成:
YAML
name: api_designer
description: "REST API設計専門家"
version: "1.0"
system_prompt: |
あなたはREST API設計の専門家です。
以下の原則に従ってください:
1. リソースパスには複数形の名詞を使用
2. HTTPメソッドで操作を表現
3. 適切なHTTPステータスコードを返す
4. 一貫性のあるエラーレスポンス形式を設計
tools:
- file_reader
- search
parameters:
temperature: 0.3
max_tokens: 4096
(2) Python定義
PYTHON
from pi_agent import Agent, Skill
api_skill = Skill(
name="api_designer",
description="REST API設計専門家",
system_prompt="あなたはベストプラクティスに従うREST API設計の専門家です",
tools=["file_reader", "search"],
parameters={"temperature": 0.3, "max_tokens": 4096}
)
agent = Agent(name="api_guy", skills=[api_skill])
result = agent.run(skill="api_designer", prompt="ブログシステムのAPIを設計してください")
4. スキルの組み合わせ
複数のスキルを組み合わせて使用できます:
例1:フルスタック開発スキルパック(難易度:⭐⭐)
PYTHON
from pi_agent import Agent, Skill
review_skill = Skill(name="code_review", tools=["file_reader"])
fix_skill = Skill(name="bug_fix", tools=["file_reader", "shell"])
test_skill = Skill(name="test_gen", tools=["file_reader", "shell"])
agent = Agent(
name="full_stack",
skills=[review_skill, fix_skill, test_skill]
)
review = agent.run(skill="code_review", code=source_code)
fix = agent.run(skill="bug_fix", code=source_code, issues=review)
tests = agent.run(skill="test_gen", code=fix)
5. スキルパラメータ
スキルはカスタムパラメータを定義できます:
YAML
name: translator
parameters:
temperature: 0.5
max_tokens: 4096
custom_params:
source_lang:
type: string
default: "en"
target_lang:
type: string
required: true
style:
type: string
default: "formal"
enum: ["formal", "casual", "technical"]
PYTHON
result = agent.run(
skill="translator",
text="Hello World",
target_lang="ja",
style="technical"
)
6. スキル管理
BASH
pi-agent skills list
pi-agent skills show code_review
pi-agent skills install community/web-scraper
pi-agent skills create my_skill --tools file_reader,shell
❓ よくある質問
Q スキルとツールの違いは?
A ツールは単一の機能(例:「ファイルを読む」)で、スキルはツール+プロンプト+設定の組み合わせ(例:「コードレビュー」= file_readerツール+レビュープロンプト+低temperature)です。
Q スキルは動的に切り替えられますか?
A はい。インタラクティブモードで
/skill を使うか、agent.run(skill=...) で呼び出しごとに異なるスキルを指定できます。Q スキルマーケットプレイスはありますか?
A Pi Agentにはコミュニティスキルリポジトリがあります。
pi-agent skills search <keyword> で検索できます。パッケージについてはレッスン17を参照してください。📖 まとめ
- スキル = プロンプト+ツール+設定の組み合わせ
- 8つの組み込みスキル;YAMLまたはPythonでカスタム定義可能
- スキルは組み合わせ可能、パラメータ化可能、共有可能
- CLIとAPIでスキルを管理
📝 練習問題
- 基礎(難易度:⭐): 組み込みのcode_reviewスキルを使ってコードをレビューしてください。
- 中級(難易度:⭐⭐): 適切なプロンプトとツールを使ってカスタム「SQL最適化アドバイザー」スキルを作成してください。
- 上級(難易度:⭐⭐⭐): ログ分析、デプロイチェック、監視設定のサブスキルを持つ「DevOpsエンジニア」スキルパックを設計してください。