Comma의 에이전트 하네스, Salix를 소개합니다

Salix는 내 Comma 에이전트를 24시간 실행하고, 일에 꼭 필요할 때만 대형 모델을 호출합니다.

작동 중인 Salix

클릭해 볼 수 있는 예시입니다. Comma에게 #support와 받은편지함에서 버그 제보를 지켜봐 달라고 요청했고, Comma는 이를 위한 Loop를 작성했습니다. 고객의 버그 제보에 Loop가 Comma를 깨웠습니다. Comma는 작업을 시작했고, Worker가 클라우드 컴퓨터에서 버그를 재현한 뒤 검토할 수정 사항을 올렸습니다. 창 옆의 편집기에는 Salix 커널에 있는 Lean 증명 두 개가 보입니다.

Salix의 내부

Loop가 24시간 지켜봅니다

에이전트가 Loop라는 작은 프로그램을 작성합니다. Loop는 받은편지함, 저장소, 피드를 밤낮으로 지켜보다가 처리할 일이 생길 때만 에이전트를 깨웁니다.

Loop 알아보기

Jev로 빠르게 판단

Loop는 이메일이나 이벤트에 내 확인이 필요한지 Jev 같은 빠른 판단 모델에 묻습니다. 조용한 시간에는 대형 모델 토큰을 쓰지 않습니다.

Loop가 판단하는 방식

Elixir와 Lean으로 구축

시스템 일부에 장애가 나도 Elixir 덕분에 에이전트는 계속 실행됩니다. 에이전트 루프의 핵심은 Lean으로 작성되어, 데이터가 허용된 곳으로만 간다는 것을 증명합니다.

Salix 작동 방식

내 Mac에서 일합니다

Salix가 내 Mac을 연결하므로 Comma가 그곳의 파일을 열고 수정할 수 있습니다. 에이전트가 그 Mac에서 Codex나 Claude Code를 실행할 수도 있습니다.

디바이스 알아보기

자주 묻는 질문

Loop는 무엇을 지켜볼 수 있고, 어떻게 시작하거나 멈추나요?

Loop는 Gmail, GitHub, Slack 같은 연결된 앱을 지켜보거나, 웹 API를 주기적으로 조회하거나, 전용 비밀 웹훅 URL로 이벤트를 받을 수 있습니다. 채팅에서 Comma에게 풀 리퀘스트나 스레드 같은 것을 지켜봐 달라고 하면 Comma가 Loop를 설정하고 시작합니다. 더 이상 필요 없으면 Loop를 일시 중지하거나 삭제해 달라고 요청하세요. 에이전트 하나는 Loop를 한 번에 최대 20개까지 실행할 수 있습니다.

Loop는 기다리는 동안 비용이 얼마나 드나요?

기다리는 Loop는 클라우드 컴퓨터가 아니라 Salix 클러스터에서 실행되는 작은 프로그램입니다. 모델을 호출하지 않고 따로 요금을 측정하지도 않으므로, 크레딧은 Loop가 호출하는 대상을 통해서만 듭니다. 예를 들어 Jev에게 하는 질문은 내 모델 키를 쓰더라도 크레딧을 쓰고, Loop가 깨운 에이전트 턴은 다른 턴과 똑같이 청구됩니다. Loop는 10분 구간마다 에이전트를 최대 6번까지 깨울 수 있습니다.

Jev는 무엇을 판단하고, 확신이 없거나 틀리면 어떻게 되나요?

Jev는 새 이메일에 내 확인이 필요한지 같은, Loop가 묻는 질문에 답합니다. 메시지를 보내거나, 무언가를 바꾸거나, 권한을 부여할 수는 없습니다. Comma가 나 대신 풀 리퀘스트, 이슈, 스레드를 지켜볼 때, 그 Loop는 Jev가 0.9 이상의 신뢰도로 "조용히"라고 답할 때만 조용히 넘어갑니다. 오류를 포함한 그 밖의 모든 경우는 에이전트에게 전달되고, 에이전트는 나에게 메시지를 쓰기 전에 원본을 확인하라는 지시를 받습니다. Jev가 높은 신뢰도로 "조용히"라고 잘못 답하면, 그 업데이트는 나에게 전달되지 않습니다.

Loop가 읽은 데이터는 어떻게 되나요?

읽은 내용은 데이터로만 다뤄집니다. 이메일이나 이벤트는 Loop의 코드를 바꾸거나, 정해진 기능 목록에 무언가를 추가할 수 없습니다. 들어온 이벤트는 Loop가 수신을 확인할 때까지만 저장되고, Loop는 최대 16 KB의 체크포인트 하나만 보관합니다. 읽은 내용은 Loop 자신의 호출을 통해서만 다른 곳으로 전달됩니다. 예를 들어 TypeSafe AI가 운영하는 Jev에게 보내는 질문이나, 에이전트를 깨우는 메시지가 그렇습니다.

Salix 일부에 장애가 나면 어떻게 되나요?

각 에이전트는 Erlang VM에서 독립된 프로세스로 실행되므로, 장애가 난 부분은 다시 시작되고 다른 에이전트는 계속 실행됩니다. Salix가 접수한 메시지는 재시작 후에도 남아 있으며, 무언가를 바꾸는 동작이 중단되면 저절로 다시 실행되지 않습니다. Loop는 재시작되거나 다른 노드로 옮겨지면 마지막 체크포인트부터 이어서 실행됩니다. Loop 자체 프로그램에 오류가 나면 한 시간에 최대 세 번까지 다시 시작한 뒤, 멈추고 에이전트에게 알립니다.

Lean 증명은 무엇을 보장하고, 무엇을 보장하지 않나요?

에이전트 루프의 핵심은 Lean 코드로 실행되며, 그 증명은 기계가 검사합니다. 증명에 따르면 Salix가 접수한 일은 장애와 재시작을 거쳐도 유지되고, 실패한 응답은 완료로 치지 않으며, 무언가를 바꾸는 각 동작은 Salix가 시작하기 전에 기록되고 최대 한 번만 시작됩니다. 이 증명은 커널 주변 코드에 대해 명시한 가정에 기반하며, 스토리지, 모델의 판단, 작업의 성공 여부는 증명하지 않습니다.

Comma는 내 Mac에서 무엇을 할 수 있고, 접근 권한은 어떻게 회수하나요?

처음에 Comma는 내 Mac을 포함해 연결된 컴퓨터의 파일을 읽기만 할 수 있습니다. 파일을 변경하고, 명령을 실행하고, 그 컴퓨터에 설치된 코딩 에이전트를 쓰도록 허용하려면 Settings > Devices에서 해당 컴퓨터의 Allow operations를 켜세요. 언제든 끌 수 있습니다. 끄면 실행 중인 명령이 멈추고, Comma는 다시 읽기 전용이 됩니다.

Salix는 내 컴퓨터에서 어떤 코딩 에이전트를 실행할 수 있나요?

연결된 컴퓨터에 Codex, Claude Code, Pi, Kimi 중 하나가 설치되어 있고 Allow operations가 켜져 있으면, Comma가 그 에이전트에게 일을 넘길 수 있습니다. 코딩 에이전트는 그 컴퓨터에서 일하고, 대화는 Salix가 유지합니다. 컴퓨터가 오프라인이 되면 그 일은 대기하거나 오류로 실패하며, Salix가 알아서 다른 머신으로 옮기지는 않습니다.

Try Comma, Now.

시작하기