에이전트의 모든 행동을 기록으로 남기는 워크스페이스
에이전트가 어떤 도구를 썼고, 어떤 결정을 내렸는지 한눈에 추적할 수 있습니다. 모델 메시지부터 도구 호출, 권한 결정까지 모든 과정을 수정 불가능한 로그로 저장해 두어, 나중에 문제가 생겼을 때 원인을 정확히 짚어냅니다. 이 기록은 단순한 로그가 아니라, 다음 프롬프트를 구성하거나 시스템이 충돌했을 때 복구하는 데 직접 쓰이는 핵심 데이터입니다.
기록이 곧 실행 환경
Maka는 에이전트의 모든 활동을 'RuntimeEvent'라는 추가 전용 로그로 관리합니다. 모델이 보낸 메시지, 도구를 부른 순간, 사용자의 권한을 확인한 과정, 그리고 작업이 끝난 시점까지 모두 이 로그에 남습니다. 화면에 보이는 대화 내용이나 다음 단계로 넘어갈 때 쓰는 프롬프트는 이 로그에서 뽑아온 정보일 뿐, 원본은 항상 로그에 안전하게 보관됩니다. 덕분에 오래된 도구 출력은 다음 프롬프트에서 제외하되, 로그에는 그대로 남겨 두는 식의 유연한 관리가 가능합니다.
내 컴퓨터, 내 모델
세션 설정과 실행 기록은 모두 로컬에 유지되며, 외부 서버로 전송되지 않습니다. 사용자는 클라우드 API, 로컬 모델, 또는 호환 가능한 게이트웨이 중 원하는 모델을 직접 연결해 사용할 수 있습니다. 앱은 모델 연결 상태를 '설정 완료', '전송 준비 완료', '실험 단계'로 구분하여, 실제로 런타임에 연결되지 않은 계정은 사용 가능한 모델로 표시하지 않습니다. 이는 모델 선택의 투명성을 높이고, 예상치 못한 비용 발생이나 권한 문제를 방지하는 데 도움이 됩니다.
하나의 런타임 호스트
데스크톱 앱, 터미널 인터페이스(TUI), CLI, 그리고 평가(Eval) 도구는 모두 하나의 실행 권한을 가진 'Runtime Host'를 공유하는 얇은 클라이언트입니다. Eval은 실험 설계와 점수 계산만 담당하고, 실제 에이전트 실행은 Runtime Host가 처리합니다. 이러한 구조는 다양한 인터페이스에서 동일한 실행 환경을 보장하며, 시스템의 복잡성을 줄여 유지보수를 용이하게 합니다. 또한, 에이전트가 파일을 쓰거나 셸 명령을 실행할 때는 반드시 샌드박스 경계를 통과해야 하므로, 시스템 안전성을 강화합니다.
개발 환경 구축과 초기 설정
소스에서 빌드하려면 Node.js 22.19 이상, npm, Git, 그리고 ripgrep이 필요합니다. npm ci와 npm run dev 명령으로 데스크톱 개발 환경을 시작할 수 있으며, Rust 기반의 네이티브 애드온이 필요한 Peer 기능 개발 시에는 Rust stable 1.98 이상과 플랫폼 링크러가 추가로 요구됩니다. 첫 실행 시 설정 메뉴에서 모델 API 키나 로컬 모델 경로를 입력하고, 연결 테스트를 거쳐 기본 모델을 선택해야 작업을 시작할 수 있습니다. API 키는 로컬의 평문 파일에 저장되며, 렌더러 프로세스에서는 접근할 수 없도록 보호됩니다.
인큐베이팅 단계의 특성
Apache Maka는 현재 Apache Software Foundation의 인큐베이팅 단계에 있으며, 공식 릴리스가 아직 나오지 않았습니다. 데이터 포맷, CLI 명령, 실험적 기능은 언제든 변경될 수 있으므로, 프로덕션 환경에 바로 적용하기보다는 개발이나 테스트 목적으로 사용하는 것이 적절합니다. 공식 릴리스가 나올 때까지는 소스에서 직접 빌드하거나 개발용 빌드를 사용해야 하며, 이 과정에서 발견된 문제는 개발 메일링 리스트나 이슈 트래커를 통해 공유할 수 있습니다. 라이선스는 Apache License 2.0을 따르며, 제3자 구성 요소는 각각의 라이선스가 적용됩니다.