메뉴
HN
Hacker News • 29일 전

사용량을 더 나은 모델로 바꾸는 오픈소스 OpenRouter 대안 공개

IMP
6/10
핵심 요약

Experiential Labs가 에이전트 워크플로우용 오픈소스 게이트웨이·라우터를 공개했습니다. 호스티드, BYOK(자체 키), 로컬 모델을 하나의 OpenAI 호환 API로 사용할 수 있고, 사용자·에이전트별 모델 접근과 예산을 통제할 수 있습니다. 특히 프로덕션 트래픽(트레이스)을 수집해 커스텀 라우터를 최적화하거나 Tinker로 오픈소스 모델을 파인튜닝하는 것이 핵심 차별점입니다.

번역된 본문

Experiential은 에이전트 워크플로우를 위한 오픈소스 게이트웨이이자 라우터입니다. 호스티드 모델, BYOK(자체 API 키 사용), 로컬 모델을 하나의 OpenAI 호환 API로 함께 사용할 수 있습니다. 어떤 사용자와 에이전트가 어떤 모델을, 어떤 용도로, 얼마나 지출할 수 있는지 통제할 수 있습니다. 또한 프로덕션 트래픽을 활용해 품질·속도·비용에 최적화된 커스텀 라우터나 모델로 발전시킬 수 있습니다.

🌐 플랫폼 | 📚 문서 | Discord

시작하기 로컬에서 OpenAI 호환 게이트웨이를 시작합니다. 첫 실행 시 설정 마법사가 공유된 프로바이더·모델·추론 강도(reasoning-effort) 선택기를 사용하며, 선택한 모든 프로바이더 연결을 저장한 뒤 공개 별칭, 신원, $50.00 커맨드 예산 기본값을 보여주고 일회성 키를 발급합니다:

pip install experiential exp

opus-5 같은 공개 별칭을 정하고, 발급된 키를 받아 요청을 보냅니다:

export EXP_GATEWAY_KEY=... curl http://127.0.0.1:8000/v1/chat/completions
-H "Authorization: Bearer $EXP_GATEWAY_KEY"
-H 'Content-Type: application/json'
-d '{"model":"opus-5","messages":[{"role":"user","content":"Help me"}]}'

호스티드 게이트웨이로 시작하기 로컬 실행 대신 관리형 게이트웨이를 선호한다면, platform.experientiallabs.ai의 호스티드 플랫폼이 동일한 OpenAI 호환(및 Anthropic Messages) API를 https://api.experientiallabs.ai/v1 에서 제공합니다. SETUP.md에는 코딩 에이전트(Claude Code, Cursor, Codex 등)에 전달할 수 있는 복사-붙여넣기 프롬프트가 있어, 에이전트가 설정을 대신 실행해 줍니다. 다음 네 가지 프롬프트를 다룹니다:

  1. LLM 트레이스를 텔레메트리로 업로드: 이메일로 즉시 계정을 만들고, 기존 LLM 트레이스를 플랫폼에 텔레메트리로 가져오거나 업로드합니다.
  2. 추론 프로바이더 키 연결(BYOK): 계정을 만들고 자신의 OpenAI, Anthropic, Gemini, Azure, Bedrock, Fireworks, OpenRouter 키를 연결하면 무료로 패스스루됩니다.
  3. 게이트웨이에서 모델 호출 시작: xpl_ 키로 OpenAI·Anthropic SDK를 사용해 첫 /v1 호출을 하고, 원한다면 기존 코딩 에이전트를 게이트웨이로 재연결합니다.
  4. 전체 온보딩: 이메일로 계정 생성, 키 연결, 지출 내역 가져오기, 그리고 모든 코딩 에이전트(Claude Code, Cursor, Codex, Aider 등)나 Conductor를 게이트웨이로 재연결합니다.

API 사용하기 exp(또는 exp run)로 로컬 게이트웨이를 시작하면, 컴파일된 네이티브 데이터 플레인이 루프백에서 모든 라우트를 서빙합니다. Python에서는 학습된 프로젝트 라우터를 자체 프라이빗 게이트웨이가 뒷받침하는 공식 OpenAI 클라이언트로 로드할 수 있습니다:

import exp

with exp.load_router("my-project") as client: response = client.chat.completions.create( model="my-project", messages=[{"role": "user", "content": "hello"}], )

트래픽으로 최적화하기 먼저 현재 에이전트에서 OpenTelemetry 트레이스를 수집합니다. 가볍게 체험해보고 싶다면 공개된 terminal-tasks OTLP 데이터셋을 받으세요:

