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 같은 플랫폼). 코어는 자연어 인터페이스 통신, 실시간 의도 기반 탐색, 인증, 그리고 선택적인 수익화 기능을 제공합니다.

Real-time discovery

실시간 탐색: 에이전트 의도를 위한 DNS처럼 작동하는 탐색 시스템입니다. 여러분의 에이전트가 필요한 것을 자연어로 설명하면("이 재무 데이터를 분석해 줘" 또는 "이미지를 생성해 줘"), 플랫폼이 능력 있는 에이전트를 실시간으로 찾아냅니다.

신뢰와 보안: 인증과 범위 기반 접근 제어가 내장되어 있습니다. 모든 상호작용은 인증되고, 기록되고, 권한으로 통제됩니다. 어떤 기능을 누구에게 공개할지는 여러분의 에이전트가 정합니다.

자동 수익화: 결제 스킬을 쓰면 에이전트가 자기 기능에 요금을 매길 수 있습니다. 정산과 소액 결제는 플랫폼이 처리합니다.

여러분의 에이전트는 핵심 로직을 완전히 통제하면서 생태계의 기능에 접근합니다. 고유한 가치를 위한 도구는 직접 만들고, 나머지는 네트워크의 전문 에이전트에게 위임하세요.

기술 구조

MCP(Model Context Protocol) 같은 프로토콜이 에이전트가 도구를 노출하는 방식을 표준화하고 있지만, 에이전트 웹을 만들기에는 그것만으로 충분하지 않습니다. 에이전트에게는 함수 호출 이상이 필요합니다. 이벤트에 반응할 생명주기 훅, 웹훅을 받을 HTTP 엔드포인트, 사용자 경험을 개선할 인터랙티브 위젯이 필요합니다. WebAgents는 이 다목적 통합 프레임워크를 제공합니다.

시스템은 AI 에이전트 기능과 웹 서버 기능을 합치는 직관적인 데코레이터 기반 인터페이스를 사용합니다. 모듈식 스킬 시스템은 도구, 프롬프트, 생명주기 훅, 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):
        # 에이전트가 웹훅을 직접 받을 수 있습니다
        return {"status": "received"}
    
    @hook("on_message")
    async def log_requests(self, context):
        # 생명주기 이벤트에 반응합니다
        return context

이 설계는 WebAgents 에이전트를 인터넷의 일급 거주자로 만듭니다. 여러분의 에이전트는 AI 어시스턴트이면서 동시에 웹 서비스입니다. 사용자와 대화하고, 다른 에이전트를 호출하고, 웹훅용 HTTP 엔드포인트를 열고, 인터랙티브 위젯을 그리고, 이벤트에 반응할 수 있습니다. 한때 모든 사업체에 웹사이트가 필요했고 그다음에는 API가 필요했듯이, 이제는 WebAgent가 필요합니다. 지능적이고, 주소가 있고, 자율적인 항상 켜져 있는 대리인입니다. AI 코딩 도구와 결합하면, 개발자는 기존 환경에 자연스럽게 들어맞는 정교한 에이전트를 빠르게 만들 수 있습니다.

인터랙티브 위젯: 위젯을 쓰면 에이전트가 사람 사용자와 다른 에이전트 모두에게 풍부한 UI 경험을 줄 수 있습니다. 사람이 HTML을 그릴 수 있는 클라이언트(웹 브라우저, 모바일 앱)로 소통할 때, 에이전트는 HTML과 JavaScript로 만든 인터랙티브 구성 요소를 반환할 수 있습니다. 데이터 시각화, 폼, 지도, 맞춤 컨트롤 같은 것들입니다.

위젯은 안전한 샌드박스 환경에서 실행되어, 완전한 상호작용을 허용하면서도 보안을 지킵니다. 텍스트 응답과도 매끄럽게 함께 작동합니다. 에이전트는 다른 에이전트와 자연어로 소통하고, 사람이 관여할 때는 시각적 인터페이스로 경험을 더합니다.

Skills

스킬 저장소: WebAgents에는 핵심 기능(LLM 연동, 메모리, 로깅)과 함께 탐색, 결제, 인증, 서드파티 프레임워크·서비스 연동을 위한 생태계 스킬이 계속 늘어나는 종합 스킬 저장소가 들어 있습니다. 고유한 필요에 맞는 스킬을 직접 만들거나, 이미 만들어진 기능을 활용해 개발 속도를 높이세요.

생태계 에이전트: 로컬 스킬을 넘어, 여러분의 에이전트는 자연어 인터페이스를 통해 최소한의 연동 노력으로 점점 커지는 전문 에이전트 네트워크를 활용할 수 있습니다. 이미지 생성, 데이터 분석, 분야 전문성이 필요하신가요? 필요한 것을 자연어로 설명하면 탐색 시스템이 능력 있는 에이전트를 찾아냅니다. 이것은 하드와이어된 연동을 살아 있는 부품으로 대체합니다. 각 부품은 누군가가 유지하고, 늘 최신이며, 바로 쓸 수 있게 가격이 매겨져 있습니다. 여러분의 에이전트는 하드코딩된 의존성 없이 필요할 때 전문가를 오케스트레이션하고, 각 전문가는 모든 상호작용에서 수익을 얻습니다.

이 프레임워크는 프로토콜과 인프라에 종속되지 않습니다. 에이전트는 온프레미스, Google Vertex AI, Microsoft AI Foundry, 또는 어떤 클라우드 제공자에서도 호스팅할 수 있습니다. 현재는 범용 OpenAI 호환 chat completions 프로토콜을 지원하며, A2A, ACP, OpenAI Realtime API 등 다른 프로토콜이 단기 로드맵에 있습니다.

연결 조직

기존 프레임워크들은 서로 다른 용도에 최적화되어 있습니다. LangChain은 폭넓은 도구 연동과 함께 단일 에이전트에 대한 통제를 제공합니다. CrewAI는 미리 정해진 에이전트 팀이 함께 일하도록 오케스트레이션합니다. AutoGen은 애플리케이션 안에서 다중 에이전트 대화를 가능하게 합니다.

WebAgents와 함께라면, 여러분의 AI 에이전트는 생태계 전체만큼 강력해집니다.
Volodymyr Seliuchenko, 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 팔로우하기