CLI 기반 AI 코딩 에이전트 런타임 Octomind
요약
Octomind는 CLI 기반의 오픈 소스 AI 에이전트 런타임으로, 단순 채팅을 넘어 파일 읽기/쓰기, 셸 실행 등 자율적인 작업을 수행하도록 설계되었습니다. 하나의 바이너리로 여러 모델 제공업체를 지원하며, 대화형, 파이프, 데몬 등 다양한 인터페이스를 통해 통합됩니다.
핵심 포인트
- CLI 기반으로 어디서든 작동하는 AI 에이전트 런타임입니다.
- 파일 I/O, 셸 실행 등 실제 작업을 수행할 수 있습니다.
- 대화형, 파이프, WebSocket 등 다중 진입점을 지원합니다.
- TOML 형식으로 설정되어 프레임워크 코드가 필요 없습니다.
CLI 우선의 AI 코딩 에이전트 런타임.
파이프하거나, 스케줄링하거나, 임베드할 수 있습니다. 하나의 바이너리로 여러 모델 제공업체를 지원하며, MCP 네이티브로 구축되어 단순한 채팅을 넘어 자율적인 작업을 수행하도록 설계되었습니다.
Octomind는 오픈 소스 AI 에이전트 클라이언트입니다. 이 클라이언트는 model이 MCP 도구를 호출하여 실제 작업(파일 읽기 및 쓰기, 셸 실행, 코드 검색, 하위 에이전트 위임 등)을 수행합니다. 동일한 런타임은 여러 진입점을 지원합니다: **대화형(interactively)**으로 실행되거나, stdin을 통해 파이프되거나, 백그라운드 데몬으로 작동하거나, WebSocket을 통해 작동하거나, 다른 에이전트 스택 내부의 ACP 하위 에이전트로 작동할 수 있습니다. 모델, 도구, 역할(roles), 가드레일(guardrails), 예산(budgets) 등 모든 것이 TOML 형식이며 프레임워크 코드가 필요 없습니다.
# 대화형 (Interactive)
octomind run developer:general
# 파이프를 통한 실행 — CI, 스크립트, 자동화
...
- 빠른 시작(Quick Start)
- 벤치마크(Benchmarks) — 실제 PR, 제외 테스트(Held-Out Tests)
- 왜 Octomind인가?
- 하나의 바이너리, 다섯 가지 인터페이스
- 가드레일 — 코드로 정책화(Policy as Code)
- 비용을 제어 평면으로(Cost as a Control Plane)
- 4시간이 지나도 선명한 세션 유지
- 의도 기반 컨텍스트(Intent-Driven Context)
- 전문가 및 태스크(Specialists & Taps)
- 내장 MCP 도구
- 파워 유저 — 역할, 워크플로우, 레이어
- 설치(Installation)
- 구성(Configuration)
- 아키텍처(Architecture)
- 기여하기(Contributing)
- 문서화(Documentation)
- 라이선스(License)
# 설치 (macOS 및 Linux) — 단일 Rust 바이너리; taps는 자체 도구 종속성을 설치합니다.
curl -fsSL https://raw.githubusercontent.com/muvon/octomind/master/install.sh | bash
# 로그인 — 모델이 포함되어 있어 API 키를 관리할 필요가 없습니다.
...
Octomind v0.50.1
역할(Role): developer:general · 모델(Model): octohub:auto
~/your/project
...
당신은 코드를 읽고, 명령을 실행하고, 파일을 편집하며, 필요에 따라 기능을 확장할 수 있는 에이전트와 함께 세션에 접속했습니다. TUI를 배울 필요 없이 마크다운 렌더링과 셸 자동 완성이 적용된 평면 인터페이스이며, SSH, tmux, CI 로그 등 어디서든 작동합니다.
octomind login
Octomind Cloud에 연결하여 사용할 수 있습니다. 이 구독에는 octohub 게이트웨이를 통해 모델 접근이 포함되어 있어 설정할 것이 없습니다. 자체 키를 선호하시나요? 로그인을 완전히 건너뛰고 OpenRouter, Anthropic, OpenAI, DeepSeek, Ollama 등 모든 제공업체의 키를 가져올 수 있습니다. 클라우드는 기본값이며, BYOK(Bring Your Own Key)는 항상 최우선 경로입니다.
developer:general
(그리고 lawyer:sg,
doctor:blood,
…)는 로컬 설정이 아닌 내장 기본 탭인 muvon/tap에서 가져옵니다. 이 설정 자체의 기본 태그는 assistant:concierge이므로, 단순히 octomind run을 실행하면 이것이 시작됩니다. 위에 표시된 배너는 예시이며(실제로는 텍스트 블록 왼쪽에 픽셀 아이콘을 렌더링합니다).
다른 설치 방법: cargo install octomind (Rust 1.95 이상) 또는 소스에서 빌드하십시오.
저희는 octobench를 기준으로 벤치마크를 수행했습니다: python, php, rust, c++, js에 걸쳐 병합된 풀 리퀘스트에서 수집한 25개 작업입니다. 각 에이전트는 pre-fix 레포지토리 내에서 작동하며, 병합된 수정 사항(fix)의 제외 테스트가 통과 또는 실패를 결정합니다. 다음은 2026년 7월 30일에 발표된 결과이며, 현재 체크아웃을 측정한 것이 아닙니다:
| solved | judge Σ / 2500 | cost | wall time |
|---|---|---|---|
| octomind + glm-5.2 | 24/25 | 2264 | $63.43 |
| claude code + claude-opus-5 | 23/25 | 2262 | $81.79 |
| codex + gpt-5.6-sol | 21/25 | 2127 | $14.86 |
| opencode + glm-5.2 | 19/25 | 2093 | $129.54 |
프레임워크(Harness)가 중요합니다. opencode는 동일한 모델과 엔드포인트를 사용했습니다. octomind는 비용은 절반 수준이면서 24개 대 19개를 해결했습니다. Octomind는 스테이지드 탭과 미완성 핸드백 pre-gate를 이용한 바이너리 오버라이드를 사용했습니다. 이는 개별 기능이 아닌 전체 설정을 측정합니다.최악의 경우 가격 책정임에도 여전히 앞서나갑니다. glm-5.2는 프롬프트 캐싱 없이(모든 토큰을 목록 가격으로) 실행된 반면, Opus는 컨텍스트 재읽기의 약 97%를 1/10 캐시 비율로 청구했으며 — octomind는 여전히 해결 수, 비용 및 경과 시간에서 선두를 유지했습니다.재현 가능합니다. 전체 케이스별 표, 실행 아티팩트 및 재현 가이드: BENCHMARK.md @ 8aa3968. 이 벤치마크의 배경 이야기: 블로그 게시물.
런타임은 키보드에서 떠난 후에도 계속되는 작업에 대한 제어 기능을 제공합니다:
자율성에는 정책이 필요합니다. 호출 전 규칙을 강제하고 스크립트 실패를 Guardrails를 통해 에이전트에 다시 피드백할 수 있습니다.작동하는 환경을 공유하세요. Tap은 에이전트 지침, 종속성 및 도구 접근 권한을 패키징합니다. octomind run developer:general로 전문가를 시작하세요.
전문가를 선택하세요. 디버깅, 연구 또는 검토를 위해 다른 역할을 사용하며, 각 역할은 자체 지침, 모델 오버라이드 및 도구를 가집니다.장기 작업을 계속 진행시키세요. 압축(Compression) 기능은 작업 지식을 유지하면서 축적된 컨텍스트를 줄여줍니다.지출을 추적하세요. 요청 및 세션 임계값을 구성하고 /info로 비용을 검사할 수 있습니다. Cost. See Cost.요청 시 컨텍스트 로드. 스킬(Skills)과 기능(Capabilities)은 사용자의 입력으로부터 활성화될 수 있습니다.
| 핵심 기둥 (Pillar) | 제공하는 것 |
|---|---|
| Zero config, full flexibility | octomind run lawyer:sg는 별도의 설정 없이 바로 작동합니다. 다른 모델, MCP 서버 또는 Guardrail 파이프가 필요합니까? 동일한 TOML로 프레임워크 코드가 필요 없습니다. |
| Sessions stay sharp at hour 4 | 적응형 압축(Adaptive compaction): 캐시 인식적이며 구조를 보존합니다. 컨텍스트가 작을수록 응답 속도가 빠르고 비용이 낮습니다. |
| Cost as a control plane | 여러 제공업체에 걸친 단계별 모델 선택. 지출 임계값 및 캐시 인식 회계 기능을 무료로 사용할 수 있습니다. |
| Guardrails: policy as code | 결정론적 스크립트(deterministic scripts)를 사용하여 자율 에이전트를 관리합니다 — 호출 전 가드, 결과 후 훅, 턴 후 검증기. 모달 승인 클릭이 필요 없습니다. CI에 적합합니다. |
| Intent-driven context | 규칙, 의미 일치(semantic matching) 또는 명시적 요청을 통해 스킬과 기능이 활성화될 수 있습니다. 기본적으로 컨텍스트가 작고 비용이 낮으며 예상치 못한 도구가 없습니다. |
워크플로우가 필요로 하는 방식에 따라 노출되는 동일한 세션 엔진입니다:
| 모드 | 용도 |
|---|---|
| Interactive CLI | 일상 업무, 모든 도메인 |
octomind run --format plain pipe | CI/CD 파이프라인, 셸 스크립트, 자동화 |
| Daemon + send | 백그라운드 에이전트, 연속 모니터링, 장기 실행 작업 |
WebSocket 서버 (octomind server) | IDE 플러그인, 웹 대시보드, 외부 통합 |
ACP 프로토콜 (octomind acp) | 다중 에이전트 오케스트레이션, 다른 에이전트에 의해 호출되는 경우 |
# ACP — 모든 다중 에이전트 시스템에 서브 에이전트로 드롭하기
octomind acp developer:general
# 비대화형 — 메시지는 stdin에서 읽고(파이프), 일반 텍스트로 출력합니다.
...
octomind run
메시지 인수가 없습니다: 위치 인수(positional argument)가 역할(role) 또는 태그(tap tag)입니다. 파이프된 stdin은 비대화형으로 실행되며, 기본값은 plain입니다.
; --format plain
또는 --format jsonl을 사용하여 출력 형식을 선택합니다. 터미널에서 --format만 사용하고 파이프 입력이 없으면 오류가 발생할 수 있으며, 이때는 반드시 --daemon도 사용해야 합니다. --format 없이 사용하면 터미널은 대화형 세션을 시작합니다. server와 acp는 --format을 받지 않습니다.
--daemon은 프로세스를 활성 상태로 유지하지만, 터미널에서 분리(detach)하지는 않습니다. octomind send를 사용하려면 다른 터미널을 사용하세요.
스키마 요구사항 및 모델 지원에 대해서는 Structured Output을 참조하십시오.
통합 모드는 WebSocket 서버, ACP 프로토콜, Daemon & Hooks를 참조하십시오.
하나의 바이너리. 모든 워크플로우.
장기 실행 작업, CI 작업 또는 자율 루프는 도구 실행 및 검증에 대한 반복 가능한 규칙이 필요합니다.
정책은 TOML 규칙과 스크립트에 존재합니다. 리포지토리에 .agents/guardrails.toml 파일을 추가하면 런타임이 이를 결정론적으로 강제합니다 — 호출 전(pre-call), 결과 후(post-result), 턴 후(post-turn).
# 호출 전 거부 (Pre-call deny) — 실행되기 전에 호출 클래스를 차단합니다
[[guard]]
match =
). 일치하는 호출은 실행 대신 거부(denial)를 반환합니다.**후크(Hooks)**— 결과 후 스크립트입니다. 매칭 도구 결과가 나온 후에 실행됩니다. 0이 아닌 종료 코드는 표준 출력(stdout)을 에이전트의 받은 편지함(inbox)에 사용자 메시지로 주입합니다 — clippy 오류, lint 실패, 형식 차이(format diffs) 등이 *턴 재시작 없이 자동 수정*되는 것입니다.**검증기(Validators)**— 턴 후 스크립트입니다. 이들의 `when`
히스토리 필터는 이전 실행 이후의 호출을 검사하며, `when` 조건이 없으면 매 턴마다 실행될 수 있습니다. 역할과 응답 텍스트로 필터링할 수 있습니다. 출력은 에이전트가 다음 턴에 읽는 `<validation>` 블록으로 감싸집니다.**이는 자율 루프에서 "이 변경 사항을 승인하시겠습니까?" 프롬프트를 대체하는 것입니다.**
DSL(Domain Specific Language)은 capability+arg-regex+history+role+result-regex를 하나의 선언적 파일에 결합합니다. 컴파일할 코드가 없고, 설치할 플러그인이 없습니다. **완전한 자동화를 위해 설계되었습니다: CI, 데몬, 예약 실행, ACP 서브 에이전트에 적합합니다.** 전체 후크 및 검증기 스크립트 예시: Guardrails.
세상은 자율화되고 있습니다. 선택지는 "질문할 것인가 대 자동화할 것인가"가 아니라, "결정론적 정책을 가진 자동화" 대 "희망에 의존하는 자동화"입니다. Octomind는 전자를 제공합니다.
각 단계에 맞는 모델을 선택하세요. 일상적인 연구에는 저렴한 모델을, 검토에는 최첨단(frontier) 모델을 — 역할별, 단계별, 세션 중간 교체가 가능합니다. 실시간 비용 추적 및 지출 임계값 기능이 무료로 제공됩니다.
예시 지출 임계값 — 둘 다 기본값 0.0 (비활성화)입니다.
max_request_spending_threshold = 0.50 # 사용자 요청당 USD, 도구 루프 포함
max_session_spending_threshold = 5.00 # 세션당 USD
...
- 여러 제공업체에 걸친 역할별 및 워크플로우 단계별 모델 선택 — octolib을 통해 OpenRouter, OpenAI, Anthropic, Google, DeepSeek, Amazon Bedrock, Cloudflare 등에서 지원합니다. 다른 역할은 다른 공급업체에서 실행될 수 있으며, 사용 가능한 제공업체는 바이너리에 연결된 octolib 버전에 따라 달라집니다. 현재 목록 및 지원 모델은 Providers & Models를 참조하십시오.
- 세션 중간 모델 교체 기능과 함께
`/model anthropic:claude-haiku-4-5`
다양한 역할에 걸쳐 여러 모델 제공업체를 혼합할 수 있습니다. 연구에는 저렴한 모델을, 실행에는 최고의 모델을 사용할 수 있습니다. 세션 총액은 모델 전환 전반의 사용량을 포함합니다. - 요청별 및 세션별 실시간 비용 추적 기능이 제공됩니다.
- 캐시 인식 토큰 회계( `cache_read_tokens`, `cache_write_tokens` 는 입력/출력과 분리됨). - 임계값은 이미 기록된 비용을 사용하므로, 하나의 제공업체 호출만으로도 설정된 금액을 초과할 수 있습니다. **세션 임계값**은 대화형 터미널에서 알림을 표시하고 파이프되거나 ACP/WebSocket 작업을 중지시키며, 재설정(reset)을 수락하면 지출 체크포인트를 초기화합니다. **요청 임계값**은 현재 요청을 중지시킵니다. 구성(Configuration)을 참조하십시오.
두 임계값 모두 기본적으로 비활성화되어 있습니다. 명시적으로 설정해야 하며, 이는 사전 결제 청구 한도가 아니라 연속 작업 확인 기능입니다.
긴 작업은 도구 출력, 중간 시도, 그리고 여전히 필요한 결정들로 컨텍스트 창을 채웁니다.
Octomind의 적응형 압축 엔진이 자동으로 실행됩니다:
**캐시 인식(Cache-aware)** — 비용을 지불하기 *전에* 압축이 가치가 있는지 계산합니다. 캐시 무효화 및 재작성 비용을 고려합니다.**성장 인식(Growth-aware)** — 측정된 성장과 컨텍스트 상한선을 사용하여 압축 목표를 조정합니다.**구조 보존적(Structurally preserving)** — 중요한 지식, 선택된 분석 결과, 그리고 실시간 교환 내용을 유지합니다.**적응형 계획 인식(Adaptively plan-aware)** — 감독자(supervisor)가 복잡한 작업을 외부에서 추적하는 동안 초점 작업은 계획과 무관하게 유지됩니다.**완전 자동(Fully automatic)** — 사용자는 전혀 신경 쓸 필요가 없습니다.
이점: 컨텍스트 크기가 작아지면 나중에 필요한 입력 토큰이 줄어듭니다. 압축 자체도 토큰을 소모하며 캐시를 무효화할 수 있습니다.
세션 또한 지속됩니다: `octomind run --name my-feature`
진행하는 동안 저장하고, `octomind run --resume my-feature` (또는 `--resume-recent`)를 사용하면 여러 날에 걸친 작업까지 포함하여 중단했던 지점부터 다시 시작할 수 있습니다. 자세한 내용은 압축(Compression), 세션(Sessions)을 참조하십시오.
사용하려면:
작업 경계에서 `/done`을 사용하여 강제로 압축하고 백그라운드 학습을 시작합니다.
사용자의 역할(role)이 시작 시 로드되는 도구를 결정합니다. 추가적인 기술(skills)과 기능(capabilities)은 작업이 진행됨에 따라 활성화될 수 있습니다.
기술은 지침을 주입하고 필요한 기능을 로드하며, 작업 경계에서 잊히거나 지워질 때까지 활성 상태를 유지합니다. **컨텍스트는 사용자의 시작 역할과 요청하는 작업을 모두 따릅니다.**
**의미론적 규칙(Semantic rules).** 내부 임베딩 모델은 기술에 대해 작성된 `semantic(...)` 구문 및 기능에 대한 트리거 구문을 사용하여 사용자의 요청을 점수화합니다. 기술 설명만으로는 자동 활성화가 발생하지 않습니다. **정밀도가 중요한 수동으로 작성된 규칙입니다.** 기술 작성자는 유사도 점수보다 더 잘 안다고 판단될 때 파일 이름, 파일 내용 또는 정확한 구문에 활성화를 고정할 수 있습니다. **의미론적 근접 일치(semantic near-ties)는 피해야 합니다.** 최상위 의미론적 후보는 충분한 우위를 가져야 합니다. 결정론적 규칙 일치(Deterministic rule matches)는 여전히 독립적으로 활성화될 수 있으며, 여러 개가 하나의 메시지에 일치할 수 있습니다. **추측하지 않고 건너뛰도록 조정되었습니다.** 잘못된 활성화는 컨텍스트를 부풀리고 토큰을 낭비합니다. 시스템은 의심스러울 때 침묵하는 것을 기본값으로 합니다.
- 세션 시작 → 역할에 구성된 도구 로드
- 작업 전송 → 비활성 기술의 규칙 및 기능 트리거 평가
- 기술 일치 → 필요한 기능을 로드하고 지침 주입
...
**사용하지 않는 지침을 컨텍스트에서 제외하는 것이 작업에 더 많은 공간을 남깁니다.**
이는 나머지 요소들과 결합됩니다:
서버를 활성화하면 연결되고 그 도구들을 노출합니다. 기술 활성화는 자격 증명(credentials)이 사용 가능한 경우 필요한 기능 서버도 활성화하며, 첫 번째 도구 호출을 기다리지 않습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기