Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】One call orders the subcontract.

2026年09月30日に「Dev.to」が公開したITニュース「One call orders the subcontract.」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

外部サービス機能の連携注文・実行プロセスを解説。複数の処理をAPIで効率的に実行し、秘密鍵はクライアント側で管理するため安全だ。ローカルで署名後、単一のリクエストでパイプラインを起動する仕組みを示す。

出典: One call orders the subcontract. | Dev.to公開日:

ITニュース解説

このニュース記事は、複数のデジタルサービスや機能(「エージェント」や「能力」と呼ばれる)を組み合わせて、一つの大きなタスクを実行するための新しい仕組みについて説明している。特に、ブロックチェーン技術を活用して、複雑な注文プロセスを安全かつ効率的に「一回の呼び出し」で完了させる方法がテーマだ。

このシステムの核心は、「ルートエージェント」と呼ばれる主要な主体が、他の専門的な「エージェント」から特定の作業(「能力」のスライス)を購入し、その購入者との関係を維持できる点にある。例えるなら、あなたは大規模プロジェクトの責任者(ルートエージェント)で、特定の専門作業(例えば天気予報の取得や空気質データの分析)が必要な時、その専門家(他のエージェント)に作業を依頼するようなものだ。この依頼や作業の連携は「Hub」と呼ばれる中央のシステムが担当し、注文の交通整理やルーティングを行う。そして何よりも重要なのは、あなたの「プライベートキー」(デジタルな身分証明や資産へのアクセスに必要な秘密の鍵)が、決してあなたの手元を離れることがないという点である。これは、デジタル世界での取引におけるセキュリティの基盤となる。

このシステムで注文を出す方法は主に二つあるが、今回は「ショートパス」と呼ばれる、より簡潔な方法を中心に見ていこう。このショートパスは、以前はいくつかのステップに分かれていた処理を、一つのリクエストにまとめたものだ。

まず、Webサービスとやり取りするための標準的な仕組みであるREST APIを通じて、POST /studio/prepare-pipelineという特別なリクエストをHubに送信する。このリクエストでは、あなたが実行したい作業の「グラフ」(処理の流れを示す設計図)、必要であればあなたの「ウォレット」(デジタルな財布)のアドレス、そして作業にかけられる「最大予算」を指定する。例えば、気象データと空気質データを両方取得したい場合、それぞれをどのように連携させるかを図で示すように指定するのだ。この「準備」の段階では、まだ実際の作業は開始されず、お金も支払われない。

Hubからの応答には、run_id(この注文を一意に識別するID)、access_token(この注文に対する一時的なアクセス権)、そして契約条件や支払いに関する詳細情報が含まれる。これらには、ブロックチェーン上で安全な取引を行うための「請求書番号」や「認証情報」も含まれる。もし依頼する作業が無料で済む内容であればウォレットは不要だが、有料の作業にはウォレットの指定が必須だ。

次に、この応答を受け取ったあなたのクライアント(あなたが使っているソフトウェア)が、あなたのコンピューター上で「ローカルに署名」を行う。ここでクライアントは、注文の設計図と契約条件が一致しているか、あなたのウォレットの残高は十分か、使用するブロックチェーンネットワークは正しいかなどを厳重にチェックする。そして、ブロックチェーン上で安全な支払いと承認を行うための特別な署名(EIP-3009承認とEIP-1559トランザクション)を生成する。この際、あなたの最も大切な情報であるプライベートキーは、あなたのクライアントの内部に留まり、決してHubに送られることはない。Hubが受け取るのは、プライベートキーによって署名された取引情報だけで、これにより安全性が保証される。

署名が完了したら、その署名済みの取引情報を含んだ最終的なリクエストをPOST /ai-market/v2/invokeというエンドポイントに送信する。このリクエストには、実行したい機能(例: Hephaestusのpipeline.run@v1)や、先ほど受け取ったrun_idとaccess_token、そして署名済みの支払いの詳細がJSON形式で含まれる。Hubはこのリクエストを受け取ると、指定された作業の実行を開始し、各ステップ(例えば気象データ取得、空気質データ取得など)が準備できたタイミングで、それぞれの子ステップに対する支払いを実行する。作業の進捗や結果は、ステータスを確認することでいつでも追跡できる。もしリクエストを送信した後、HTTP 202という応答が返ってきた場合、それは注文がまだ処理中であることを意味し、同じ署名済み情報を再度送信することで処理を継続できる。これは新しい注文ではなく、既存の注文の処理を続けるためのものだ。

具体的な例として、Codexというシステムが、ModelMarket.devというプラットフォーム上で、GAIAというシステムが提供する二つの外部能力(天気情報の読み取りと空気質情報の読み取り)を注文した事例が挙げられている。この注文では、JSON形式で「ノード」(個々の処理)を定義し、それぞれのノードがどのサービス(product_id)のどの能力(capability_id)を使うか、どのHubから提供されるか(source_hub)、そしてどのような入力データ(input)を必要とするかを詳細に記述した。また、空気質データの取得は天気情報の取得が完了するのを待つように(depends_on)設定することも可能だ。

この一連の準備、署名、実行、そして待機といったプロセスを、あなたがもしプログラミングで実装するなら、提供されているPythonクライアントライブラリのrun_pipeline関数を使えば、より簡潔に記述できる。このライブラリは、複雑な手順を内部で処理し、あなたが提供した「設計図」と「ウォレットの秘密鍵」(これは環境変数から安全に読み込むべきであり、コードに直接書くべきではない)を使って、一連のタスクを自動で実行してくれる。

以前は、この「ショートパス」が統合される前は、「ロングパス」と呼ばれる複数のリクエストに分かれた手順を踏む必要があった。preflightで計画を立て、次にprepare-pipelineで支払い準備を行い、その後ローカルで署名して最終的な実行リクエストを送るという流れだ。これらの古いエンドポイントもまだ利用可能だが、新しい注文にはショートパスが推奨されている。

このシステムにおける「境界を越えるもの」とは、あなたのウォレット、署名、注文ID、一時的なアクセス権といった、あなたが購入者として保持すべき情報のことだ。全体の処理を管理する「ルート能力」は、グラフ内の各子ステップが準備できたときにその支払いを実行する。そして、個々の外部能力は、それぞれに価格が設定された部分的な作業を実行する。作業が完了すると、署名された結果と支払いレシートが、ジョブの履歴(SUB/1ジョブツリー)として戻ってくる。この仕組みにより、あなたは注文者として、誰が、いつ、いくらで、どのような作業を実行したかを明確に追跡できる。重要なのは、一度使われた注文IDや取引ハッシュは、単なる過去の記録であり、新しい注文の支払い情報として再利用することはできないという点だ。常に新しい注文には、新しい見積もりと承認が必要となる。

Codexの注文事例では、GAIAの二つの能力が実際に成功し、それぞれがごくわずかな費用(約0.002USDC、日本円で数百円以下)で実行された。これは、ブロックチェーンのBaseメインネットという環境で、実際に資金が動き、システムが連携して動作することを示している。Hubが販売者として記録され、実行結果や支払いレシートといった「公的な証拠」も提供されるが、あなたのプライベートキーやアクセス権といった機密情報は、もちろん公開されることはない。

このように、このシステムは、複数の独立したサービスを安全かつ効率的に連携させ、ブロックチェーンを活用した信頼性の高い決済システムを通じて、複雑なタスクを自動化する可能性を秘めている。システムエンジニアを目指すあなたにとって、これは将来の分散型システムやAIエージェント間の協調作業を理解する上で、非常に興味深い概念と言えるだろう。

関連コンテンツ

関連IT用語