Agent Skillsの段階的開示(Progressive Disclosure)が、Strands Agentでどのように実装されているかについてまとめました。
[Agent Skillsとは]
Agent SkillsはAIエージェントに対する指示をまとめたマークダウン形式の手順書で、AIエージェントの能力を拡張することができます。
Agent Skillsはメインの手順書であるSKILL.mdと、その他ドキュメントやスクリプトなどの参考資料に分けられます。SKILL.mdは、スキル名と概要などからなるメタデータ(フロントマター)と、手順書本体が含まれています。
2025年10月、Anthoropic社がClaudeに最初にAgent Skillsを実装していました。
2025年12月には他のエージェントとの互換性を保つためにAgent Skillsの仕様が公開され、GitHub CopilotやKiroなどがこれをサポートするようになりました。
[段階的開示(Progressive Disclosure)]
Anthoropic社はブログでAIが参照する情報、コンテキストを効果的に管理することが重要だと述べています。
Agent Skillsでは、段階的開示(Progressive Disclosure)と言うベストプラクティスを通じて、コンテキストの効果的な管理を実現しています。
段階的開示は次のような流れで実行されます。
第1段階として、AIエージェントの起動時に、利用可能な全Agent Skillsのメタデータ(フロントマター)がコンテキストとして与えられます。続いて第2段階として、ユーザーとの会話の内容を元に特定のAgent Skillsの呼び出しが行われ、Agent Skillsの手順書本体部分がコンテキストとして与えられます。最後に第3段階では、手順書本体に従って、必要に応じて参考資料群のドキュメントやスクリプトがコンテキストとして与えられます。
[Strands Agentの段階的開示]
Strands AgentはAWSが開発しているAIエージェントを開発、デプロイするためのOSSです。2025年3月にAgent Skills機能がマージされ、利用可能になりました。
ドキュメントも公開されています。
Strands Agentでは、Agent Skillsはデータクラスとして表現されています。
コードを追っていくと、これらのAgent Skillsは、StrandsのAgent Skillsプラグインの初期化時にメモリに保持されます。初期化されたプラグインはStrands Agent本体の初期化時にプラグインレジストリに登録され、Agent SkillsがStrands Agentが利用可能なフックやツールとして登録されます。
Agent Skillsのフックにはエージェントの会話呼び出し前に実行されるフックがあります。この中でAgent SkillsのフロントマターがXML形式に変換されてシステムプロンプトとしてエージェントに渡されます。ここが段階的開示の第1段階にあたります。
そして会話の中でエージェントが該当するAgent Skillsを必要と判断すると、ツールとして登録されていたAgent Skillsが呼び出され、Agent Skillsのメインの手順書や関連する参考資料がエージェントに渡されます。ここが段階的開示の第2段階にあたります。
最後に、会話の中でエージェントが該当するAgent Skillsの参考資料を必要と判断した場合です。これはおそらく、MCP(Model Context Protocol)ツールとして登録されているファイル読み込み機能を利用して、参考資料の中身を取得してシステムプロンプトとしてエージェントに渡しているものと思われます(たぶん)。
[まとめ]
- Agent SkillsはAIエージェントに対する指示をまとめた手順書のようなもの
- AIエージェントのコンテキストを圧迫しないよう、Agent Skillsには段階的開示が可能な構造を取る
- AWSのOSSであるStrands Agentでの段階的開示の実装を調べた