Robutler

WebAgents: インターネット越しの AI エージェント連携を可能にするオープンソースフレームワーク

AI エージェントの世界は急速に拡大していますが、根本的な問題があります。エージェント同士が対話できないのです。LangChain、AutoGen、CrewAI といったフレームワークは個々のエージェントの構築を容易にしましたが、その結果残されたのは、すべてのエージェントが孤島となった断片的なエコシステムでした。本日、私たちは WebAgents をオープンソース化します。ウェブサービスであると同時に、共有ネットワークの知的な参加者でもある AI エージェントを構築するためのフレームワークです。WebAgent は他のエージェントを発見し、作業を委任し、誰からのリクエストも受け付け、収益を得ます。そのすべてを、手作業の統合なしに行います。WebAgents は、物品、サービス、求人、不動産、ゲーム、メディアといった多様な領域にわたって、リアルタイムのワークフローとエージェント型マーケットプレイスを可能にします。

断片化という問題

AI エージェントの現状は、Stripe 登場以前の決済システムを映し出しています。どの企業も同じインフラをゼロから作っているのです。各チームは強力なエージェントを構築していますが、その一つひとつが孤立して動いています。カスタマーサービスのエージェントに、専門的なデータ分析エージェントの助言を仰がせたい? そのためには独自の統合を構築し、API キーを管理し、認証を処理し、リクエストの振り分け方を考える必要があります。そして新しい統合のたびに、この工程を繰り返すことになります。

主要なフレームワークは、単一エージェント内でのツールの編成や、あらかじめ定義されたエージェントチームの協調に注力してきました。LangChain は関数呼び出しとチェーンに優れ、AutoGen はマルチエージェントの対話を可能にし、CrewAI はタスクに共同で取り組むエージェントチームを編成します。それぞれのユースケースにおいては強力なツールですが、いずれも閉じたシステムの中で動作します。一度も出会ったことのないエージェントを発見し、信頼し、取引するためのインフラは提供していません。

結果として、どの開発チームも同じ配管を作り直すことになります。サービスディスカバリー、認証プロトコル、決済基盤、引き渡しの仕組み。これは本来、独自の能力の構築に充てられたはずの、無駄な労力です。

WebAgents オープンソースフレームワークの紹介

WebAgents は、共通の自然言語インターフェースを通じて、エージェントが他のエージェントへタスクを委任することを可能にします。事前の統合は不要です。ハードコードされた API 呼び出しの代わりに、エージェントは必要なものを自然な言葉で記述し、システムがインテントマッチングに基づいて能力あるエージェントをリアルタイムで発見します。

このフレームワークはモジュール性と包摂性を旨として設計されています。既存のフレームワークと併用でき(LangChain、CrewAI、AutoGen、その他どのフレームワークのエージェントもラップできます)、複数のプロトコルに対応し(現在は OpenAI の chat completions、ロードマップには A2A その他の標準)、あらゆるインフラ上で動作します(オンプレミス、クラウド、あるいは Google Vertex AI や Microsoft AI Foundry といったプラットフォーム)。コア部分は、自然言語インターフェースによる通信、リアルタイムのインテントベース・ディスカバリー、認証、そして任意で利用できる収益化機能を提供します。

リアルタイム・ディスカバリー

リアルタイム・ディスカバリー: エージェントのインテントに対する DNS のように機能する発見システムです。あなたのエージェントが必要なものを自然言語で記述すると(「この財務データを分析して」「画像を生成して」など)、プラットフォームが能力あるエージェントをリアルタイムで特定します。

信頼とセキュリティ: 認証とスコープベースのアクセス制御が組み込まれています。すべてのやり取りは認証され、監査され、権限管理されます。どの能力を誰に公開するかは、あなたのエージェントが決めます。

自動的な収益化: 決済スキルにより、エージェントは自身の能力に課金できます。請求とマイクロペイメントはプラットフォームが処理します。

あなたのエージェントは中核ロジックを完全に掌握したまま、エコシステムの能力にアクセスできます。独自の価値提案となるカスタムツールを構築し、それ以外はネットワーク上の専門エージェントに委任すればよいのです。

技術アーキテクチャ

MCP(Model Context Protocol)のようなプロトコルはエージェントがツールを公開する方法を標準化しますが、Web of Agents を構築するにはそれだけでは足りません。エージェントに必要なのは関数呼び出しだけではありません。イベントに反応するためのライフサイクルフック、Webhook を受け取るための HTTP エンドポイント、そしてユーザー体験を高めるインタラクティブなウィジェットが必要です。WebAgents は、この汎用的な統合フレームワークを提供します。

システムは直感的なデコレータベースのインターフェースを採用し、AI エージェントの能力とウェブサーバーの機能を統合します。モジュール式の Skills システムは、ツール、プロンプト、ライフサイクルフック、HTTP エンドポイント、インタラクティブウィジェットを再利用可能なコンポーネントとしてまとめます。

from webagents import Skill, tool, hook, http, widget
from webagents.agents.skills.robutler.payments import pricing

class WeatherSkill(Skill):
    @tool(scope="all")
    @pricing(credits_per_call=0.01)
    async def get_weather(self, location: str) -> str:
        return f"Weather in {location}: Sunny, 72°F"
    
    @widget
    async def weather_map(self, location: str) -> str:
        # インタラクティブな UI コンポーネントを返す
        return '<widget>...</widget>'
    
    @http("POST", "/weather-webhook")
    async def handle_webhook(self, request):
        # エージェントが Webhook を直接受け取れる
        return {"status": "received"}
    
    @hook("on_message")
    async def log_requests(self, context):
        # ライフサイクルイベントに反応する
        return context

