巨大なプロンプトを分割してエージェントのトークン浪費を減らす方法
TuBrief 편집팀
2026년 3월 14일
0
Computing/Software원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.
커뮤니티의 다른 글
댓글 (0)
Log in to leave a comment
아직 작성된 글이 없습니다
원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.
Log in to leave a comment
아직 작성된 글이 없습니다
システムプロンプト1つにあらゆるガイドラインやツールを詰め込むモノリシックな構造は、すぐに限界を迎えます。対話が少し長くなるだけでも、エージェントはプロンプトの途中に書いた指示を忘れてしまいます。リクエストごとに数万トークンを重複して送信するため推論コストが高騰し、最初のトークンが表示されるまでに長い時間がかかります。
実務では、agentskills.ioオープン仕様ベースの段階的コンテキスト読み込み構造でこの問題を解決します。必要な瞬間だけに適切なスキルを呼び出し、トークンを節約する方式です。
モノリシックなシステムプロンプトは、ドメインの境界、ツール実行の権限、実行頻度を基準に分割する必要があります。単一セッションで同時に有効化するスキルを3つ以下に抑えることで、埋め込み類似度検索時にスキル同士が競合する現象を防ぎます。
分離したスキルファイルの先頭には、ハイフンと英字小文字、数字のみを使用した識別子と、動作目的を明記したYAMLフロントマターを記述します。
name: backend-api-generator
description: Generates Spring Boot REST API controller and service boilerplate code. Use when the user asks to create API endpoints, build REST controllers, or define DTO mappings for backend services.
when_to_use:
`
段階的な読み込み構造を作るプロセスはシンプルです。
15,000〜30,000トークンを常時占有していたモノリシック構造をSKILL.mdの遅延読み込み構造に変更すると、初期トークンのオーバーヘッドが90%以上削減されます。Anthropicの内部テスト資料によると、p95の遅延時間を12%から40%まで短縮し、対話あたりの平均トークン消費量を29.6%削減できます。
複数のスキルが連鎖的に読み込まれる際、前のスキルの指示がセッションに残って次の作業を歪めてしまう現象が頻発します。高リスクな検査やログが多く残る作業では、YAMLフロントマターに下位コンテキスト分岐(context: fork)の設定を追加して、プロセスレベルで隔離する必要があります。
`
入出力データ契約(Data Contract)を明確に定義する作業も欠かせません。
`markdown
All responses must strictly adhere to the following JSON structure without markdown wrapping:
{
"status": "SUCCESS" | "FAILED",
"generated_files": [
{
"path": "string",
"content": "string"
}
],
"error_message": "string | null"
}
`
子プロセスとして隔離すれば、ツール呼び出しのログがメインセッションにあふれ出す事態を防ぐことができます。メインの対話セッションがクリーンに保たれるため、サブエージェント間でデータをやり取りする際のエラー発生確率も下がります。
要件が曖昧であったりツール呼び出しのエラーが繰り返されたりすると、エージェントは無限再試行ループに陥ります。わずか数分で数十ドルのAPI費用が消えていく瞬間です。スキルファイルの本体に段階的な静的検証チェックリスト(Verification Checklist)を仕込んでおけば、エージェントが作業を完了する前に自ら検証を実行します。
`markdown
Before declaring the task finished, you MUST sequentially execute the following verification checklist:
`
物理的にループを断ち切るサーキットブレーカー(Circuit Breaker)の書き方も簡単です。
`markdown
[SKILL EXECUTION HALTED]
Skill Name: backend-api-generator
Failure Reason: [Brief error description]
Attempts Made: [Number of retries]
Suggested Action: [Action required by backend developer]
`
ファイルの削除やDBのドロップといった危険な作業には、disable-model-invocation: trueオプションを設定しておく方が安全です。エージェントが勝手に呼び出せないようにブロックし、開発者が直接スラッシュコマンド(/skill-name)を入力したときのみ実行されるよう制限します。
チームメンバーと一緒にスキルを作成する際は、agentskills.io標準のディレクトリ構造に従うことで、マークダウンファイルの競合に悩まされずに済みます。上位フォルダの中に、本文、CLIスクリプト、参照ドキュメント、静的テンプレートのアセットを明確に分けて配置します。
| ディレクトリおよびファイルパス | 役割 | 作成指針 |
|---|---|---|
| skills/api-generator/SKILL.md | 必須のエントリポイント文書 | YAMLフロントマターとコア手順の指示を含む(500行以内) |
| skills/api-generator/scripts/ | 実行可能コードフォルダ | エージェントが必要に応じて呼び出すPython/BashのCLIスクリプトの配置場所 |
| skills/api-generator/references/ | 補助参照ドキュメントフォルダ | 大規模API仕様、DBスキーマ、スタイルガイド文書を収載 |
| skills/api-generator/assets/ | 静的リソーステンプレートフォルダ | 生成コードのボイラープレート、設定ファイルの見本を保存 |
スキルの品質を検証する際は、promptfoo評価フレームワークを活用します。
npx promptfoo@latest eval コマンドを実行し、指示の遵守率を測定します。`yaml
description: "Backend Agent Skills Validation Suite"
prompts:
`
デプロイ時は、短命なブランチを使用するトランクベース開発戦略とGitタグ(v1.2.0)を組み合わせます。プロダクション環境でエージェントが予期せぬ動作をした場合、 git checkout tags/v1.1.0 -b hotfix/rollback コマンドで以前のタグ時点へ即座にロールバックできます。