curl -L -o traces.otel.jsonl
https://huggingface.co/datasets/experiential-labs/wmo-terminal-tasks-traces/resolve/540883e451dc13d34fb50fdd36b143cb0f1fb0db/traces.otel.jsonl

그다음 프로젝트를 빌드합니다. build 커맨드가 프로바이더, 모델, 예산을 안내하고 트레이스 파일을 요청합니다:

에이전트 트레이스로 시뮬레이션을 빌드하고 라우터를 최적화

exp build support-agent

라우터에서 트레이스를 수집한 후에는 Tinker를 사용해 자신이 소유한 오픈소스 모델을 파인튜닝할 수 있습니다:

exp optimize model support-agent

텔레메트리 익명 집계 PostHog 제품 텔레메트리가 기본 활성화되어 있습니다. 프롬프트, 트레이스, 액션, 관찰, 경로, 모델명, 자격증명, 원본 고객 콘텐츠는 절대 포함되지 않습니다.

exp config telemetry status exp config telemetry disable exp config telemetry enable

설정은 .exp/settings.toml에 로컬로 저장됩니다.

개발 uv sync --extra dev uv run ruff format --check . uv run ruff check . uv run ty check uv run pytest -q

리포지토리 및 문서 규칙은 AGENTS.md에 있습니다.

원문 보기
원문 보기 (영어)
Experiential Experiential is an open source gateway and router for agent workflows: Use hosted, BYOK, and local models through one OpenAI-compatible API. Control which users and agents can use which models, for which use cases, and how much they can spend. Turn production traffic into a custom router or model optimized for quality, speed, and cost. 🌐 Platform | 📚 Docs | Discord Getting Started Start a local OpenAI-compatible gateway. On first run, the setup wizard uses the shared provider, model, and reasoning-effort selectors, persists every selected provider connection, then shows defaults for the public alias, identity, and $50.00 command budget before printing a one-time key: pip install experiential exp Choose a public alias such as opus-5 , capture the issued key, and send a request: export EXP_GATEWAY_KEY=... curl http://127.0.0.1:8000/v1/chat/completions \ -H " Authorization: Bearer $EXP_GATEWAY_KEY " \ -H ' Content-Type: application/json ' \ -d ' {"model":"opus-5","messages":[{"role":"user","content":"Help me"}]} ' Setup / get started with the hosted gateway Prefer a managed gateway to running one locally? The hosted platform at platform.experientiallabs.ai serves the same OpenAI-compatible (and Anthropic Messages) API at https://api.experientiallabs.ai/v1 . See SETUP.md for copy-paste prompts you hand to your coding agent (Claude Code, Cursor, Codex, and similar); the agent runs the setup for you. It collects four prompts: Upload your LLM traces as telemetry: create an account instantly from your email, then pull or upload your existing LLM traces onto the platform as telemetry. Connect your inference provider keys (BYOK): create an account, then connect your own OpenAI, Anthropic, Gemini, Azure, Bedrock, Fireworks, or OpenRouter keys for free pass-through. Start calling models on the gateway: make your first /v1 call with the OpenAI and Anthropic SDKs using an xpl_ key, and optionally repoint your existing coding agents. Full onboarding: create an account instantly from your email, connect your keys, import your spend, then repoint every coding agent (Claude Code, Cursor, Codex, Aider, and similar) or Conductor at the gateway. Using the API Start the local gateway with exp (or exp run ); the compiled native data plane serves every route on loopback. From Python, load a fitted project router as an official OpenAI client backed by its own private gateway: import exp with exp . load_router ( "my-project" ) as client : response = client . chat . completions . create ( model = "my-project" , messages = [{ "role" : "user" , "content" : "hello" }], ) Optimize from Traffic First, collect OpenTelemetry traces from your current agent. If you just want to try it out, grab the public terminal-tasks OTLP dataset : curl -L -o traces.otel.jsonl \ https://huggingface.co/datasets/experiential-labs/wmo-terminal-tasks-traces/resolve/540883e451dc13d34fb50fdd36b143cb0f1fb0db/traces.otel.jsonl Then build a project. The build command walks you through providers, models, and budget, and asks for your trace file: # Build simulation from your agent traces and optimize a router against it exp build support-agent After collecting traces from your router, fine-tune an open source model you own using Tinker . exp optimize model support-agent Telemetry Anonymous aggregate PostHog product telemetry is enabled by default. It never includes prompts, traces, actions, observations, paths, model names, credentials, or raw customer content. exp config telemetry status exp config telemetry disable exp config telemetry enable The preference is stored locally in .exp/settings.toml . Development uv sync --extra dev uv run ruff format --check . uv run ruff check . uv run ty check uv run pytest -q Repository and documentation conventions live in AGENTS.md .