AI 에이전트를 팀 워크플로에 붙이면 처음에는 질문이 단순합니다. “코드를 고쳤나?”, “테스트가 통과했나?”, “요약이 맞나?” 그런데 몇 주만 지나면 더 현실적인 문제가 생깁니다. 에이전트가 만든 diff, 테스트 로그, 브라우저 스크린샷, API 응답 샘플, 리서치 메모, 실패 원인 분석, 승인 기록이 채팅방과 PR 코멘트와 임시 파일에 흩어집니다. 리뷰어는 결과를 믿기 위해 다시 로그를 찾고, 플랫폼팀은 어떤 작업이 어떤 증거를 남겼는지 묻고, 보안팀은 민감한 값이 어디에 저장됐는지 확인하려 합니다.

그래서 최근 중요해지는 흐름이 Agent Artifact Registry입니다. 에이전트 산출물을 대화 중간에 지나가는 텍스트가 아니라, task_id, artifact_id, hash, kind, retention, sensitivity, verification_status를 가진 작업 자산으로 다루는 방식입니다. 이 흐름은 Background Agent Session Result Inbox, Test Evidence Pipeline, Execution Receipt, Context Offload Layer와 자연스럽게 이어집니다. 요약하면, 에이전트가 일을 많이 할수록 중요한 것은 더 긴 대화가 아니라 나중에 믿고 다시 찾을 수 있는 산출물 계층입니다.

이 글에서 얻는 것

  • Agent Artifact Registry가 단순 파일 저장소나 채팅 로그 백업과 어떻게 다른지 이해할 수 있습니다.
  • 어떤 에이전트 산출물을 반드시 보존하고, 어떤 것은 즉시 폐기해도 되는지 판단 기준을 세울 수 있습니다.
  • artifact metadata, redaction, retention, verification status를 숫자와 조건으로 운영하는 방법을 잡을 수 있습니다.
  • result inbox, execution receipt, workspace lease, evidence bundle을 하나의 흐름으로 연결할 수 있습니다.

핵심 개념/이슈

1) 에이전트 산출물은 점점 더 다양해진다

사람 개발자가 남기는 산출물은 대체로 코드 diff, 커밋 메시지, PR 설명, CI 로그 정도였습니다. 에이전트 작업은 여기에 더 많은 중간 산출물을 만듭니다. 문제 재현용 스크립트, 브라우저 스크린샷, 실패한 시도 요약, 모델이 선택하지 않은 후보안, tool call 결과, patch 전후 비교, 외부 문서 근거, 승인 대기 메모까지 생깁니다. 이 중 일부는 최종 PR에 들어가지 않지만, 나중에 “왜 이렇게 바꿨나"를 설명할 때 결정적입니다.

그래서 artifact를 종류별로 나누는 것이 출발점입니다.

artifact kind예시기본 보존
changediff summary, patch file, touched pathsPR 수명 + 90일
evidencetest log, lint result, benchmark, screenshot30~90일
decisiontrade-off note, reviewer question, approval reason180일 이상
runtimetool call output, browser snapshot, sandbox log7~30일
external-effect메시지 전송 증거, 배포 결과, 권한 변경 receipt180일 이상
discarded선택되지 않은 후보, 실패 초안짧게 또는 즉시 폐기

모든 것을 영구 보관하면 비용과 개인정보 리스크가 커집니다. 반대로 아무것도 남기지 않으면 리뷰와 감사가 무너집니다. 실무 기준은 “나중에 의사결정이나 복구에 쓰일 가능성이 있는가"입니다. 되돌리기 어려운 작업일수록 artifact를 더 오래, 더 구조적으로 남겨야 합니다.

2) 채팅 로그는 artifact registry가 아니다

에이전트 결과를 채팅에 붙이면 당장은 편합니다. 하지만 채팅은 보존 정책, 접근 제어, 무결성 검증, 검색 구조가 약합니다. 메시지가 수정되거나 삭제될 수 있고, thread가 갈라지면 맥락이 끊깁니다. 이미지나 로그 첨부는 시간이 지나 만료될 수도 있습니다. 무엇보다 채팅은 사람이 읽기 좋은 표면이지, 시스템이 검증하기 좋은 저장 계층이 아닙니다.

