Skills: パフォーマンス最適化
最終更新:2026-08-31
速い Skill は快適、遅い Skill は苦痛——パフォーマンスが Skill の使用頻度を決める。
1. パフォーマンスのボトルネック
(1) ボトルネック分析
| ボトルネック | 影響 | 最適化方向 |
|---|---|---|
| 長いコンテキスト | 応答が遅い、コストが高い | コンテキストの圧縮 |
| ツール呼び出しが多すぎ | 所要時間が長い、トークンの無駄 | 呼び出しの統合 |
| 冗長なプロンプト | 処理が遅い、曖昧さが増す | プロンプトの簡素化 |
| 検索範囲が広い | 結果が不正確 | 範囲の絞り込み |
| 重複操作 | 効率が低い | 結果のキャッシュ |
(2) パフォーマンス指標
TEXT
📖 参照専用
Skill パフォーマンス指標
├── 応答時間:呼び出しから最初の出力までの時間
├── ツール呼び出し回数:1回の実行でのツール呼び出し数
├── トークン消費量:入力+出力の合計トークン数
├── 精度:期待に合致する出力の割合
└── 完了率:タスクを正常に完了した割合
2. プロンプトの最適化
(1) 簡素化の原則
TEXT
📖 参照専用
プロンプト簡素化3原則
├── 削除:冗長な説明と過剰なサンプルを削る
├── 統合:類似ルールを統一的な記述にまとめる
└── 圧縮:長文の説明をテーブルに置き換える
(2) サンプル比較
冗長版:
TEXT
📖 参照専用
コードレビューの際はセキュリティをチェックしてください。セキュリティにはSQLインジェクション、XSS、
CSRFなどの一般的な脆弱性が含まれます。また、機密情報がコードにハードコーディングされていないかも
チェックしてください。安全でない依存ライブラリが使用されていないかもチェックしてください......
簡潔版:
MARKDOWN
## セキュリティチェック
- SQL インジェクション / XSS / CSRF
- ハードコーディングされたキー / トークン
- 安全でない依存関係
(3) 構造化プロンプト
MARKDOWN
## 推奨構造
1. ロール定義(1行)
2. 実行フロー(順序付きリスト)
3. レビュー観点(テーブル)
4. 出力フォーマット(テンプレート)
5. 制約条件(リスト)
3. ツール呼び出しの最適化
(1) 順次ではなくバッチで
TEXT
📖 参照専用
非効率:
Read file1.py → Read file2.py → Read file3.py
(3回のツール呼び出し)
効率的:
Glob "src/**/*.py" → 必要なキーファイルだけ選択的に Read
(1 + 2 = 3回の呼び出しだが、より的確)
(2) 走査ではなく検索で
TEXT
📖 参照専用
非効率:
すべてのファイルを Read → 1つずつ対象をチェック
効率的:
Grep "class.*Service" → マッチしたファイルだけ Read
(3) 全量ではなく差分で
TEXT
📖 参照専用
非効率:
毎回のレビューですべてのプロジェクトファイルを Read
効率的:
git diff で変更されたファイルだけ Read
4. コンテキストの最適化
(1) コンテキスト予算
TEXT
📖 参照専用
コンテキスト割り当て戦略(200K トークン総予算)
Skill プロンプト:5K(2.5%)
プロジェクトコンテキスト:10K(5%)
ツール出力:80K(40%)
会話履歴:50K(25%)
予約スペース:55K(27.5%)
(2) 要約戦略
| 元の内容 | 要約方法 | 圧縮率 |
|---|---|---|
| ファイル全文 | 関数シグネチャ+キー行のみ | 10:1 |
| 検索結果 | マッチした行+パスのみ | 5:1 |
| エラーログ | エラータイプ+スタックトップのみ | 8:1 |
| 会話履歴 | 決定事項の要約のみ | 20:1 |
(3) 遅延読み込み
MARKDOWN
## 遅延読み込み戦略
1. プロジェクトファイルをすべて事前読み込みしない
2. Glob/Grep でまず位置を特定
3. 必要なファイルだけ Read
4. 依存チェーンを再帰的に読み込まない
5. パフォーマンス最適化の実践
▶ 例:レビュー Skill の最適化
Alice はレビュー Skill の最適化前後を比較しました:
TEXT
📖 参照専用
最適化前:
- 3000字のプロンプト → 処理が遅く、曖昧さが多い
- 10ファイルを1つずつ Read → 10回の呼び出し
- コンテキスト制限なし → トークン消費が高い
最適化後:
- 800字のプロンプト(テーブル化) → 処理が速く、明確
- Grep で位置特定 + 3つのキーファイルだけ Read → 4回の呼び出し
- 50K コンテキスト制限 → トークン消費60%削減
Bob は言います:「パフォーマンス最適化のコツは『少なくやる』ことではなく『正しいことをやる』ことだ。的を絞った検索は全ファイル走査より10倍速い。」
❓ よくある質問
Q プロンプトを短くすると品質が下がりますか?
A 必ずしもそうではありません。重要なのは具体性と明確さであり、長さではありません。簡潔な構造化プロンプトは冗長な長文より優れることが多いです。
Q 精度とパフォーマンスのバランスは?
A コアステップの精度を確保し、補助ステップのパフォーマンスを最適化します。レビュー観点は削減できませんが、検索範囲は絞り込めます。
Q トークン消費をどうモニタリングしますか?
A 各プラットフォームにトークン使用統計があります。Skill レベルのモニタリングはプロンプト内でトークン使用量を問い合わせるか、プラットフォーム API から取得します。
📖 まとめ
- 5つのボトルネック:長いコンテキスト、呼び出し過多、冗長なプロンプト、広い検索範囲、重複操作
- プロンプト最適化:冗長削除、類似統合、構造圧縮、テーブル活用
- ツール最適化:バッチ、検索、差分による走査の代替
- コンテキスト最適化:予算割り当て、要約圧縮、遅延読み込み
📝 練習問題
- 基礎問題(難易度⭐):既存の Skill プロンプトを見直し、効果を保ちながら冗長な内容を削除してください。
- 応用問題(難易度⭐⭐):Skill のツール呼び出しチェーンを最適化し、走査を検索に置き換え、最適化前後の呼び出し回数を比較してください。
- チャレンジ問題(難易度⭐⭐⭐):Skill パフォーマンスベンチマーク計画を設計し、最適化前後の応答時間、トークン消費、精度を定量的に比較してください。