open-multi-agent
무엇인가
open-multi-agent(OMA)는 조직이 직접 소유·승인·감사하는 에이전트 실행을 목표로 하는 TypeScript 라이브러리다. 호스팅형 에이전트 서비스 대신 애플리케이션 백엔드 안에 임베드되는 런타임 계층에 해당한다. 실행 단위는 단일 에이전트, 명시적 파이프라인, 목표에서 계획을 세우는 팀 세 가지다.
어떻게 동작하나
진입점은 `runAgent()`, `runTasks()`, `runTeam()` 세 함수다. 계획 수립, 태스크 디스패치, 도구 호출 게이트는 `suspend`를 반환할 수 있다. 이때 승인 요청은 체크포인트 옆에 저장되고 검토자가 본 내용의 SHA-256 해시에 묶인다. 재시작 후 실행은 그 내용을 기준으로 재개된다. 결정은 원자적이며 먼저 도착한 결정이 이긴다. 요청이 변조되었거나 저장소가 compare-and-set을 지원하지 않으면 실패 폐쇄로 처리된다. 저널 백엔드를 붙이면 모델이 본 모든 블록, 모든 도구 호출과 결과, 모든 컨텍스트 재작성이 기록된다. `verifyRun()`은 이 기록을 오프라인에서 다시 읽고 각 블록의 출처 이벤트가 그 블록을 바이트 단위로 재현하는지 검사한다.
무엇과 다른가
호스팅 제어 평면과 계정이 없고 분석·라이선스·업데이트·전화 홈 요청을 보내지 않는다. 모델 연결은 Anthropic, OpenAI, Azure OpenAI, Bedrock, Gemini, Grok, Copilot과 DeepSeek, Doubao, Hunyuan, MiniMax, MiMo, Qiniu를 내장 어댑터로 다루며, Ollama·vLLM·llama-server는 `baseURL`로 붙인다. OpenAI 호환 엔드포인트와 Vercel AI SDK 프로바이더도 대상이다. 송신 정책은 `offline` 또는 `allowlist`이며 내장 어댑터가 연결하기 전에 검사된다. 자식 정책은 부모보다 느슨해질 수 없고, 강제할 수 없는 트랜스포트는 실패 폐쇄한다. `governanceIntent: 'required'`와 `requiredRoles`를 선언하면 실행은 실행 영수증으로 판정된다. 어떤 역할이 어떤 순서로 실행되었는지, 의존 엣지가 무엇인지, 독립 리뷰가 있었는지가 평가 대상이고 평가자는 에이전트 출력 텍스트를 보지 않는다.
어떻게 쓰나
스캐폴드 명령 한 번이 스타터와 런타임을 고르고 의존성을 설치한 뒤 결정적 로컬 데모를 실행한다. 이 데모는 API 키 없이 스크립트된 모델 응답으로 실제 스케줄러, 결과 집계, 오프라인 대시보드를 구동한다. 기존 백엔드에 추가할 때는 패키지를 설치하고 `runAgent()`·`runTasks()`·`runTeam()`을 호출하며, 호스팅 모델을 쓰려면 `OPENAI_API_KEY` 같은 자격 증명을 설정한다. 로컬 서버는 `baseURL`로 지정한다.
전제와 한계
Node.js 20 이상이 필요하고 프로덕션에서는 유지보수 중인 LTS 릴리스를 쓴다. Node.js 20은 업스트림 EOL이며 다음 메이저 릴리스에서 제거되고, 그 시점은 2026-10-31보다 이르지 않다. `verifyRun()`은 계보와 내용을 증명할 뿐 파일이 편집되지 않았음을 증명하지 않는다. 축출된 컨텍스트 윈도는 실패가 아니라 판정 불가로 보고된다. 송신 정책은 process 백엔드와 ACP 백엔드에는 적용되지 않는다. 거버넌스 실행은 성공으로 끝나면서도 `unsatisfied`를 보고할 수 있다.
관련 논문 2
유사 도구
- maka모든 모델 메시지·도구 호출·권한 결정을 append-only RuntimeEvent 로그로 남기는 에이전트 워크스페이스다. 데스크톱·TUI·CLI가 하나의 런타임을 공유한다.
- lobehub여러 AI 에이전트를 고용·스케줄·보고 단위로 묶어 7×24로 운영하는 셀프호스팅 오케스트레이션 플랫폼이다. 에이전트를 작업 단위로 다룬다.
- gentle-shellPi 위에서 동작하는 터미널 코딩 에이전트 워크스페이스다. ODD/SDD 워크플로, 서브에이전트 오케스트레이션, TDD 증거 기록, 리뷰 가드레일을 한 화면에 묶는다.
- deepseek-harness모든 기능을 플러그인으로 조립하는 DeepSeek AI의 오픈소스 에이전트 하네스다. Cordis 런타임 기반이며 CLI에서 로컬 웹 UI를 띄운다.
- nanobot파이썬으로 작성된 초경량 자체 호스팅 개인 AI 에이전트 런타임이다. WebUI·터미널·메신저에서 돌며 도구, 장기 기억, MCP, 예약 자동화를 하나의 코어에 묶는다.
- n8n노드 캔버스와 코드를 결합해 워크플로와 AI 에이전트를 만들고, 자체 호스팅 또는 클라우드에서 실행하는 TypeScript 기반 자동화 플랫폼이다.