Artifact Registry는 아래 질문에 답해야 합니다.

  • 이 artifact는 어떤 task와 어떤 agent run에서 생성됐나?
  • 원본 파일 또는 로그의 hash가 바뀌지 않았나?
  • 개인정보, 시크릿, 고객 데이터가 포함되어 있나?
  • 누가 볼 수 있고 언제 삭제해야 하나?
  • 어떤 검증을 통과했으며, 어떤 승인이나 receipt와 연결되어 있나?

최소 metadata는 아래 정도면 충분합니다.

artifact_id: art_20260519_00042
task_id: task_fix_checkout_timeout
producer: coding-agent-7
kind: test_evidence
content_ref: s3://agent-artifacts/2026/05/19/art_00042.log
sha256: "..."
sensitivity: internal
retention_days: 90
verification_status: passed
linked_receipt: receipt_20260519_001
created_at: 2026-05-19T10:06:00+09:00

핵심은 저장 위치보다 계약입니다. 로컬 디스크, S3, GitHub Actions artifact, 사내 object store 어디에 둬도 괜찮습니다. 다만 task와 연결되고, 변조 여부를 확인할 수 있고, 보존/삭제/접근 정책이 따라와야 registry라고 부를 수 있습니다.

3) result inbox와 registry는 역할이 다르다

Background Agent Session에서 말한 result inbox는 사람이 결과를 받는 화면입니다. “수정 완료”, “테스트 통과”, “리뷰 필요”, “승인 대기” 같은 상태를 보여줍니다. Artifact Registry는 그 뒤에 있는 근거 저장소입니다. 인박스는 요약과 다음 행동을 보여주고, registry는 원본 증거와 검증 상태를 보존합니다.

예를 들어 에이전트가 버그를 고쳤다고 합시다. 인박스에는 아래 정도가 보이면 충분합니다.

  • 변경 요약 5줄
  • 수정 파일 3개
  • 테스트 결과: passed
  • 남은 리스크 1개
  • 리뷰 버튼

하지만 registry에는 더 자세한 산출물이 연결됩니다.

  • patch artifact
  • failing test 재현 로그
  • fixed test 실행 로그
  • benchmark 전후 비교
  • agent가 참조한 문서 링크 snapshot
  • execution receipt

이 분리가 중요합니다. 사람에게 원본 로그 2만 줄을 보여줄 필요는 없지만, 의심이 생겼을 때 30초 안에 원본으로 내려갈 수 있어야 합니다. 좋은 UX는 모든 정보를 한 화면에 넣는 것이 아니라, 요약과 근거를 안정적으로 연결하는 것입니다.

4) artifact가 없으면 승인도 약해진다

AI 에이전트 작업에서 사람 승인은 자주 등장합니다. 하지만 사람이 승인하려면 볼 근거가 있어야 합니다. “테스트 통과"라는 문장만 있고 어떤 테스트인지, 어떤 환경인지, 언제 실행했는지, 로그가 어디 있는지 없으면 승인은 사실상 신뢰 위임입니다. 그래서 Execution Receipt와 artifact registry는 같이 가야 합니다.

운영 기준은 간단하게 잡을 수 있습니다.

  • 코드 변경 PR: patch + test evidence + touched path summary 없으면 review 대기
  • 배포/릴리스: build artifact hash + rollout evidence + rollback note 없으면 승인 불가
  • 외부 전송: message draft + recipient scope + approval receipt 없으면 실행 금지
  • 브라우저 작업: URL + screenshot 또는 DOM snapshot + action log 중 최소 2개 없으면 완료 처리 금지
  • 보안 판정: finding input + triage decision + false positive/confirmed 근거 없으면 close 금지

이 기준은 빡빡해 보이지만, 실제로는 리뷰어의 부담을 줄입니다. 리뷰어가 매번 “로그 어디 있어요?”, “무슨 테스트 돌렸어요?“를 묻지 않아도 되기 때문입니다.

