HarnessAPI: A Skill-First Framework for Unified Streaming APIs and MCP Tools
HarnessAPI は、型付けされたスキルフォルダを単一の信頼源として扱うことでコードの重複を排除し、単一のハンドラと Pydantic スキーマから、統合されたストリーミング HTTP エンドポイント、対話型 OpenAPI ドキュメント、およびゼロ構成の MCP ツールを自動的に生成する Python フレームワークです。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
あなたが美味しくて新しいレシピ(「スキル」)を開発したシェフだと想像してください。AI とソフトウェアの世界において、このレシピは非常に異なる 2 種類の顧客に提供される必要があります。
- ウェブ顧客: 彼らはレストランのウェブサイトを訪れ、フォームに記入し、素早くフォーマットされた領収書(HTTP エンドポイント)を期待します。
- ロボット執事: 彼らはデジタル執事のような AI アシスタントであり、調理中に使用するよう、キッチンの棚から直接レシピを掴む必要があります(MCP ツール)。
問題:「二重入力」の悪夢
現在、両方の顧客に提供したい場合、レシピを 2 回書く必要があります。
- まず、ウェブサイト用の派手な帳簿に(あるルールセットを使って)書き記します。
- 次に、ロボット執事用の別のノートに(全く異なるルールセットを使って)、全く同じ指示を書き直す必要があります。
この論文はこれを「デュアルスタック」問題と呼んでいます。最悪なのは、キッチンで材料を変更した際(コードを更新した際)、両方の帳簿を更新することを思い出さなければならない点です。これを忘れると、ウェブサイトは「卵を 2 個加える」と言い、ロボット執事は「小麦粉を 2 カップ加える」と考えるかもしれません。これにより、混乱、エラー、そして膨大な余分な書類作業が生じます。
解決策:HarnessAPI
著者のエドウィン・ホセは、ゲームのルールを変えることでこれを解決する HarnessAPI というフレームワークを作成しました。「ウェブサイト」や「ロボット」から始めるのではなく、スキル(レシピフォルダ)から始めます。
HarnessAPI を、キッチンに設置された万能翻訳機兼プリンターだと考えてください。
- あなたは、1 つのルールセットを持つ単一のフォルダにレシピを入れます。
- HarnessAPI はそのフォルダを調べ、自動的に「ウェブ領収書」と「ロボット指示書」の両方を印刷します。
- 両方の用紙が同じマスターフォルダから来るため、矛盾することはあり得ません。レシピを変更すれば、両方の用紙が即座に更新されます。
仕組み(マジック・トリック)
- 1 つのフォルダ、2 つの扉: このフレームワークは、コードを含むフォルダを「真実の源泉」として扱います。ウェブ用の扉とロボット用の扉を自動的に構築するため、手動でそれらを構築する必要はありません。
- 変身するウェイター: 誰が尋ねるかに応じて制服を変えるウェイターを想像してください。ウェブブラウザがデータを求める場合、ウェイターは標準的な JSON ファイルとして提供します。AI エージェントがデータストリーム(チャンク単位で再生される動画など)を求める場合、ウェイターは瞬時にストリーミングモードに切り替わります。ウェイター(あなたのコード)自身が変化していることさえ知りません。フレームワークが自動的に切り替えを処理します。
- 「偽」ロボット: ロボット執事があなたのコードを理解できるようにするため、フレームワークは即座に特別な「ラッパー」(翻訳機)を作成します。まるでフレームワークが、「ねえロボット、この関数を呼び出すには正確にはこうだ」というメモを素早く書くようなもので、ロボットが複雑なコード構造に混乱しないようにします。
重要性(結果)
著者は、テキスト要約や言語翻訳などの 6 つの異なる「スキル」を 2 つの方法で構築することでこれをテストしました。
- 旧来の方法: ウェブサイト用とロボット用のコードを個別に手動で記述する。
- HarnessAPI 方式: スキルを 1 回だけ記述する。
発見:
- 74% の作業削減: HarnessAPI 方式では、ボイラープレート(退屈で反復的なセットアップ作業)のコード量が 74% 少なくて済みました。
- 乖離の不存在: 旧来の方法では、2 つのバージョンが乖離して不整合になる可能性があります。新しい方法では、同じソースから来るため、数学的に同一であることが保証されています。
- 単一プロセス: ウェブ用とロボット用の 2 つのサーバーを別々に実行する代わりに、HarnessAPI はすべてを単一のプロセス内で実行するため、軽量で管理が容易になります。
注意点(制限事項)
この論文は、いくつかの安全ルールについて正直に述べています。
- 「ホットスワップ」機能: サーバー実行中にコードを更新できる機能があります(テストには優れています)が、著者はこれを「キッチンへのリモコンを誰かに渡すようなもの」と警告しています。これは自宅のコンピューター(ローカルホスト)でのみ安全に使用でき、公開ウェブサイトでは決してオンにしてはいけません。そうしないと、ハッカーがサーバーを乗っ取る可能性があります。
- 複雑性: 標準的なレシピには非常に効果的に機能しますが、レシピが極めて複雑でネストされた構造を含む場合、自動翻訳機には少し助けが必要になるかもしれません。
まとめ
HarnessAPI は、開発者が二重作業をするのを防ぐツールです。「コードを 1 回書けば、残りは私たちが処理します」と宣言します。これにより、AI ツールとウェブツールが常に完璧に同期していることが保証され、時間を節約し、同じものの 2 つのバージョンを維持しようとする際に発生するエラーを防ぎます。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。