전체 글

5분 읽기TrustPolicy

공유 코딩 에이전트의 감사 로그에 반드시 기록해야 할 내용

무언가 잘못된 날은 로깅을 시작하기에 이미 늦은 날입니다. 모든 요청 라인에 필요한 6개 필드, 모든 승인 라인에 필요한 5개 필드, 로그에 절대 남겨서는 안 되는 항목, 그리고 요청자가 아닌 소유자가 로그를 보관해야 하는 이유를 살펴봅니다.

글 Noah· Product at Muti AI

공유 코딩 에이전트의 **감사 로그(audit log)**는 머신 소유자가 보관하고 내보낼 수 있는, 요청당 한 줄, 승인당 한 줄로 구성된 추가 전용(append-only) 기록입니다. 이 로그는 사후에 누가 에이전트에게 무엇을 요청했는지, 누가 승인했는지, 실제로 무엇이 실행되었는지, 비용이 얼마나 들었는지를 답해 줍니다. 에이전트를 소유자 본인만 사용한다면 런타임 자체의 트랜스크립트로도 충분합니다. 하지만 다른 사람이 요청을 보낼 수 있게 되는 순간, 그것만으로는 부족합니다.

이 글에서는 독자에게 필요한 순서대로 필드를 정리하고, 로그에서 절대적으로 배제해야 할 항목들을 다룹니다.

요청 라인

모든 요청은 최종 상태(terminal state)에 도달할 때 정확히 한 줄의 로그를 생성합니다.

FieldWhy it is there
Request id룸, 채팅 스레드, 버그 리포트 등 모두가 참조하는 handle입니다. 예: R20260906-07.
Who asked요청자의 계정 정보, 그리고 소유자인지, 상시 권한(standing grant)을 가진 멤버인지, 1회 승인을 받은 게스트인지 여부입니다. 신뢰는 사람 단위로 부여되므로, 로그에도 어느 사람인지 명시되어야 합니다.
Which agent, which room에이전트는 머신과 작업 디렉터리를 나타냅니다. 룸은 해당 실행을 지켜본 대상을 나타냅니다.
Which rule let it run소유자 권한, 상시 권한, 또는 승인자의 이름이 포함된 1회 승인 여부입니다. 감사관이 가장 먼저 확인하는 필드입니다.
Outcomedone, failed, cancelled, expired 및 오류 분류(error class, 있을 경우)입니다.
Timing생성(created), 시작(started), 종료(finished) 시각입니다. 생성과 시작 사이의 간격은 승인 대기 시간이고, 시작과 종료 사이의 간격은 실행 시간입니다.
Usage토큰 수 또는 런타임 자체의 사용량 보고서입니다. 이를 통해 다른 사람이 빌려 쓴 요청에 발생한 비용을 추적할 수 있습니다.

승인 라인

승인은 하나의 '결정'이며, 결정은 실행 기록과는 읽는 대상이 다르기 때문에 별도의 라인으로 기록됩니다.

FieldWhy
The action의역이 아닌 정확한 명령어나 경로입니다: git push origin main, rm -rf build/, read ~/.aws/credentials.
The rule it hit공유 브랜치 푸시, 삭제, 비용 지출, 자격 증명(credentials), 또는 커스텀 규칙입니다.
Who asked, who decided두 사람의 이름입니다. 누군가가 에이전트를 빌려 쓸 때는 설계상 이 두 이름이 달라집니다.
The decisionApproved, rejected, continue read-only, 또는 expired입니다.
The note결정자가 입력한 모든 내용입니다. 메모는 요청 자체만큼이나 중요한 무게를 가지므로 기록에 포함되어야 합니다.
Latency요청이 대기한 시간입니다. 대기 시간이 길다면 에이전트의 범위를 더 좁게 정의해야 한다는 신호입니다.

Request lines and approval lines, with an approved push in amber and an expired deletion in red.Request lines and approval lines, with an approved push in amber and an expired deletion in red.

로그에 절대 포함해서는 안 되는 것

  • 비밀 정보(Secrets). 자격 증명 승인 로그에는 키 자체가 아니라 키에 접근했다는 사실만 기록합니다.
  • 파일 내용. diff는 경로와 변경 줄 수로만 기록합니다. 실제 변경 사항은 해당 리포지토리의 자체 접근 제어가 적용되는 리포지토리 안에 있습니다.
  • 전체 명령 출력. 실패 원인을 파악하는 데는 tail(마지막 출력 일부)만으로도 충분합니다. 전체 로그에는 어떤 데이터든 들어갈 수 있습니다.
  • 다른 룸의 데이터. 각 룸의 로그는 해당 룸으로 범위가 한정됩니다. 소유자는 여러 룸에 걸친 로그를 볼 수 있지만, 멤버는 자신이 속한 룸만 볼 수 있습니다.

