본문 바로가기
C.W.K.
Stream
Lesson 09 of 10 · published

감사 기록 — 사고가 터졌을 때

~12 min · security, audit, logging

Level 0수련생
0 XP0/100 lessons0/14 achievements
0/120 XP to next level120 XP to go0% complete

새벽 두 시에 진실을 알려줄 기록

자격 증명이 새거나, 권한 없는 행동이 실행되거나, 모델이 환불액을 꾸며낸 사고가 터지면 기록만이 유일한 사실 기준이야. 기록이 없으면 원인을 추측할 뿐이지.

요청마다 남길 항목

  • 고유한 요청 ID. 고객 지원을 위해 사용자에게도 보여줘.
  • 인증된 사용자 ID. 세션 토큰만 남겨서는 안 돼.
  • 프롬프트 버전, 모델, 샘플러 매개변수.
  • 개인정보 정책에 맞게 처리한 전체 입력.
  • 검색한 청크, 도구 호출, 도구 반환값.
  • 허용되는 범위의 추론 기록.
  • 최종 출력과 출력 필터의 표시.
  • 멱등성 키와 함께 실제로 실행된 후단 행동.

보관 기간과 접근 권한도 설계해

사고를 조사할 만큼 오래 남기되 개인정보 규칙을 어기지 않을 만큼 짧게 보관해. 저장할 때 암호화하고, 원본 기록은 사고 대응자만 보게 하며 집계 지표만 넓게 공개해.

Code

감사 기록의 구조·json
{
  "request_id": "req_abc123",
  "user_id": "u_456",
  "prompt": "support.draft@7",
  "model": "claude-opus-4-7",
  "sampler": {"temperature": 0.2, "max_tokens": 1024},
  "input_redacted": "...",
  "retrieved": ["chunk:manual-3.4", "chunk:faq-12"],
  "tool_calls": [{"id": "call_xyz", "name": "search_orders", "args": {"customer_id": "..."}}],
  "output_flags": [],
  "actions": [{"name": "send_email", "id": "act_pqr", "idem_key": "..."}],
  "created_at": "2026-05-04T12:34:56Z"
}

External links

Exercise

끝점 하나의 감사 기록 스키마를 그려봐. 프롬프트 버전, 검색 청크, 멱등성 키처럼 오늘 빠진 필드를 찾아 추가해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.