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を参照してください。

📖 まとめ


📝 練習問題

  1. 基礎(難易度:⭐): 組み込みのcode_reviewスキルを使ってコードをレビューしてください。
  2. 中級(難易度:⭐⭐): 適切なプロンプトとツールを使ってカスタム「SQL最適化アドバイザー」スキルを作成してください。
  3. 上級(難易度:⭐⭐⭐): ログ分析、デプロイチェック、監視設定のサブスキルを持つ「DevOpsエンジニア」スキルパックを設計してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%