jonwiggins/optio

Workflow orchestration for AI agent swarms.

Optio – 셀프 호스팅 AI 에이전트 오케스트레이션 플랫폼

개요 – Optio는 AI 기반 에이전트(Claude Code, OpenAI Codex, GitHub Copilot, Gemini 등)를 자체 Kubernetes 클러스터나 개발자의 노트북에서 세션으로 실행할 수 있게 해주는 오픈 소스 컨트롤 플레인입니다. 세션은 5가지 간단한 속성(언제, 어디서, 누가, 무엇을, 그 다음은)으로 정의되며, "티켓을 병합된 PR로 전환"하는 일회성 워크플로우부터 메시지 기반의 장기 실행 에이전트 스웜까지 무엇이든 가능합니다.

중요성 – 대부분의 상용 "AI 에이전트" 서비스는 SaaS 전용이며, 단일 모델에 종속되고 소스 코드와 보안 정보를 타사 클라우드에 전송해야 합니다. Optio는 오케스트레이션 계층을 귀하의 인프라 내부에 배치하여 모든 에이전트 작업을 예약, 트리거 및 모니터링할 수 있는 단일 UI/API를 제공하며, 신뢰하는 모든 공급업체 모델을 자유롭게 조합하여 사용할 수 있게 합니다.

핵심 개념

개념 설명
Session 단일 양식을 통해 생성되는 지속 가능하고 관찰 가능한 작업 단위. 양식은 When(트리거), Where(K8s 포드 또는 로컬 머신), Who(모델/런타임), What(프롬프트 또는 템플릿), Then(종료, 대기 또는 지속)을 캡처합니다.
Feed 모든 세션은 통합된 상태 척도(needs-you → running → queued → … → done/failed)를 가진 단일 시계열 피드에 표시됩니다.
Reconciliation control plane 고정된 세계 스냅샷을 기반으로 각 세션의 다음 상태를 결정하는 Kubernetes 스타일의 루프. compare-and-swap을 사용하여 변경 사항을 적용함으로써 실행이 멈추지 않도록 보장합니다.
Persistent agents & swarms 턴 간에 상태를 유지하고, 받은 편지함이 있으며, 내부 HTTP API를 통해 서로 메시지를 보낼 수 있는 명명된 에이전트. 디스패처-전문가 패턴에 유용합니다.
Connections (MCP) 시작 시 포드에 주입되는 사전 구성된 통합(Notion, Slack, Linear, GitHub, PostgreSQL, Sentry, 사용자 지정 HTTP API 등). 에이전트에게 외부 도구에 대한 안전하고 범위가 제한된 액세스 권한을 부여합니다.

지금 바로 할 수 있는 작업

  • Ticket → merged PR – GitHub/Linear/Jira 이슈를 할당하면 Optio가 리포지토리 포드를 프로비저닝하고, 선택한 모델을 실행하며, PR을 열고, CI를 모니터링하고, 검토 에이전트를 실행한 후 성공 시 자동으로 병합합니다.
  • Scheduled / webhook jobs – 야간 종속성 감사, PagerDuty 분류, 주간 Slack 보고서, DB-to-Notion 쿼리 등 모든 작업이 cron 또는 수신 webhook에 의해 구동됩니다.
  • Recurring blueprints – 세션을 블루프린트로 저장하고 각 트리거 페이로드에서 자동으로 실행합니다.
  • Local automations – GitHub 검토 요청이나 Slack 멘션과 같은 이벤트에 대해 개발자 워크스테이션에서(자신의 CLI 로그인 사용) 에이전트를 실행합니다. 보안 정보는 머신을 절대 떠나지 않습니다.
  • Interactive terminals – 브라우저나 iOS 앱에서 모델 기반 터미널을 열어 실시간 로그를 확인하고, 모델이 입력을 기다릴 때 "needs-you" 알림을 받습니다.
  • Agent swarms – 작업을 전문가 에이전트로 라우팅하는 디스패처 에이전트를 배포합니다. 각 에이전트는 자체 포드 수명 주기 모드(always-on, sticky, on-demand)로 실행됩니다.
  • Cost & usage tracking – 세션별 토큰 사용량, 모델별 제한, 일일 비용 내역이 UI에 표시됩니다.

아키텍처 개요

  • Control plane – 5가지 속성을 구체적인 런타임(리포지토리 포드, 풀링된 포드 또는 로컬 터미널)에 매핑하는 순수 결정 함수(deriveKind). 상태 변경은 CAS 업데이트와 주기적인 재동기화를 수행하는 K8s 스타일의 조정기를 통해 흐릅니다.
  • Pod-per-repo model – 리포지토리당 하나의 장기 실행 포드가 git 작업 트리를 유지합니다. 여러 세션이 동일한 클론을 공유하여 시작 시간을 단축하고 도구를 캐싱합니다.
  • Job pods – 리포지토리가 필요 없는 세션(감사, 보고서 등)을 위한 공유 풀 포드.
  • Local daemonoptio local은 워크스테이션에서 경량 데몬을 실행하여 서버에 WebSocket을 노출함으로써 트리거가 터미널 기반 에이전트를 시작할 수 있게 합니다.
  • Persistence – PostgreSQL은 세션 메타데이터, 비용 원장, RBAC 정의를 저장하며, Redis는 단기 큐와 에이전트 받은 편지함에 사용됩니다.
  • Security – AES-256-GCM 암호화, OIDC/OAuth 및 GitHub-App 인증, Kubernetes RBAC 강제 적용, 선택적 양자 내성 TLS.

Optio를 고려해야 할 대상

  • 코드나 데이터를 외부 SaaS로 보낼 수 없는 조직(금융, 의료, 정부, 국방).
  • 프롬프트, 정책, 연결을 개발자에게 노출하기 위한 단일 내부 "AI 도구" 계층을 원하는 플랫폼 팀.
  • 이미 Kubernetes를 실행 중이며 도입이 쉬운 Helm 차트를 찾는 팀.
  • 여러 LLM 공급업체를 평가 중이거나 다중 에이전트 시스템을 구축 중인 기업.
  • 노트북, 클러스터, 모바일 기기에서 동일한 에이전트 경험을 원하는 개발자.

시작하기

  1. Install – 제공된 Helm 차트를 통해 배포합니다(K8s 클러스터, Postgres, Redis 필요). 선택적으로 워크스테이션에서 optio local을 실행합니다.
  2. Configure connections – GitHub, Slack, Notion 등의 자격 증명을 한 번 추가합니다.
  3. Create a session – Web UI 또는 CLI를 사용하여 단일 양식(When/Where/Who/What/Then)을 작성합니다.
  4. Watch – 피드에는 실시간 로그, 비용, 상태가 표시됩니다. 대화형 세션은 브라우저나 iOS 앱에서 언제든지 이어받을 수 있습니다.

TL;DR – Optio는 AI 에이전트 워크로드(PR 봇, 예약된 작업, 대화형 터미널, 지속적인 스웜)를 자체 Kubernetes 클러스터나 노트북에서 실행, 예약 및 모니터링할 수 있는 오픈 소스 셀프 호스팅 플랫폼으로, 코드, 보안 정보 및 모델 선택권을 완전히 제어할 수 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트