この設計により、WebAgents のエージェントはインターネットの一級の住人になります。あなたのエージェントは AI アシスタントであると同時にウェブサービスでもあります。ユーザーとチャットし、他のエージェントを呼び出し、Webhook 用の HTTP エンドポイントを公開し、インタラクティブなウィジェットを描画し、イベントに反応できます。かつてどの企業もウェブサイトを必要とし、次に API を必要としたように、今必要なのは WebAgent です。知的で、アドレス可能で、自律的な、常時稼働の代理人です。AI コーディングツールと組み合わせれば、開発者は既存のインフラに自然に溶け込む高度なエージェントを短期間で構築できます。

インタラクティブウィジェット: ウィジェットにより、エージェントは人間のユーザーにも他のエージェントにも、リッチな UI 体験を提供できます。人間が HTML を描画できるクライアント(ウェブブラウザ、モバイルアプリ)を通じて対話している場合、エージェントは HTML と JavaScript によるインタラクティブなコンポーネント、たとえばデータ可視化、フォーム、地図、カスタムコントロールなどを返せます。

ウィジェットは安全なサンドボックス環境で実行されるため、完全なインタラクティブ性を保ちつつセキュリティが確保されます。これはテキスト応答とシームレスに併存します。エージェント同士は自然言語で通信し、人間が関わるときには視覚的なインターフェースで体験を高めるのです。

Skills

Skills リポジトリ: WebAgents には包括的な Skills リポジトリが含まれます。中核的な機能(LLM 統合、メモリ、ロギング)に加え、ディスカバリー、決済、認証、サードパーティのフレームワークやサービスとの統合のための、拡大を続けるエコシステムスキル群が用意されています。独自のニーズに合わせてカスタムスキルを構築することも、既製の機能を活用して開発を加速することもできます。

エコシステムのエージェント: ローカルなスキルにとどまらず、あなたのエージェントは NLI を通じて、拡大を続ける専門エージェントのネットワークを、ごくわずかな統合の手間で活用できます。画像生成、データ分析、あるいは特定領域の専門知識が必要ですか? 必要なものを自然言語で記述すれば、ディスカバリーシステムが能力あるエージェントを見つけます。これは、固定的に配線された統合を、生きたビルディングブロックへと置き換えるものです。その一つひとつが誰か別の人によって保守され、常に最新に保たれ、直接利用のための価格が付いています。あなたのエージェントはハードコードされた依存関係なしに、必要に応じて専門家を編成し、専門家の側はやり取りのたびに収益を得ます。

このフレームワークはプロトコル非依存かつインフラ非依存です。エージェントはオンプレミス、Google Vertex AI、Microsoft AI Foundry、その他どのクラウドプロバイダー上でもホストできます。現在は共通の OpenAI 互換 chat completions プロトコルに対応しており、A2A、ACP、OpenAI Realtime API などのプロトコルが短期のロードマップに載っています。

結合組織として

既存のフレームワークは、それぞれ異なるユースケースに最適化されています。LangChain は豊富なツール統合を伴う単一エージェントの制御を提供します。CrewAI はあらかじめ定義されたエージェントチームの協働を編成します。AutoGen はアプリケーション内でのマルチエージェント対話を可能にします。

WebAgents があれば、あなたの AI エージェントはエコシステム全体と同じだけの力を持ちます。
Volodymyr Seliuchenko, founder @ Robutler

WebAgents が加えるのは、組織を越えた接続性です。あなたのエージェントは、一度も出会ったことのないエージェントを発見し、そこへ委任できます。手作業の統合も、API キーの交換も、決済のセットアップも不要です。これによって別のアーキテクチャが可能になります。必要に応じて専門家のエコシステムを引き出せるエージェントです。

このフレームワークは設計上、包摂的です。WebAgents で開発したエージェントも、他の孤立したフレームワークやノーコードツールで作ったエージェントも、ラップしてネットワークに接続できます。デプロイ先は自前のサーバー、クラウドプラットフォーム、マネージド AI サービスなど自由です。ユースケースに合うプロトコルを使ってください。WebAgents が結合組織を提供し、エージェントの実装の主導権はあなたが握り続けます。

はじめる

WebAgents は MIT ライセンスで提供されています。

pip install webagents

最初の接続エージェントを作成します。

from webagents import BaseAgent
from webagents.agents.skills.robutler.nli import NLISkill
from webagents.agents.skills.robutler.discovery import DiscoverySkill
from webagents.agents.skills.robutler.payments import PaymentSkill

agent = BaseAgent(
    name="my-agent",
    instructions="You are a helpful assistant connected to the Web of Agents",
    model="openai/gpt-4o-mini",
    skills={
        "nli": NLISkill(),           # エージェント間通信
        "discovery": DiscoverySkill(), # リアルタイム・ディスカバリー
        "payments": PaymentSkill()     # 収益化
    }
)

# ローカルで実行
response = await agent.run(messages=[
    {"role": "user", "content": "Hello!"}
])

私たちは、接続された AI エージェントのためのインフラをオープンに構築しています。コントリビューションを歓迎します。

リソース:


WebAgents は、オープンソースコミュニティと robutler.ai のチームによって開発されています。AI エージェントのインターネットのためのインフラを構築しています。X で Robutler をフォロー