
이미지: METAL LAB 생성
요약
- 아파치 소프트웨어 재단 인큐베이터에 로컬 우선 AI 에이전트 워크스페이스 '마카(Apache Maka)'가 등록됐다.
- 모델 메시지·도구 호출·권한 결정·종료 이벤트를 추가 전용 로그로 남기며, 현재는 macOS 애플 실리콘 데스크톱 앱만 서명·공증된 정식 배포판으로 제공한다.
- 세션 데이터는 runtime.sqlite 파일 하나로 통합 관리되고, 이전 버전의 파일 기반 대화 기록은 업그레이드 시 자동으로 옮겨지지 않는다.
- 프로젝트명
- Apache Maka (Incubating)
- 라이선스
- Apache License 2.0
- 현재 정식 지원 플랫폼
- macOS Apple Silicon(arm64) 데스크톱 앱
- 첫 공개 빌드 미포함 기능
- Computer Use
- 실행 경로
- 데스크톱·TUI·CLI·평가 주체 모두 Runtime Host를 거쳐 실행
- 데이터 저장
- runtime.sqlite가 세션·실행 상태·아티팩트 메타데이터를 단일 관리
- 개발 단계
- Phase 2(내구성 있는 쓰기 경계) 구현 완료, Phase 3(모호한 도구 결과 재처리) 미구현
- 저장소
- github.com/apache/maka
로컬에서 도는 AI 에이전트, 아파치가 품었다
아파치 소프트웨어 재단(Apache Software Foundation)의 오픈소스 인큐베이터에 새 프로젝트가 올라왔다. 이름은 마카(Maka), 정식 명칭은 'Apache Maka (Incubating)'다. 클라우드 서버가 아니라 사용자 컴퓨터 안에서 돌아가는 것을 전제로 만든 AI 에이전트 작업공간이라는 점이 특징이다. github.com/apache/maka 저장소에 소스코드와 문서가 공개돼 있고, 라이선스는 Apache License 2.0이다.
무엇을 기록하는 도구인가
마카는 질문에 답만 하는 챗봇이 아니라, 권한을 통제한 상태에서 프로젝트 파일을 들여다보고 도구를 실행하고 결과물을 만들어내는 에이전트다. 이 과정에서 오가는 모델 메시지, 도구 호출, 도구 실행 결과, 권한 승인·거부 결정, 작업 종료 이벤트를 하나도 빠짐없이 추가 전용(append-only) 로그로 남긴다. 추가 전용 로그란 한 번 쓰인 기록을 지우거나 고쳐 쓰지 않고 뒤에 계속 붙여만 나가는 방식이다. 에이전트가 어떤 판단으로 무엇을 건드렸는지 나중에 그대로 되짚어볼 수 있게 하려는 설계로 읽힌다.
데스크톱 앱, 터미널에서 돌아가는 TUI(텍스트 기반 사용자 인터페이스), 대화 없이 명령만 실행하는 CLI(명령줄 인터페이스), 평가용 실행 주체까지 네 가지 실행 경로가 모두 '런타임 호스트(Runtime Host)'라는 하나의 실행 엔진을 거친다.
지금 쓸 수 있는 범위
마카는 아직 활발히 개발 중인 초기 공개 버전이다. 데이터 형식, CLI 명령, 실험적 기능은 앞으로도 바뀔 수 있다고 프로젝트 문서는 안내한다.
| 플랫폼 | 현재 상태 |
|---|---|
| macOS (Apple Silicon, arm64) | 서명·공증된 정식 데스크톱 앱 제공 |
| Windows | 미서명 프리뷰 — 지원 등급 아님 |
| Intel Mac | 미지원 |
| Linux | 미지원 |
macOS용 데스크톱 앱은 깃허브 릴리스 페이지에서 애플 실리콘 맥 전용으로 배포된다. 화면을 보고 마우스·키보드를 대신 조작하는 '컴퓨터 사용(Computer Use)' 기능은 이번 첫 공개 빌드에는 들어가지 않았다. Windows 설치 파일을 내려받을 경우 SmartScreen이 '알 수 없는 게시자' 경고를 띄우는데, 내려받은 파일의 SHA-256 체크섬이 릴리스에 공개된 값과 일치할 때만 경고를 넘기라고 안내한다.
어떻게 써보나
- 다운로드 — macOS Apple Silicon 사용자는 깃허브 릴리스에서 서명·공증된 데스크톱 앱을 내려받는다. 직접 빌드하려면 저장소를 내려받아 npm run dev로 일렉트론 기반 개발 환경을 켤 수 있다.
- 최초 실행 — 마카는 자체 AI 모델 계정을 함께 묶어 배포하지 않는다. 처음 실행하면 사용자가 직접 모델 연결을 설정해야 하고, 앱은 연결 상태를 '설정 완료', '사용 가능', '실험적' 세 단계로 구분해 보여준다. 런타임에 실제로 연결되지 않은 계정 흐름은 사용 가능한 모델로 표시되지 않는다.
- 작업 실행 — 터미널 TUI에서는 /graph on, /graph off, /graph <작업내용> 명령으로 여러 단계를 거치는 에이전트 작업(Graph)을 켜고 끌 수 있다. 대화형이 아닌 --graph 실행은 durable Graph(지속형 작업 그래프)가 끝날 때까지 기다린 뒤 최종 결과만 출력한다. 이 기능은 격리된 Git 워크트리 위에서 동작하므로 대상 프로젝트가 깨끗한 Git 워크트리 상태여야 한다.
- CLI로도 접근 — npm 패키지로 배포되는 CLI를 통해서도 같은 방식으로 마카를 실행할 수 있다. 다만 저장소의 CLI는 'Maka Dev' 프로필을, 배포된 정식 바이너리는 'Maka' 프로필을 각각 쓰고 두 프로필은 자동으로 동기화되지 않는다.
데이터는 어디에, 업그레이드 시 주의할 점
마카는 워크스페이스 데이터를 일렉트론의 userData 폴더 아래에 저장한다. 세션 메타데이터, 대화 기록, 에이전트 그래프 상태, 실행 상태, 사용량·과금 정보, 아티팩트(결과물) 메타데이터는 모두 runtime.sqlite 하나가 단일 운영 권한으로 관리하고, 실제 결과물 파일은 artifacts/ 폴더 아래 별도 파일로 남는다.
이번 버전의 저장 방식은 이전 세대의 파일·JSONL 기반 기록을 자동으로 불러오지 않는다. 옛 버전에서 쓰던 세션 제목 정도는 새 메타데이터에서 찾을 수 있지만, 파일로만 남아 있던 옛 대화 기록은 새 버전에서 빈 스레드로 열린다. 암호화돼 있던 옛 자격증명 파일도 마이그레이션되지 않아, 그 파일만 가진 사용자는 다시 로그인해야 한다. 프로젝트 문서는 이 데이터 손실 경계가 이번 릴리스에서 의도된 결과라고 설명하고, 기존 작업공간을 업그레이드하기 전에 이 점을 감안해야 한다고 적었다.
백업은 SQLite의 온라인 백업 API로 이뤄지며, 아티팩트 쓰기 잠금을 건 상태에서 파일을 복사하고 크기와 SHA-256 값으로 묶은 매니페스트를 만든다. 복원 전에는 무결성, 외래 키, 스키마, 필수 테이블을 검증한다. 개발 단계는 둘로 나뉘는데, 안전하게 실패 처리하며 쓰기 작업의 지속성을 보장하는 부분(Phase 2)은 구현이 끝났고, 도구 실행 결과가 모호할 때 이를 재처리하는 부분(Phase 3)은 아직 구현되지 않아 애매한 실행 결과는 재시도 없이 그대로 보류된다.
에디터의 시선
마카가 눈에 띄는 지점은 '로컬 우선'이라는 선택 자체다. 최근 에이전트 인프라 경쟁은 정반대 방향으로 쏠려 있었다. 위 AWS 사례처럼 세션을 클라우드에 최대한 오래 붙잡아 두는 쪽으로 움직인 회사가 있는가 하면, 마카는 그 반대편에서 세션 하나하나를 사용자 컴퓨터 안의 SQLite 파일 하나로 못박는 길을 골랐다. 클라우드 쪽 에이전트가 '얼마나 오래 떠 있게 할까'를 풀고 있다면, 마카는 '무슨 일이 있었는지 나중에 증명할 수 있는가'를 먼저 풀려는 셈이다.
이런 설계는 에이전트에게 파일 조작·명령 실행 권한을 주는 게 부담스러운 팀에게 의미가 있다. 권한 결정과 도구 실행 결과가 추가 전용 로그로 남으면, 에이전트가 실수로 파일을 지우거나 잘못된 명령을 돌렸을 때 어느 시점에 무엇을 승인했는지 되짚을 수 있다. 국내 개발팀이 사내 코드베이스에 에이전트를 붙이기 전에 실행 이력을 어디까지 남길지 고민한다면, 마카의 append-only 로그 구조는 참고할 만한 설계 사례다. 다만 지금 버전은 macOS Apple Silicon 데스크톱에만 정식 서명이 붙어 있고, 도구 실행 결과가 애매할 때 재처리하는 Phase 3 기능도 아직 없다. 실무 코드베이스에 곧바로 붙이기보다는 먼저 영향이 적은 프로젝트에서 로그가 실제로 무엇을 남기는지 확인해보는 단계가 맞다.
몇 주 안에는 Windows 정식 서명 빌드와 Computer Use 기능 추가 여부가 이 프로젝트의 다음 이정표가 될 것으로 보인다. 이 두 가지가 채워지는 순간 마카는 '실험적 도구'에서 '설치해 쓰는 도구'로 넘어간다.




댓글