LLMエージェントにおけるツールの利用を超えて.
概要
エージェントシステムは、長期間にわたるワークフローを確実に実行するために、再利用可能な手続き型機能——エージェントスキルと呼ばれます——にますます依存しています。これらの呼び出し可能なモジュールは、手続き知識を、明示的な適用条件、実行ポリシー、終了基準、および再利用可能なインターフェースとともにパッケージ化しています。単発の計画や原子的なツール呼び出しとは異なり、スキルは多様なタスクにおいて効果的に機能します。
本稿では、スキル層を製品ライフサイクル全体にわたって体系化し、2つの補完的な分類法を導入します。それは、スキルのパッケージ化と実行方法を説明する7つのパターンによる設計分類法と、表現 × 範囲の分類法です。また、ClawHavocの事例研究に基づいたセキュリティ上の影響を分析し、評価手法を概説し、堅牢で検証可能で認証可能なスキルを実現するための未解決の課題を提示します。
スキルとは、単なるツール呼び出しや指示以上のものです。それは、再利用可能で呼び出し可能なモジュールであり、一連の操作やポリシーをカプセル化し、エージェントが反復的な条件下で目標のクラスを達成することを可能にします。これには、独自の適用可能性ロジック、実行ポリシー、終了条件、および呼び出し可能なインターフェースが含まれます。
エージェントのスキルは、それを関連する抽象化と区別する重要な特性を捉えた四重組として形式化されます。エージェントが、行動空間A、観測空間O、および目標空間Gを介して環境Eと相互作用するとします。
Definition 1 (Agentic Skills)
各コンポーネントは、スキルを同時に実行可能、再利用可能、かつ管理可能にするという、他の既存の抽象化では完全に提供できない3つの重要な特性を実現する上で、それぞれが独自の役割を果たします。
この四重組が、本論文の中核となる主張です。スキルとは、単に呼び出し可能な関数ではなく、契約なのです。これは、サービスレベルアグリーメント(SLA)を持つマイクロサービスのようなものです。
T と C がないと、単に「スキル」は関数呼び出しにすぎません。この契約こそが、異なるコンテキストで再利用可能で安全にするものです。
この機能は、観察結果と目標を{0,1}に照らして評価し、このスキルが現在の状況に適しているかどうかを判断します。これは、スキルが有効になるための条件を満たすかどうかを判定する「ゲート関数」として機能します。スキルの「いつ使うべきか」という知識を司るものです。
観察データや履歴をアクションに変換すること:これがスキルの基本的な仕組みです。これは、プロンプトテンプレート、Python関数、強化学習のポリシー、またはそれらの組み合わせとして実装できます。πが、原始的なアクションの代わりに、ライブラリΣから別のスキルを選択する場合、階層的な構成が生まれます。
スキルが完了したかどうか(成功したか、またはそうでないか)を、現在の目標との関係において指定します。これが、モジュール化を可能にするものです。呼び出し元は、正確にいつ制御が自分たちに戻ってくるかを知ることができます。T がない場合、スキルを安全に連携させることはできません。
この機能は、スキルのプログラミング上の境界を定義します。具体的には、名前、パラメータのスキーマ、および戻り値の型を規定します。これにより、エージェント、他のスキル、および外部のオーケストレーターが、このスキルを確実に呼び出すことができます。`R` なしでは、内部の知識をプログラム的に利用できません。
主体的なスキルは、デザインの領域において独特な位置を占めています。これらは単なるツール、計画、または記憶ではありません。以下の表は、これらのスキルを5つの主要な側面から比較しています。
ツールとは、固定されたインターフェースを持ち、内部的な判断を行わない、基本的な機能(例:ウェブ検索API)のことです。スキルはツールを呼び出すことができますが、適用可能性のロジック、複数ステップのシーケンス、および明示的な終了条件によって、それらを拡張します。この区別は、システムコールとライブラリルーチンの違いに似ています。
プランは、タスクをサブゴールに分解する、一度きりの思考成果物です。プランはセッションの範囲内で有効であり、追加の解釈なしに直接実行することはできません。スキルはセッション間で保持され、実行可能なポリシーを含み、呼び出し可能なインターフェースを提供します。
エピソード記憶と意味記憶は、観察や事実を保存します。スキルは手続き記憶であり、それがどのように行動するかをコード化するものであり、何が起こったかをコード化するものではありません。これは、認知心理学における「知っていること(宣言的)」と「知っている方法(手続き的)」の区別を反映しています。
プロンプトテンプレートは、適用条件や終了ロジックなしで、コンテキストウィンドウに挿入されるテキストの断片です。これらは、自動的に選択したり、階層的に構成したり、独立して制御したりすることはできません。スキルは、プロンプトエンジニアリングにおける最適なパターンを包括し、形式化します。
スキルは静的な要素ではなく、相互作用、フィードバック、および制約条件によって形成される進化するシステムの一部です。そのライフサイクルは、スキルの初期段階から最終的な廃止または更新に至るまでの7つの段階で構成されます。
インタラクションログやデモンストレーションから、反復的なタスクパターンを特定します。重要な質問は以下の通りです:どの行動が、再利用可能なスキルとしてカプセル化するに十分な頻度で、かつ安定して発生するのか?
試行錯誤による実行とフィードバック。候補となる技術はテストされ、そのポリシーは改善され、特殊なケース(エッジケース)に対処されます。Voyagerのようなシステムでは、環境からのフィードバックを用いた反復ループとしてこのプロセスが実装されています。
軌跡の経験を、コンパクトで再利用可能な形式である四重組 S = (C, π, T, R) に圧縮します。この段階では、一時的なエージェントの経験を、永続的な手続き知識へと変換します。
検索可能なライブラリにおけるインデックス作成スキル。スキルは、効率的な検索を可能にするために、豊富なメタデータ(名前、説明、適用条件)とともに保存する必要があります。ベクトルデータベースとセマンティックインデックスは、一般的なアプローチです。
特定のタスクに適したスキルを選択し、それらを組み合わせる。検索には、埋め込みベースの類似性検索またはLLMルーティングを使用する。組み合わせによって、複雑な、長期的なタスクのための階層的なスキルツリーを構築する。
スキルをサンドボックス化された実行環境で実行します。実行時には、アクセス権の制限を厳守し、異常な動作を監視する必要があります。サンドボックス化のアプローチは、コードスキル(コンテナ化)と自然言語処理(NL)スキル(コンテキストウィンドウの分離)で異なります。
スキルのパフォーマンスを継続的に測定し、パフォーマンスが低いスキルを更新または廃止します。パフォーマンスが低いスキルは、新たなサイクル(練習/改善)を開始します。安全性が確保できなくなった、または陳腐化したスキルは、ライブラリから削除されます。
ライフサイクルは直線的ではなく、ループです。スキルが期待値を下回る(ステージ7が失敗を示す)場合、システムは自動的にそのスキルを改善のために再検討 (ステージ2へ) するか、新しいスキルの開発が必要な能力の不足 (ステージ1へ) を示す必要があります。現在のシステムは、この自動更新ループがほとんど存在しません。その結果、APIや環境の変化に伴い、スキルが静かに劣化していきます。これが、本論文における重要な未解決の研究課題の一つです。
65件の分析対象システムにおいて、本論文は、スキルが実際にどのようにパッケージ化され、ロードされ、実行されるかを捉える、7つの繰り返される設計パターンを特定しています。各パターンは、コンテキストコスト、決定性、構成可能性、およびガバナンスの間の異なるトレードオフを生み出します。
VoyagerLARS
LATMCodeAct
LangChainDEPS
VoyagerJARVIS
P4 の実際応用: 自己進化するライブラリ(Minecraft の Voyager のようなもの)は、エージェントが探索する中で新しいスキルを記述することを可能にします。リスクは 品質の低下です。エージェントが生成するスキルは、初期のチェックを通過するものの、エッジケースでは機能しないような、わずかに問題のあるものになる可能性があります。スキルをライブラリに追加する際の検証プロセスがないと、ライブラリは信頼できないコードで埋め尽くされます。これは、テストのない自動マージ CI/CD パイプラインのようなものです。
HuggingGPTToolBench
SKILL-4-LLMMetaGPT
OpenAI GPT StoreClawHub
スキルがマーケットプレイス (P7) を通じて配布される場合、脅威の範囲が拡大します。P1~P6 では、スキルは社内またはエージェント自身によって作成されますが、P7 のスキルは未知の第三者から提供されます。単一の悪意のあるスキルが、検出される前に数千人のユーザーによってインストールされる可能性があります。ClawHavoc の攻撃 (セクション 7) は、まさにそれを実証しました。1,184 個の悪意のあるスキルが、マーケットプレイスを通じてアクティブユーザーの 36.8% に到達しました。広がり (thousands of users) と権限 (agent-level execution) の組み合わせが、P7 を分類における最もリスクの高い配布パターンにしています。
重要な示唆: コードをスキルとして扱う (P2) というアプローチは、高い決定性、高い組み合わせ可能性、そして低いコンテキストコストという最適なエンジニアリング上のトレードオフを提供しますが、サンドボックス化が必要です。マーケットプレイスでの配布 (P7) は、規模を最大化しますが、ClawHavocが示したように、最も高いサプライチェーンリスクを伴います。
7つのデザインパターンとは独立して、スキルは、それが「何であるか」(表現)や、それが「どの環境で機能するか」(範囲)によっても分類できます。この二次元的な分類法は、現在の研究における網羅性の欠如を明らかにします。
自然言語で記述された手順書(プレイブック、レシピ)。人間が容易に作成・理解できる。決定性が低い—実行はLLMインタープリタに依存する。初期のエージェントシステムにおいて主流であった。
実行可能なスクリプト(Python、JavaScript)で、決定論的な動作をします。高い組み合わせ可能性を持ちます。ユニットテストが可能で、バージョン管理が可能であり、形式的な検証も可能です。コードインジェクションのリスクを軽減するために、サンドボックス化された実行環境が必要です。
ニューラルネットワークを用いた制御ポリシー、または強化学習によって訓練されたコントローラー。分布の変化に対して高い適応性を持つものの、検査や監査が困難である。主に、離散的な自然言語指示だけでは不十分な、ロボティクスや具現化されたAIの分野で使用される。
自然言語指示、実行可能なコード、およびオプションの学習済みコンポーネントの組み合わせ。柔軟性を提供しつつ、ある程度の監査可能性を維持します。多くの本番システムは、ハイブリッドな構成へと収束します。
ブラウザのナビゲーション、ウェブスクレイピング、フォームとのインタラクション。WebArenaやMind2Webのようなベンチマークが存在する、十分に研究されている分野です。また、これは「混乱した代理人」攻撃の主要な攻撃対象領域でもあります。
ファイルシステム、プロセス管理、GUI自動化。OSWorldなどのベンチマークで評価されます。高権限環境では、ここでスキルを発揮するには厳格なアクセス制限が必要です。
コード生成、デバッグ、テスト、リポジトリ管理。SWE-benchとSWE-agentは主要なベンチマークです。コードスキルにおいて、SkillsBench(最も低いドメインでの獲得)でキュレーションされたスキルと比較して、+4.5ppの改善が見られています。
物理ロボットの制御、ナビゲーション、操作。主にポリシーベースのスキル。SayCanとNavCatは代表的なシステムです。評価は、物理世界の多様性により困難です。
複数の協力または競合する主体間の連携。メタスキル(P6)と市場のパターン(P7)が特に重要です。異なるテナント間のスキルへのアクセスは、追加のガバナンスの複雑さをもたらします。
⚠ ガバナンスの欠如: 包括的な調査(表V)によると、ほとんどの学術システムに明確なガバナンスメカニズムが欠けていることが明らかになっています。ガバナンスに関する欄は大部分が空白であり、これは本論文が最も緊急性の高い課題として指摘する、実用的なスキルベースエージェントにとっての重要な欠如です。
この攻撃は、マーケットプレイスのユーザーが公開されているスキルに抱く信頼を悪用しました。
この攻撃は、悪意のあるnpmパッケージに似ていますが、ペイロードはコードインジェクションではなく、プロンプトインジェクションであり、静的に検知することがはるかに困難です。
検索メカニズムが、無害なクエリに対して悪意のあるスキルを提示するようにするために、スキルのメタデータを操作する手法。これは、SEOの汚染(SEO poisoning)に類似している。この手法は、パターン1(メタデータ駆動型の情報公開)を利用している。
あるスキルのポリシー π は、実行されると不正な動作を行う指示やコードを含んでいます。コードスキル (P2) の場合、これは従来のソフトウェアサプライチェーン攻撃に類似しています。一方、自然言語スキル (P5) の場合、ペイロードはプロンプトインジェクションの一種です。
マルチエージェント環境や、共有スキルリポジトリを持つマルチユーザー環境において、あるテナントが作成したスキルが、別のテナントが所有するデータやリソースにアクセスする可能性があります。これは、エンタープライズ環境における重大なリスクです。
スキルが作成時点では安全であっても、環境が変化することで安全ではなくなる可能性があります。攻撃者が環境の一部を制御している場合(例えば、スキルがアクセスするウェブページなど)、スキルのコードを変更せずに動作を操作することが可能です。
信頼できない情報源(ウェブページ、ユーザーが作成したドキュメントなど)には、エージェントを操作し、本来は安全な特権的な機能を誤用させるような悪意のある指示が含まれていることがあります。その機能自体は損なわれていません。攻撃は、エージェントの指示に従うという性質を悪用するものです。
Cへの入力値を操作することで、悪意のあるスキルがC(o,g) = 1という値を常に返すように仕込み、本来活性化されるべきではない状況でも活性化させてしまう。これにより、悪意のあるスキルが広範なタスクカテゴリで活性化され、攻撃対象となる範囲が最大化される。
エージェントは、スキル名と説明のみを表示します。指示やコードはロードされません。実行リスクなしでスキルを検出できます。すべての信頼できないスキルに対して安全です。
エージェントは、スキルの自然言語による指示を、自身のコンテキストウィンドウに読み込みます。読み込み時には、読み取り専用モードでの動作を強制する必要があります。この段階でのプロンプトインジェクションのリスクは、アーキテクチャ上の分離によって軽減する必要があります。
この機能は、アクション(ツールの呼び出し、コードの実行など)を実行できますが、各アクションにはユーザーの承認が必要であったり、制限されたサンドボックス内で実行されます。検証はされているものの、完全に信頼できるとは言えないソースからの機能に適しています。
この機能は、アクションごとの承認なしで実行されますが、事前に設定されたアクセス許可の範囲と監視の対象となります。これは、T3レベルで実績があり、信頼性と出所が確認された機能にのみ適用されます。
4つのレベルは、具体的な展開の決定事項に対応します。
ClawHavocというキャンペーンは、OpenClawのClawHubスキル登録システムに対するものであり、これはスキルサプライチェーンの悪用に関する、最初の大規模な実証的証拠を提供します。ClawHubの公開から数週間以内に、セキュリティ研究者によってこの攻撃が特定され、論文で示されたすべての脅威カテゴリが具体化されました。
主な攻撃内容(Atomic macOS Stealer / AMOS)は、.envファイルからLLM APIキー、60種類以上の仮想通貨ウォレットのキー、ブラウザの認証情報、セッショントークンなどを体系的に収集し、これにより、大規模な不正請求、モデルの悪用、および金融詐欺を可能にしました。
攻撃者は、人気のある正当なスキルを、ほぼ同一の名前で複製し、Pattern-1のメタデータ駆動型検索機能を悪用して、悪意のあるバージョンをオリジナルと同じランク、またはそれ以上のランクで表示させました。
含まれるスキルには、リバースシェル、認証情報窃取のためのウェブフック、およびソーシャルエンジニアリングによる「セットアップ」手順が含まれており、ユーザーに `curl | bash` パイプラインを実行させることで、P2のコード実行に対する信頼を悪用している。
スキルドキュメントへのプロンプトインジェクションによって、エージェントが正規のツールアクセスを利用して悪意のあるコマンドを実行するように誘導され、スキルレベルの信頼性チェックを迂回されました。
広すぎるスキル記述により、悪意のあるスキルが幅広いタスクカテゴリ(暗号化、生産性、自動化)で有効になり、P1メタデータ操作を通じて攻撃対象領域が最大化されました。
スキルがどのようにしてライブラリに組み込まれるかは、その実行方法と同じくらい重要です。スキルの獲得方法は、その品質、汎用性、および管理特性に影響を与えます。
人間の開発者や専門家によって直接記述されたスキルです。最高品質で信頼性が高く、エンタープライズ環境での利用に最適です。主な制約は、スケーラビリティです。
人間のエージェントや専門家によるデモンストレーションから、軌道蒸留(trajectory distillation)によってスキルを抽出します。スケーラビリティと品質のバランスを重視します。主要な課題は、抽出されたスキルが、デモンストレーションされた状況を超えて汎用性を持つようにすることです。
エージェントは、環境との相互作用を通じて、自律的にスキルを発見し、作成します。最も高い拡張性を持ちますが、信頼性は最も低いです。ベンチマークのデータは、自己生成されたスキルがパフォーマンスを低下させる可能性があることを示しており、導入時の体系的な検証が不可欠です。
あるスキルポリシー π が、原始的なアクションの代わりに、ライブラリ Σ から別のスキルを選択する場合、階層的な構成が生じます。これは、強化学習におけるオプションフレームワークにおけるオプション-サブルーチン構造を反映しています。これにより、より単純な基本的なスキルから、複雑で長期的なタスクの実行が可能になります。
障害からの回復機能は非常に重要です。サブスキルが失敗した場合(T_γ = failure)、制御は十分なコンテキストとともに親タスクに戻り、別のスキルを再試行するか、または人間の監視に引き継ぐことができます。図4は、「Webアプリケーションのデプロイ」の例におけるこのフローを示しています。
スキルの説明に対するベクトル類似検索。高速でスケーラブル。意味的に類似しているものの、語彙的には異なるスキルを見逃す可能性があります。多くの実用システムで採用されている標準的なアプローチです。
LLMは、タスクの説明とスキルメタデータを読み取り、ルーティングの決定を行います。微妙な曖昧さの解消において、より高い精度を実現します。ただし、処理速度が遅く、コストも高くなります。重要なスキルや、結果に大きな影響を与える可能性のあるスキル選択に最適です。
この論文では、5次元の評価フレームワークを提案し、既存のベンチマークを測定可能なスキル特性にマッピングしています。重要な発見点として、単一のベンチマークではすべての次元を網羅できないため、包括的な評価には複数のベンチマークを組み合わせる必要があることが挙げられます。
そのスキルは、意図された結果を達成していますか? 真の値データによるアノテーションまたは決定論的な検証によって評価されます。 コードスキルについては、単体テストが直接的な検証を提供します。 Webインタラクションスキルについては、環境状態の比較によって目標達成が確認されます。
このスキルは、入力の変動、環境の変化、および特殊な状況下でも、その性能を維持できますか? 例えば、堅牢なスキルは、古いUIレイアウトと最新のUIレイアウトの両方に対応できます。これは、本番環境での長期的な利用にとって非常に重要です。
トークン消費量、経過時間、ツール呼び出し回数、およびAPIコスト。効率は、デプロイメントコストとモジュール性の直接的な要因です。効率の悪いサブスキルは、後続のワークフローを遅らせます。特に、長期的なタスクにおいて重要です。
このスキルは、未経験のタスクや分野に適用できるのでしょうか? アウト・オブ・ディストリビューション評価は困難です。 Cross-website generalization (Mind2Web) や cross-application evaluation (OSWorld) は、ある程度の証拠を提供しています。 自己生成されたスキルは、この点においてしばしば失敗します。
このスキルは、有害な行動を回避し、許可された範囲内で動作し、エラーを適切に処理できるか。不正または危険な動作に対して、敵対的テスト、レッドチームによる評価、および実行時モニタリングを通じて評価されます。これは、信頼レベルモデルに直接関連しています。
SkillsBench (86のタスク、7,308の軌跡) は、キュレーションされたスキル(curated skills)の価値に関する、現在までに最も直接的な証拠を提供しています。この研究では、複数のドメインにわたって、キュレーションされたスキルと自己生成されたスキルのパフォーマンスを比較し、その結果、劇的なパフォーマンスの違いが明らかになりました。
コンテキストにおける+16.2ppの意味合い:16.2パーセントポイントの改善とは、全体の合格率が24.3%から40.6%へと上昇したことを意味し、これは約67%の相対的な増加です。エージェントのベンチマークにおいて、最先端の進歩のほとんどは2〜5pp程度ですが、+16ppは非常に優れた成果です。ヘルスケア分野における+51.9ppの改善は、さらに顕著です。高リスクの分野では、「処方箋に基づいて用量を検証してから推奨する」といった精選されたスキルと、自己生成されたスキルとの間には、正しい答えと危険な答えとの違いが生じる可能性があります。
スキルベースのエージェントは、信頼性の高い大規模な展開を妨げるいくつかの未解決の課題を抱えています。その中でも、特に緊急性の高い5つの研究分野が挙げられます。
自動生成されたスキルは、パフォーマンスを低下させる可能性があります。主な課題は、もはやスキルの生成自体ではなく、入学時の検証です。スキルは、CI/CDパイプラインにおけるソフトウェアアーティファクトのように扱われるべきです。つまり、ライブラリに登録する前に、テストスイートに対して評価する必要があります。
多くのシステムは、依然として、あらかじめ定義されたカリキュラムや、明示的な報酬シグナルに依存しています。 オープンエンドな能力の成長を実現するには、強化学習 (RL) から、大規模言語モデル (LLM) ベースのエージェントへの、教師なし学習によるスキル発見を適用する必要があります。 これにより、人間の介入なしに、相互作用の履歴から再利用可能な行動が自然に生まれるようになります。
ソフトウェアの品質保証に関する長年の経験は、コーディングスキルに役立ちます。一方、自然言語処理(NL)やポリシーに関するスキルには、同等の検証ツールが不足しています。実用的なガバナンスの課題は、実行可能なコンポーネントに対するルールベースの分析と、言語ベースのスキルに対する意味的な検査を組み合わせることです。
適切に実装されたスキルであっても、API、ツール、およびワークフローが進化するにつれて、機能しなくなる可能性があります。現在のシステムでは、実行統計の継続的な監視による積極的なドリフト検出や、過去の動作からの逸脱の検出がほとんど行われていません。
マーケットプレイスのエコシステムは、貢献に対するインセンティブを生み出す一方で、サプライチェーン攻撃の対象となる範囲を拡大します。責任モデルは、スキル提供者、プラットフォーム運営者、およびユーザー間の責任を明確にする必要があります。認証メカニズムは、信頼性の高いスキルには報酬を与え、リスクの高いスキルにはペナルティを科すように設計されるべきです。
エージェントとしてのスキルとは、再利用可能な手続き型モジュールであり、LLMエージェントが単一のツール利用にとどまらず、信頼性の高い長期的なタスク実行を可能にするものです。このSoK論文は、以下の6つの貢献を提供します。
この分野は、教師なし学習、クロス表現の検証、ドリフト検出、およびガバナンス経済において、未解決の課題に直面しています。 堅牢で、検証可能で、認証可能な能力の開発が進むかどうかは、スキルベースのエージェントが、高いリスクを伴う現実世界の環境で信頼できるかどうかを決定するでしょう。