AtomicBot-ai/atomic-agent
요약
AtomicBot은 로컬 우선(local-first) AI 에이전트로, 사용자 기기에서 브라우징, 파일 편집, 셸 명령 실행 등 복잡한 작업을 수행합니다. 오픈 소스이며 `llama.cpp` 기반으로 작동하여 소규모 모델의 처리량을 향상시키고, 로컬/클라우드/Fusion 모드를 지원하는 것이 특징입니다.
핵심 포인트
- 로컬 우선 아키텍처로 사용자 기기에서 모든 상태와 제어 루프 실행
- 웹 브라우징, 파일 편집, 셸 명령 등 광범위한 기능 제공
- llama.cpp 기반으로 소형 모델의 처리량(throughput) 향상에 초점
- Fusion 모드를 통해 계획 수립과 워커 풀 실행을 결합하여 사용
브라우저를 구동하고, 파일을 편집하며, 승인된 명령을 실행하고, 세션 간 컨텍스트를 기억하는 로컬 우선 AI 에이전트입니다. 오픈 소스이며 저희 TurboQuant의 llama.cpp에서 작동합니다.
소규모 로컬 모델의 처리량(throughput)을 30~50% 향상시킵니다.
빠른 설치 · 제거 · 벤치마크 · 왜 로컬 우선인가 · 사용 방법 · 문서
로컬 우선 AI 에이전트로, 제어 루프와 모든 상태를 사용자 기기에서 실행합니다. 웹 브라우징, 파일 읽기 및 편집, 승인된 셸 명령 실행, 문서 검사, 세션 간 컨텍스트 기억, 후속 작업 예약, 그리고 MCP를 통해 외부 도 호출 등 사용자의 기기 전반에 걸쳐 작동합니다. 로컬 모델, 클라우드 모델 또는 Fusion 모드에서 동시에 실행할 수 있습니다. Fusion 모드에서는 하나의 모델이 계획을 짜고(plans) 워커 풀(pool of workers)이 실행합니다. HTTP를 통해 또는 Tauri 사이드카로 자체 앱에 임베드할 수 있습니다. llama.cpp
가장 먼저, 소형 양자화 모델(quantized models)들이 소비자 하드웨어에서 길고 다단계적인 작업에 유용하게 유지되도록 합니다.
macOS / Linux:
curl -fsSL https://atomicagent.io/install | sh
Windows (PowerShell):
irm https://atomicagent.io/install.ps1 | iex
설치 프로그램은 릴리스 아카이브를 다운로드하고, 체크섬을 검증하며, CLI와 지원 에셋(grammars/, 네이티브 사전 빌드, 번들된 ripgrep)을 설치합니다. Atomic Agent는 자체적으로 업데이트되며; 업데이트 후 TUI(Text User Interface)에서 재시작하라는 메시지가 표시됩니다. TUI 외부에서는 atomic-agent update (또는 atag update)를 실행하여 새 릴리스가 있는지 확인하고 제자리에서 설치 프로그램을 다시 실행할 수 있습니다. atomic-agent update --check는 설치 없이 프로브(probes)하며, --version <tag>는 특정 릴리스 버전을 고정합니다. 설치된 바이너리만 자체 업데이트가 가능하며; 개발 체크아웃은 git을 통해 업데이트됩니다.
참고
개발자 프리뷰입니다. API, 명령, 설정 및 동작이 아직 변경 중이므로 안정적인 통합 지점이 필요하다면 릴리스 버전을 고정하는 것이 좋습니다. 현재 빌드는 macOS (Apple Silicon), Linux x64 / arm64, Windows x64를 지원합니다. Intel Mac은 아직 지원되지 않으며; ARM 기반 Windows는 에뮬레이션을 통해 x64 빌드를 실행합니다.
atomic-agent
두 설치 프로그램 모두 바이너리 옆에 짧은 별칭(alias)을 추가하므로, 다음은 같은 것입니다:
atag
팁
두 번째 에이전트가 필요하신가요? TUI 내부에서 Ctrl+N을 누르거나 (/window) 실행하세요. 그러면 같은 디렉터리에 새로운 atomic-agent가 있는 새 터미널 창이 열립니다.
팁
처음 설정 과정을 다시 진행하고 싶으신가요? TUI에서 /onboarding (또는 /setup)을 실행하거나, atomic-agent tui --onboarding으로 시작하세요. 사용자의 프로바이더(providers), 키(keys), 세션(sessions), 메모리(memory)는 유지됩니다.
팁
다른 에이전트에서 오셨나요? 첫 실행 시 데이터를 가져올지 여부를 묻습니다. 발견된 소스들을 체크하고 임포트를 실행하면, 이미 존재하는 것은 덮어쓰지 않고 원본 소스를 건드리지 않습니다. 어떤 데이터가 이동하는지는 소스에 따라 다릅니다:
Claude Code: 스킬(skills), 메모리, MCP 서버, 세션, 그리고 (선택적) 프로바이더 키
Codex: 스킬, 메모리, 세션, 그리고 (선택적) 프로바이더 키
Oh-My-Pi: 스킬, MCP 서버, 그리고 세션
Pi: 스킬 및 세션
Hermes: 세션, 크론 작업(cron jobs), 그리고 (선택적) 프로바이더 키
OpenClaw: 세션 및 크론 작업
나중에 TUI에서 /import를 실행하거나, 셸에서 atomic-agent import <hermes|openclaw|claude-code|codex|pi|oh-my-pi>을 사용하세요.
모든 것을 제거하는 명령어는 있습니다: 상태 디렉터리(config, memory, sessions, tasks, traces, downloaded models), 바이너리 및 그 atag 별칭, 옆에 있는 에셋 디렉터리들, 그리고 설치 프로그램이 셸 rc 파일에 추가한 PATH 라인까지 모두 삭제합니다:
atomic-agent uninstall
무엇을 정확히 삭제할지 크기와 함께 출력하고, 'uninstall'이라는 단어를 입력하도록 요청합니다. 아무것도 업로드되거나 유지되지 않으며, 이 작업은 되돌릴 수 없습니다. --dry-run으로 미리 보고, 데이터를 보존하려면 --keep-data, 바이너리를 보존하려면 --keep-binary, 셸 rc 파일을 그대로 두려면 --keep-path, 또는 스크립트에서 프롬프트를 건너뛰려면 --yes를 사용하세요. 동일한 흐름은 TUI 자체 메뉴의 마지막 항목(Esc → Danger zone, 또는 /uninstall)에서도 확인할 수 있습니다.
만약 작동하지 않는 것이 있다면:
Atomic Agent를 사용하여 무언가를 구축하거나, 설정에 막혔거나, 혹은 작업 중인 내용을 공유하고 싶으신가요? 슬롯을 잡아 팀과 직접 대화해 보세요: cal.com/atomicagent/demo. 의제는 필요하지 않습니다. 질문, 피드백, 기능 요청, 또는 단순한 안부 인사 모두 환영합니다. 저희는 모든 이슈와 Discord 메시지를 읽지만, 때로는 15분 통화가 일주일간의 댓글보다 효과적일 때도 있습니다.
공개된 GAIA 검증 레벨 1 분할(총 53개의 작업)에서 Atomic Agent와 Hermes는 동일한 로컬 qwen-3.6-35b-a3b (llama-server, UD-Q4_K_XL)를 사용하고, 동일한 단계 예산과 시간 초과 제한을 가졌습니다. 유일하게 변하는 것은 에이전트 루프입니다.
| Metric | Atomic Agent | Hermes |
|---|---|---|
| Accuracy | 37/53 = 69.8% | 31/53 = 58.5% |
| Avg wall / task | ~217 s | ~351 s |
| Head-to-head wins | +15 atomic-only | +9 Hermes-only |
차트 (정확도 및 속도)
%%{init: {"themeVariables": {"xyChart": {"backgroundColor": "transparent", "titleColor": "#0b63f6", "plotColorPalette": "#0b63f6"}}}}
xychart-beta
title "GAIA L1 정확도 (높을수록 좋음, %)"
...
%%{init: {"themeVariables": {"xyChart": {"backgroundColor": "transparent", "titleColor": "#0b63f6", "plotColorPalette": "#0b63f6"}}}}
xychart-beta
title "작업당 평균 벽 시간 (낮을수록 좋음, s)"
...
로컬 모델 크기가 줄어들어도 동일한 루프가 작동합니다. 동일한 GAIA L1 분할에서 Atomic Agent만 사용했을 경우:
| Chat model | Accuracy | Avg wall / task |
|---|---|---|
qwen-3.6-35b-a3b (UD-Q4_K_XL) | 37/53 = 69.8% | ~217 s |
qwen-3.5-9b (Q4_K_M) | 28/53 = 52.8% | ~152 s |
gemma-4-12b (it-qat UD-Q4_K_XL) | 24/53 = 45.3% | ~423 s |
9B 모델만으로도 동일한 컨텍스트 절약형 루프를 통해 GAIA L1의 절반을 통과합니다. (행별로 다른 Atomic Agent 버전을 사용했으니, 출처는 본문에서 확인하세요.)
전체 재현 가능한 상세 보고서: GAIA-L1-EXPERIMENT.md
· 원시 아티팩트 (행렬, NDJSON 트레이스, 로그): gaia-l1-eval-2026-06-11 릴리스.
제어 루프와 모든 상태는 호스팅 서비스가 아닌 사용자의 장치에서 실행됩니다:
상태는 사용자의 디스크에 저장됩니다. 세션(Sessions), 메모리(memory), 작업(tasks), 추적 기록(traces), 스킬(skills), 브라우저 프로필(browser profile), 설정(config) 및 .env 비밀 정보는 <stateDir> 아래의 일반 파일과 SQLite 데이터베이스로 존재합니다. 기기 외부로 나갈 수 있는 것과 이를 비활성화하는 방법은 '개인정보 보호 및 이그레스(Privacy and Egress)'를 참조하십시오.로컬 모델 사용 시 API 비용이 없습니다. llama.cpp를 통해 양자화된 모델을 로컬에서 실행하거나, 자체 llama-server를 가져오거나, CLI가 서버 관리를 하도록 할 수 있습니다. 클라우드 제공업체 및 Fusion 기능은 선택 사항입니다.숨겨진 것이 없습니다. 프롬프트(prompt)를 검사하고, 추적 기록 드리프트(trace drift)를 재실행하며, 스킬을 편집하고, 구성 요소를 교체할 때 공급업체를 기다릴 필요가 없습니다. 일반 로컬 모델, SQLite 파일, NDJSON 추적 기록으로 작동합니다.사용자의 하드웨어에서 실행됩니다. 소형 양자화 모델은 데이터센터가 필요 없이 일상적인 소비자용 GPU와 CPU에서도 실행됩니다.
에이전트(agent)는 루프입니다. 즉, 모델이 행동을 선택하고, 무언가가 그것을 실행하며, 그 결과가 다시 입력되고, 작업이 완료될 때까지 반복합니다. 문제는 비용입니다. 매 턴마다 늘어나는 컨텍스트를 모델을 통해 재전송하므로, 단순한 루프는 매번 더 느려지고 비싸지며, 소형 로컬 모델은 가장 빠르게 과부하됩니다.
Atomic Agent는 이 루프의 비용을 낮게 유지합니다. 한 번의 추론(inference)으로 도구 호출(tool calls) JSON 배열 하나를 생성하고, 전체 세계를 매 턴마다 재인코딩하지 않고도 이를 실행합니다:
flowchart LR
A[Prompt] --> B[Decide]
B --> C[Run]
...
프롬프트(Prompt): 소형 프롬프트가 로컬 모델로 전달됩니다.결정(Decide): 모델은 도구 호출 JSON 배열 하나를 반환합니다. 로컬 llama-server에서는 출력이 문법 제약(grammar-constrained, GBNF)을 받기 때문에 형식이 항상 유효하며, 클라우드 제공업체는 네이티브 도구 호출을 사용합니다.실행(Run): 코어(core)가 이를 실행합니다. 독립적인 읽기는 병렬로 실행되며, 위험한 작업은 먼저 승인을 요청합니다.압축(Compress): 결과와 상태를 요약하여 전체 내용을 다시 붙여넣지 않습니다.반복(Repeat): 응답, 완료 또는 취소될 때까지 루프를 반복합니다. 긴 작업은 진행 상황을 만들면서 25단계 체크포인트를 넘어 계속 진행되며, 기본적으로 태스크당 상한선(1000 단계 또는 2시간)에 의해 제한되고, 잘림(cut-off) 대신 요약으로 종료됩니다.
모델이 행동을 선택합니다. Atomic Agent가 루프(loop), 상태(state), 승인(approvals), 추적 기록(traces), 중지 조건(stop conditions), 그리고 실패 경계(failure boundaries)를 소유합니다.
저희는 자체 TurboQuant llama.cpp에서 로컬 모델을 실행합니다.
(AtomicBot-ai/atomic-llama-cpp-turboquant-nightly)
TurboQuant KV-cache: WHT-rotated 저비트 양자화(low-bit quantization)는 F16 대비 최대 6.4배로 KV-cache를 압축하며, 통합된 Metal 디코드 커널 덕분에 긴 컨텍스트 세션이 훨씬 적은 메모리에 들어맞습니다.TurboQuant 가중치(weights): WHT 회전 및 통합된 Metal/Vulkan 커널을 사용한 Lloyd-Max 가중치 양자화는 품질을 사용할 수 있는 수준으로 유지하면서 소형 모델이 일반 소비자 하드웨어에 탑재되도록 합니다.커스텀 추측 디코딩(Custom speculative decoding): 목적에 맞게 설계된 Gemma 4 MTP 및 Qwen 3.6 NextN 헤드는 로드된 모델을 재사용하여 (두 번째 컨텍스트, 토크나이저 또는 모델 로드가 필요 없음) 처리량(throughput)을 +3050% 향상시킵니다.큐레이션된 양자화 모델: 품질을 사용할 수 있는 수준으로 유지하면서 실제 VRAM 예산에 맞춘 엄선된 GGUF 양자화본입니다.관리 모드(Managed mode): CLI가 백엔드와 모델을 다운로드하고, 최신 상태로 유지하며 실행해주므로 수동 llama.cpp 설정이 필요 없습니다. 백엔드를 고정하려면 localModels.managed.autoUpdate: false를 설정하세요.
Atomic Agent의 프롬프트는 소형 모델이 토큰을 낭비하거나 형식을 깨뜨리지 않도록 설계되었습니다:
안정적인 접두사(Stable prefix): 페르소나, 규칙, 도구, 기술, 기능 및 지침은 세션 내에서 바이트 안정적(byte-stable)으로 유지되므로, 로컬 llama-server의 cache_prompt와 슬롯 고정(slot pinning)을 통해 매 턴마다 프롬프트를 재인코딩하는 대신 KV-cache를 재사용할 수 있습니다.경계가 있는 후미(Bounded tail): 대화, 메모리, 월드 상태, 회상된 노트, 교훈, 절차 및 로드된 기술 본문은 예측 가능한 프롬프트 예산으로 클립됩니다.외부화된 상태(Externalized state): 세션, 메모리, 작업, 기술, 추적 기록, 브라우저 스냅샷 및 모델 구성은 프롬프트 외부에 존재합니다.GBNF 도구 호출: 로컬 백엔드에서 완료(completions)는 단일 사례 [{...}]를 포함하여 JSON 형태의 도구 호출 배열로 제한됩니다.
병렬 읽기 배치(Parallel read batches): 단일 추론 후 독립적인 읽기 전용 호출들이 동시에 실행될 수 있으며, 위험한 작업은 여전히 승인 게이트를 거칩니다.컴팩트 브라우저 뷰(Compact browser view): 일반 웹 작업 시 스크린샷 위주의 페이지 덤프 대신 접근성/ARIA 스냅샷을 문자 예산(기본값 24k)에 맞춰 사용합니다. 이 때문에 작은 로컬 모델들은 길고 도구 사용이 많은 작업 전반에 걸쳐 유용성을 유지할 수 있습니다. Atomic Agent는 전체 데스크톱 도구 표면을 구동하며, 위험한 작업은 승인을 거치도록 라우팅되고 독립적인 읽기 전용 호출들은 병렬로 실행됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending TypeScript (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기