필드를 넘어 보장해야 할 속성들

추가 전용(Append-only). 소유자를 포함해 그 누구도 로그를 수정할 수 없습니다. 수정 사항은 새로운 라인으로 기록됩니다.

소유자 보관(Owner-held). 작업을 실행한 머신의 소유자가 기록을 보관하고 내보낼 수 있습니다. 요청자는 룸 안에서 자신의 라인을 볼 수 있습니다.

권한 철회 시 완전성 보장. 권한이나 머신을 Revoke하더라도 대기열에 있던 작업은 취소되고 실행 중인 작업은 정상적으로 완료되므로, “무언가 실행되었지만 감시를 중단했다”는 식의 기록 공백이 결코 생기지 않습니다.

소유자 작업 포함. 소유자는 자신의 에이전트에서 승인 절차를 거치지 않지만, 소유자의 요청 또한 동일한 방식으로 기록됩니다. 외부 사용자의 작업만 기록하는 로그는 위험의 절반만 기록하는 것과 같습니다.

로그 읽기

가장 자주 나오는 세 가지 질문은 위의 필드들을 필터링해 한 번에 답할 수 있습니다.

  1. “누가 푸시했지?” 승인 라인에서 rule = push로 필터링한 뒤, who asked와 who decided를 확인합니다.
  2. “이 요청은 왜 한 시간이나 걸렸지?” 생성 시각(created)과 시작 시각(started)을 비교해 봅니다. 승인 대기 시간이 원인인 경우가 대부분입니다.
  3. “이번 달에 내 에이전트를 빌려주는 데 든 비용은 얼마지?” 요청 라인에서 who asked가 소유자가 아닌 항목들의 usage를 합산합니다.

자주 묻는 질문 (FAQ)

룸 타임라인이 곧 감사 로그인가요? 타임라인은 단일 실행에 대한 사람이 읽기 쉬운 상세한 기록입니다. 감사 로그는 필터링과 내보내기에 최적화된, 여러 실행에 걸친 이벤트당 한 줄짜리 요약본입니다. muti는 두 가지를 모두 유지하며, 감사 로그는 daemon이 업로드하는 동일한 이벤트에서 파생됩니다. 자세한 내용은 daemon이 업로드하는 데이터를 참고하세요.

로그는 얼마나 오래 보관되나요? 요청 및 승인 라인은 룸이 유지되는 동안 보관됩니다. 룸을 삭제하면 소프트 삭제(soft-delete) 처리되며, 소유자를 위한 기록은 유지됩니다.

요청자가 다른 사람의 라인을 볼 수 있나요? 해당 룸에 있는 모든 사람의 요청이 표시되는 룸 타임라인은 볼 수 있습니다. 로그 내보내기 권한은 소유자에게만 있습니다.

소유자의 요청도 로그에 기록되려면 승인이 필요한가요? 아닙니다. 소유자의 실행은 별도의 승인 없이 rule = owner로 기록됩니다.

로그는 “나중에 권한을 철회하면 된다”라는 말을 실질적인 약속으로 만들어 주는 장치입니다. 에이전트에 룸을 만들어 보세요. 감사 로그가 함께 제공됩니다.

게시일

당신의 에이전트에게 방을.

muti는 비공개 베타 기간 동안 무료입니다. 에이전트가 있는 컴퓨터를 연결하고 신뢰하는 사람들을 초대하세요.

시작하기

계속 읽기

6분 읽기Comparison

QoderWake and muti

Of every agent product launched in 2026, Alibaba's QoderWake is the closest in shape to muti. Both run on your own machine, and both let a group send it work, through a chat that has to be paired first. They split on whose agent it is, what it runs, and who approves when a colleague's request reaches a delete.

9분 읽기Comparison

WorkBuddy, QwenWork and QoderWake

Tencent's WorkBuddy lets you drive the agent on your own computer from WeChat and WeCom. Alibaba's QwenWork merges desktop, cloud and DingTalk agents into one product. QoderWake runs a team of digital employees on your machine behind a single bot the whole group can mention. All three let colleagues use the agent. They answer how in very different ways.

5분 읽기Personal agents

An agent with its own phone number

Manus Cue gives each personal agent an email address, a phone number, a wallet and a computer. That makes the agent reachable by anyone who has the number, which changes the permission question from "what may my agent do" to "what may a stranger make it do". What Manus 2.0 shipped, and what reachability asks of an agent.