실무 적용

1) 처음에는 5종 artifact만 등록한다

처음부터 모든 tool output과 reasoning을 저장하려고 하면 바로 과해집니다. 시작은 작게 잡는 편이 낫습니다. 추천 5종은 아래입니다.

  1. patch/diff summary: 변경 파일, 변경 의도, 위험 경로
  2. test evidence: 실행 명령, exit code, 주요 실패/성공 로그 위치
  3. decision note: 선택한 방법과 버린 대안 1~2개
  4. external effect evidence: 메시지 전송, 배포, 권한 변경 같은 외부 효과 증거
  5. visual/browser evidence: 스크린샷, DOM snapshot, URL, action log

주당 에이전트 작업이 20건을 넘거나, 한 작업이 3개 이상 도구를 사용하거나, 결과 검토자가 2명 이상이면 이 5종만 있어도 효과가 큽니다. 반대로 개인 실험 수준이면 metadata 형식만 정해 두고 실제 registry는 나중에 붙여도 됩니다.

2) metadata는 짧고 강하게 고정한다

artifact metadata가 너무 길면 아무도 제대로 채우지 않습니다. 최소 필드는 8개 정도로 시작합니다.

필드이유
artifact_id산출물 고유 식별자
task_id어떤 작업에서 생겼는지 연결
kinddiff, test, screenshot, receipt 등 분류
produceragent, human, CI job 구분
content_hash변조/교체 감지
sensitivitypublic/internal/restricted/secret
retention_until삭제 책임 명확화
verification_statuspassed/failed/blocked/unverified

추가 필드는 나중에 붙이면 됩니다. 예를 들어 비용 분석이 필요하면 size와 storage class를 넣고, 보안 감사가 필요하면 redaction policy와 access log ref를 넣습니다. 처음부터 30개 필드를 요구하면 에이전트도 사람도 형식만 맞추고 내용은 비게 됩니다.

3) redaction과 보존 정책을 먼저 넣는다

artifact registry에서 가장 흔한 사고는 “좋은 증거 저장소"가 어느새 “민감한 로그 보관소"가 되는 것입니다. 테스트 로그에는 토큰이 찍힐 수 있고, 브라우저 스크린샷에는 고객 이메일이 보일 수 있고, API 응답 샘플에는 내부 ID가 들어갈 수 있습니다. 따라서 저장 전 redaction이 기본이어야 합니다.

운영 기준은 아래처럼 잡습니다.

  • secret 탐지 시 저장 차단 또는 보안 저장소로 격리
  • restricted artifact는 링크 공유 금지, task 참여자와 감사자만 접근
  • screenshot은 OCR/패턴 기반으로 이메일·전화번호·토큰 후보 마스킹
  • raw tool output은 기본 714일, decision/evidence는 30180일 보존
  • 외부 효과 evidence는 조직 감사 정책에 맞춰 180일 이상 보존

이 정도만 해도 “무엇을 저장할까"와 “무엇을 저장하면 안 될까"를 동시에 다룰 수 있습니다. 에이전트 운영에서 보존은 품질 문제이면서 보안 문제입니다.

4) registry를 검색 계층과 연결한다

artifact는 저장만 하면 반쪽입니다. 나중에 찾아야 가치가 있습니다. 검색 키는 자유 텍스트보다 운영 키 중심이 좋습니다.

  • task id, PR number, commit sha
  • agent run id, workspace lease id
  • error signature, test name, package name
  • service name, owner team, risk label
  • approval id, receipt id

이 구조가 있으면 Agent Workspace Lease Broker의 lease 종료 이벤트, Agent Handoff Packet의 인수인계 정보, Test Evidence Pipeline의 검증 결과를 한 번에 엮을 수 있습니다. 에이전트가 만든 결과가 많아질수록 검색 가능한 산출물 그래프가 팀 기억이 됩니다.

트레이드오프/주의점

첫째, artifact registry는 관측성을 높이지만 저장 비용을 만듭니다. 로그, 스크린샷, trace, patch를 모두 보관하면 비용이 빨리 늘어납니다. 기본값은 tiered retention이 좋습니다. raw runtime artifact는 짧게, decision/evidence artifact는 길게, 외부 효과와 감사 대상 artifact는 가장 길게 둡니다.

둘째, registry가 있다고 해서 모든 artifact가 진실은 아닙니다. 에이전트가 잘못된 테스트를 실행했거나, screenshot이 다른 환경에서 찍혔거나, 로그가 실패 부분을 포함하지 않을 수 있습니다. 그래서 artifact에는 verification_status가 필요합니다. uploadedverified는 다릅니다. CI가 exit code와 command를 확인했는지, 사람이 검토했는지, hash가 PR과 연결됐는지 상태를 분리해야 합니다.

셋째, 과한 저장은 프라이버시 리스크를 키웁니다. 특히 에이전트가 브라우저와 외부 SaaS를 다루면 화면에 의도치 않은 정보가 찍힐 수 있습니다. 스크린샷은 편하지만 위험합니다. 고위험 화면은 전체 캡처보다 특정 영역 캡처, DOM 텍스트 요약, 마스킹된 evidence를 우선 검토하세요.

넷째, registry를 감시 도구처럼만 운영하면 개발자가 우회합니다. 목적은 사람을 추적하는 것이 아니라 작업 결과를 재현 가능하게 만드는 것입니다. 그래서 개인별 순위표보다 작업 유형별 누락률, artifact 검증 실패율, 리뷰 재질문 감소율을 보는 편이 낫습니다.

체크리스트 또는 연습

운영 체크리스트

  • 에이전트 작업 결과에 task_idartifact_id가 연결된다.
  • diff, test evidence, decision note, external effect evidence, visual evidence 중 필수 artifact 종류가 정해져 있다.
  • artifact metadata에 kind, producer, hash, sensitivity, retention, verification status가 있다.
  • raw 로그와 스크린샷 저장 전 redaction 또는 차단 절차가 있다.
  • PR/배포/외부 전송 같은 고위험 작업은 필수 artifact 누락 시 승인 대기로 멈춘다.
  • result inbox는 요약을 보여주고, registry는 원본 증거와 보존 상태를 관리한다.
  • artifact 누락률, 검증 실패율, 리뷰어 재질문 횟수를 지표로 본다.

연습

  1. 최근 에이전트 또는 자동화 작업 10건을 골라, 각 작업의 결과 증거가 어디에 흩어져 있는지 표로 적어 보세요. 채팅, PR, CI, 로컬 파일, 스크린샷 폴더가 섞여 있다면 registry 후보입니다.
  2. 팀의 고위험 작업 3종을 고릅니다. 예를 들어 배포, 외부 메시지 전송, 권한 변경입니다. 각 작업에 대해 승인 전에 반드시 필요한 artifact 3개를 정해 보세요.
  3. artifact metadata를 8개 필드 이하로 설계해 보세요. 필드를 늘리고 싶다면 먼저 “이 필드로 어떤 자동 판단을 할 것인가"를 적어야 합니다.
  4. raw 로그 1개와 브라우저 스크린샷 1개를 샘플로 잡아 redaction 규칙을 만들어 보세요. 토큰, 이메일, 전화번호, 내부 URL 중 무엇을 마스킹해야 하는지 확인합니다.

Agent Artifact Registry는 에이전트 운영을 무겁게 만드는 장치가 아닙니다. 오히려 작업이 많아질수록 대화를 가볍게 만드는 장치에 가깝습니다. 사람은 인박스에서 요약과 다음 행동만 보고, 필요할 때 registry에서 검증 가능한 근거로 내려갑니다. AI 에이전트 시대의 좋은 개발 플랫폼은 더 많은 출력을 만드는 플랫폼이 아니라, 어떤 출력이 믿을 만하고 얼마나 오래 남아야 하는지 관리하는 플랫폼이 될 가능성이 큽니다.