데모는 반나절, 운영은 석 달이 막힌 이유
한 B2B SaaS 운영팀이 영업 데이터를 읽어 주간 리포트를 쓰는 에이전트를 만들기로 했다. 시연은 빨랐다 — 스킬을 붙이고 샘플 데이터를 물려 그럴듯한 초안을 띄우는 데 반나절도 안 걸렸다. 스폰서는 “다음 주부터 쓰자”고 했다.
그다음 석 달이 막혔다. 막힌 곳은 모델이 아니었다. 같은 ‘매출’이 팀마다 다른 테이블을 가리켜 어느 숫자가 정답인지 아무도 단언하지 못했다. 섞인 개인정보를 무엇까지 가릴지 규칙이 없었다. “이 고객은 어느 단계인가”의 업무 규칙은 담당자 머릿속에만 있었다. 결과가 맞는지 비교할 정답 세트가 없어 검수는 매번 사람이 처음부터 다시 읽는 일이 됐다.
시연은 데이터 한 조각으로 됐지만, 운영은 데이터 전체를 에이전트가 안전하게 읽을 수 있어야 가능했다. 여러 과제를 운영에 넣어보며 가장 비싸게 배운 것이 이것이다. AX에서 가장 큰 비용은 토큰이 아니다. 미뤄둔 데이터·권한·업무규칙 정리, 곧 밀린 DX가 청구서로 돌아온다.
엔터프라이즈 AI 실패의 상당수는 모델이 아니라 ‘harness’ — 맥락·스키마·상태 관리 — 의 결함에서 온다(서문 ‘왜 지금인가’ 참조).
이 장은 그 청구서를 파일럿 전에, 최소한으로 끊는 법을 다룬다. 5장이 ‘무엇을 재설계할지’, 6장이 ‘그것을 만들지 말지’를 물었다면, 7장은 그것이 에이전트가 읽을 수 있는 바닥 위에 서 있는가를 묻는다.
핵심 관점: 비용은 토큰이 아니라 ‘밀린 DX’에 있다
AX 비용을 구현비·토큰비만으로 보면 총비용을 크게 과소평가한다(총비용 3층 분리는 11장 참조). 세 층 중 가장 큰 것은 에이전트 리더블 전환비다 — 데이터·시스템·업무규칙·권한·평가 기준을 에이전트가 안전하게 쓰게 정리하는 비용이다. 토큰은 운영 실행비의 일부일 뿐이다.
직접 비용을 태깅해보면 전환비가 구현비·운영비를 합친 것보다 컸다. 비율은 과제·조직마다 다르니 절대값은 당신의 칸에 채워라. 그러나 순서는 바뀌지 않는다. 토큰을 아끼려 모델을 바꾸는 동안 진짜 청구서는 정리되지 않은 데이터에서 매주 쌓인다.
왜 큰가. AI가 비싸서가 아니다. 데이터·시스템·업무규칙이 사람의 암묵지와 부서별 관행에 기대 굴러왔기 때문이다. SSOT가 약하거나 owner·권한·등급·예외 기준이 없으면 에이전트는 바로 일하지 못한다. 사람이 메신저·구두·엑셀로 메워오던 비용이 AX 시점에 한꺼번에 드러난다. 새 낭비가 아니라 미뤄둔 DX가 보이기 시작한 것이다. 숨기면 구현비만 낮게 보이고, 운영 단계에서 품질·보안·장애·재작업 비용이 더 크게 돌아온다.
한 줄 원칙: 에이전트는 사람이 아니다. 사람은 모호한 데이터를 메신저로 물어 메우지만 에이전트는 못 메운다. 사람이 메워오던 그 비용이 곧 전환비다.
‘에이전트 리더블’이 정확히 무엇인가 — 5개 영역
‘데이터 준비’는 막연하다. 회의에서 쓰려면 항목으로 떨어져야 한다. 전환비는 다음 5개 영역으로 나뉜다. 각 영역은 ‘대표 산출물’을 남겨야 끝난 것으로 친다 — 슬라이드가 아니라 재사용 가능한 산출물이 증거다.
| 영역 | 정리해야 하는 것 | 대표 산출물 | 없으면 생기는 일 |
|---|---|---|---|
| D1. AI-ready data / SSOT | 원천 위치·owner, 같은 entity(고객·공고·계약)를 무엇으로 통일하는가 | Source Manifest, Canonical Mapping, Index Artifact | 같은 지표가 조직마다 다른 숫자. 검증 무한 루프 |
| D2. 시스템/MCP/API 연결 | 기존 시스템을 에이전트가 호출 가능한 계약으로 연결 | MCP Tool, API adapter, Tool Contract | “시스템에 없어서 사람이 대신” — C형(5장) 영구화 |
| D3. 업무 맥락/프로세스 | 절차·예외·승인 흐름·라우팅 기준을 글로 표현 | 업무 규칙, 예외 케이스, 상태값 정의 | 규칙이 머릿속에만 있어 판정 불가 |
| D4. 권한/감사/보안 | 누가 무엇을 읽고 실행하는가, 무엇을 가리는가 | 데이터 등급표, 마스킹 룰(Redaction Rule Pack), 감사 기록 | 개인정보·시크릿 유출 위험. 감사 대응 비용 폭증 |
| D5. 평가/관측 기준 | 결과 품질·비용을 무엇으로 판정하는가 | 평가셋(골든셋), 품질 샘플링 기준, 비용 태그 | “좋아진 것 같다”는 체감만. 비교 불가(10장) |
이 중 착수에 반드시 선행할 둘은 D4(등급·마스킹)와 D5(평가셋)다. 나머지(D1·D2·D3)는 파일럿 범위만큼만 정리한다(전사 정리 함정은 뒤에서 다룬다).
핵심: 한 번 정리하면 여러 스킬·앱이 재사용하는 공통 기반이다. 단일 스킬 비용으로 귀속하지 않고 사용 비중에 따라 배분한다(11장 총비용·순가치).
의사결정 트리: 이 파일럿, 데이터 준비가 됐는가
착수 직전 후보를 이 트리에 넣는다. ‘아니오’가 한 번이라도 나오면 멈추고 준비를 먼저 한다. 이 트리는 8장 착수 게이트의 앞단에 붙는다.
[파일럿 착수 후보]
│
▼
G1. 이 파일럿이 읽을 데이터의 '정답 원천'(SSOT)을
한 곳으로 댈 수 있는가?
├─ 아니오 → SSOT 미정, 복사본 난립 위험.
│ → 이 범위의 원천·owner부터 지정(D1)
└─ 예
│
▼
G2. 그 데이터의 '등급'을 판정했고,
Restricted/Confidential이 섞였다면
마스킹·금지 규칙이 정해졌는가?
├─ 아니오 → 착수 보류. 데이터 등급·마스킹 먼저(D4)
│ ※ 이 게이트는 건너뛸 수 없다
└─ 예
│
▼
G3. 에이전트가 따라야 할 업무 규칙·예외·상태값이
글로 적혀 있는가?(머릿속이 아니라)
├─ 아니오 → 규칙 문서화 먼저(D3).
│ 5장 B형(업무 재설계) 후보일 수 있음
└─ 예
│
▼
G4. 에이전트가 시스템을 '읽기만' 하는가,
'쓰기·실행'까지 하는가?
├─ 쓰기/실행 → 호출 계약·권한·롤백 경로 필요(D2).
│ 16장 피해 반경(blast radius) 판정으로 연결
└─ 읽기만 → G5로
│
▼
G5. 결과가 맞는지 비교할
최소 평가셋이 있는가?
├─ 아니오 → 착수 보류. 최소 평가셋 먼저(D5).
│ 없으면 파일럿은 "체감"만 남긴다(10장)
└─ 예 ───────────────────▶ 착수 가능. 8장 파일럿 게이트로
G2(데이터 등급·마스킹)와 G5(평가셋)는 건너뛸 수 없는 두 관문이다. 나머지는 ‘미흡하면 그 범위만 보강’이지만, 이 둘은 ‘없으면 착수 자체를 막는’ 게이트다. 개인정보를 안 가리고 외부 모델로 보내는 파일럿, 정답 없이 결과를 주장하는 파일럿 — 둘 다 시작하지 않는 것이 정답이다.
단계별 적용
1단계 — 데이터 등급을 먼저 판정한다(모델보다 데이터가 먼저)
모델 선택보다 데이터 판정이 먼저다. 파일럿이 읽을 데이터를 네 등급으로 가르면 ‘어떤 AI 환경에 넣어도 되는가’가 자동으로 갈린다.
| 등급 | 정의 | 예시 | 처리 / AI 환경 |
|---|---|---|---|
| Public | 외부 공개 허용 | 공개 보도자료, 공개 API 문서 | 내부·외부 SaaS·공개형 모두 허용 |
| Internal | 사내 전용, 유출 영향 제한적 | 내부 매뉴얼, 비민감 회의록 | 내부 승인 환경. 외부 SaaS는 약관 확인 조건부, 공개형 금지 |
| Confidential | 유출 시 사업상 손실 | 미공개 전략, 고객 계약서, 소스코드 | 마스킹+통제 환경 필수. 외부 SaaS·공개형 금지(예외 심의) |
| Restricted | 법적·규제 보호 대상 | 주민번호·건강·결제·인증정보·대규모 PII | 원칙적 금지, 최소 범위 예외 승인. 비식별/대체 우선 |
운영 원칙 세 줄: (1) 데이터 등급이 AI 사용 범위를 결정한다. (2) 외부 전송은 호출 여부가 아니라 ‘저장·재학습·국외 이전’을 함께 본다. (3) 마스킹은 예외가 아니라 기본 통제다 — 가능하면 원문 대신 비식별 데이터로 대체한다.
2단계 — 마스킹 규칙을 산출물로 남긴다
“개인정보 조심하자”는 구호는 산출물이 아니다. 무엇을 어떻게 가릴지 표로 고정해야 에이전트가 일관되게 따른다.
| 데이터 항목 | 기본 정책 | 예시 |
|---|---|---|
| 이름 | 부분 마스킹 또는 대체 ID | 홍길동 → 고객#A0001 |
| 이메일 | 로컬파트 마스킹 | a**@example.com |
| 전화번호 | 중간 자리 마스킹 | 010-****-0000 |
| 주민번호/여권번호 | 전체 제거 또는 토큰화 | 원문 저장 금지 |
| 계좌/카드 | 전체 제거, 마지막 4자리만 | --****-0000 |
| 주소 | 상세주소 제거, 지역 단위 축소 | 시·구까지만 |
| 인증정보/비밀키 | 금지 | 테스트용 더미 값만 |
주의: 부분 마스킹만으로 재식별 가능한 경우(희귀 조합 속성)는 추가 익명화를 적용한다. 통과 기준은 ‘한 번 가렸다’가 아니라 ‘재식별 불가’까지다.
3단계 — SSOT를 지정하고 ‘복사본 대신 참조’를 강제한다
하나의 DB로 합치라는 말이 아니다. 원천은 그대로 두되, 에이전트가 쓰도록 source·owner·등급·신선도·품질 기준을 표준화한다. 중심 단위는 서비스 DB가 아니라 ‘Source Manifest’(무엇이 어디에, 누가 owner, 언제 갱신)와 ‘Canonical Mapping’(고객·공고·계약을 무엇으로 통일하는가)이다.
원칙은 복사 대신 참조다. 같은 지표를 복제하면 숫자가 갈라지고, 도구를 만들어도 “정답이 뭐냐”에서 검증이 끝나지 않는다. 파일럿 범위만큼만 SSOT를 지정하고 복사본을 참조로 바꾼다.
4단계 — 최소 평가셋을 만든다(이것이 파일럿의 정답지)
평가셋은 ‘에이전트 결과가 맞는지 비교하는 정답 묶음’이다. 거창할 필요 없다 — 사람이 처리한 결과 중 신뢰할 표본 한 묶음이 출발점이다. 파일럿 결과를 사람 결과와 비교하면 그것이 곧 전후 비교(L2)의 근거다.
| 평가 대상 | 최소 평가셋의 형태 | 무엇을 보는가 |
|---|---|---|
| 추출·분류 | 입력 표본 + 사람이 매긴 정답 라벨 | 누락률, 오분류율 |
| 검색·근거 제시 | 질문 표본 + 기대 근거 문서 | 정답 문서를 찾아오는가 |
| 생성·요약·초안 | 입력 표본 + 합격 기준(체크리스트) | 사실오류·누락 여부 |
| 자동 처리(실행) | 입력 표본 + 기대 결과/상태 | 결과 일치, 실패 시 안전 복구 |
평가셋이 없으면 파일럿은 “좋아진 것 같다”만 남긴다. 있어야 ‘비교’가 남는다. 5장 워크시트 10번(성공 기준)과 10장(증거 등급)으로 이어진다.
최소 준비 체크리스트 — 파일럿 착수 전 한 장
전사가 아니라 이번 파일럿이 만질 범위만큼만 채운다.
- 이 파일럿이 읽는 데이터의 **SSOT(정답 원천)**를 한 곳으로 지정했다.
- 데이터에 owner가 있고, 신선도(언제 갱신) 기준이 있다.
- 데이터 **등급(Public/Internal/Confidential/Restricted)**을 판정했다.
- Restricted/Confidential이 섞였다면 마스킹·금지 규칙을 표로 정했다(재식별 불가까지 확인).
- 외부 모델로 보내는 경로가 있다면 저장·재학습·국외 이전을 검토했다.
- 에이전트가 따를 업무 규칙·예외·상태값이 글로 적혀 있다(머릿속이 아니라).
- 에이전트가 쓰기·실행을 한다면 호출 계약·권한·롤백 경로가 있다(16장 피해 반경 연결).
- 결과를 비교할 **최소 평가셋(정답 표본)**이 있다.
- 위 준비 산출물(Manifest·마스킹 룰·평가셋)에 owner와 폐기 기준을 붙였다(15장 재사용 연결).
마지막 항목이 핵심이다. owner·버전·폐기 기준이 없는 준비물은 재사용되지 못하고 또 처음부터 만들게 된다. 한 번 만든 데이터 계약·평가셋·마스킹 룰은 여러 파일럿이 나눠 쓴다(15장).
흔한 실패모드
직접 밟아본 지뢰들이다. 각 모드 끝의 레드플래그는 “이 말이 나오면 의심하라”는 회의용 판별구다.
1 — 전제 미정비 상태의 자동화 착수. 데이터 표준·권한·시크릿 관리 없이 자동화부터 얹는다(자격증명 하드코딩 포함). 순서가 거꾸로 강요되고 오류가 확산된다. 레드플래그: “일단 돌려보고 데이터는 나중에 정리하죠.” 차단: G1~G2.
2 — 단일 원장 부재, 복사본 난립. 같은 지표가 다른 테이블을 참조해 숫자가 갈린다. “왜 그 숫자냐” 추적 불가. 레드플래그: 도구를 만들어도 “그래서 정답이 뭐냐”가 매 회의 미해결로 반복된다. 차단: 3단계 SSOT + ‘복사 대신 참조’.
3 — 측정 인프라 없이 시작. As-Is 로그·기준선 없이 “무엇부터 옮길지”와 출시일을 정한다. 누락 기능은 런칭 후에야 드러난다. 레드플래그: 기준선 로그 없이 우선순위·일정이 먼저 잡혀 있다. 차단: 4단계 평가셋 + G5(10장).
4 — 등급 생략하고 외부로 전송. 등급 판정 없이 외부 도구에 사내 데이터를 넣는다. 개인정보·영업비밀이 벤더 저장·재학습 경로로 샌다. 레드플래그: “외부 모델이 성능 좋으니 그냥 다 넣자.” 차단: G2 + 1단계 등급표.
5 — 접근 권한 양극화가 분석 병목. “신청하면 다 주는” 과잉 개방과 정작 필요한 영역의 차단이 공존한다. 보안 사각과 분석 병목이 동시에 생긴다. 레드플래그: 정밀 분석을 요구하면서 접근권·관리 주체는 정하지 않았다. 차단: D4 + G4.
6 — 전사 정리 완벽주의. “다 정리한 다음 시작하자”며 착수를 무한 연기한다. 전환비가 끝없이 불어나고 증명할 파일럿이 영영 안 열린다. 레드플래그: 준비 범위가 ‘이번 파일럿’이 아니라 ‘전사 전체’로 잡혀 있다. 차단: 체크리스트의 ‘이번 파일럿이 만질 범위만큼만’.
1~5는 ‘준비를 건너뛴’ 실패, 6은 ‘준비를 과하게 한’ 실패다. 에이전트 리더블은 진보적 이행이다 — 기존 DB·인덱스·로그를 유지하면서 파일럿 범위만큼만 AI-ready 계층을 병행 구축한다. 전사 정비를 착수 조건으로 걸면 준비 자체가 또 하나의 끝나지 않는 프로젝트가 된다.
Before/After: 같은 파일럿, 준비의 유무
예를 들어 한 채용 플랫폼 기업의 운영 분석 조직을 보자. 흩어진 운영 데이터를 읽어 “이번 주 처리 현황 요약”을 자동으로 쓰는 에이전트를 파일럿한다.
| 구분 | Before (준비 건너뜀) | After (최소 준비 선행) |
|---|---|---|
| 데이터 원천 | 팀마다 다른 시트·테이블 | SSOT 1개, owner·신선도 명시 |
| 개인정보 | 등급 미판정, 원문 입력 | 등급 판정 + 마스킹 룰(재식별 불가) |
| 업무 규칙 | 담당자 머릿속 | 상태값·예외 기준 문서화 |
| 평가 | 매번 사람이 처음부터 검수 | 정답 표본 평가셋으로 전후 비교(L2) |
| 결과·보고 | 숫자가 회의마다 다름, “자동화했다”뿐 | 같은 원천 → 같은 숫자, “기준선 대비 검수 시간 감소·마스킹 확인” |
| 토큰비 vs 전환비 | 토큰만 보다 진짜 비용 못 봄 | 전환비를 예산에 포함, 산출물 재사용 |
두 갈래는 같은 데이터, 같은 역량에서 출발했다. 갈린 지점은 하나 — 에이전트가 읽을 수 있게 바닥을 깔았는가다. Before의 토큰비는 더 쌌지만, 정리되지 않은 데이터가 만든 재작업·검증 루프 비용이 그보다 컸다.
리더가 승인·요구할 신호
제안서를 사이에 둔 양쪽이 같이 쓰는 게이트다. 승인자에게는 통과·반려 기준, 실무자에게는 통과 준비 체크리스트다. 거버넌스 세부는 16·17장에 있고, 여기서는 회의에서 한 문장으로 쓸 신호만 남긴다.
요구할 것 (없으면 검토 테이블에 올리지 않는다)
- 데이터 등급 판정 결과와 마스킹 적용 확인 — “어느 등급이며, Restricted/Confidential은 어떻게 가렸는가”가 없으면 반려(G2).
- 외부 모델 경로가 있다면 저장·재학습·국외 이전 검토 결과.
- 결과를 비교할 최소 평가셋의 존재(없으면 8장 게이트로 안 보낸다).
- 쓰기·실행을 한다면 롤백 경로(16장 피해 반경 선행).
반려할 것
- 데이터·권한·시크릿 정비 없이 “일단 돌려보자”로 올라온 제안(시크릿 하드코딩 포함).
- 등급 판정 없이 사내 데이터를 외부 도구에 넣는 설계.
- 기준선·평가셋 없이 출시일부터 박힌 파일럿(“효과는 나중에 증명”).
승인할 것
- 착수 전 ‘최소 데이터 준비’ 선투자. 평가셋·권한·업무규칙 정리 비용을 예산에 포함해 승인한다. 새 낭비가 아니라 밀린 DX다(11장).
- 준비 범위를 **‘이번 파일럿이 만질 범위만큼’**으로 한정한 계획.
- 산출물(Manifest·마스킹 룰·평가셋)에 owner·폐기 기준을 붙여 재사용 자산으로 관리하는 결정(15장).
이 장의 요약
- AX에서 가장 큰 비용은 토큰이 아니다. ‘에이전트 리더블 전환비’ — 밀린 DX가 드러난 것 — 가 구현비·운영비를 합친 것보다 크다(11장).
- 전환은 5개 영역(SSOT·시스템 연결·업무규칙·권한/마스킹·평가셋)으로 떨어지고, 각 영역은 재사용 가능한 산출물로 끝낸다.
- **의사결정 트리(G1~G5)**로 점검하되, G2(등급·마스킹)와 G5(평가셋)는 건너뛸 수 없는 두 게이트다.
- 모델보다 데이터 판정이 먼저다. 등급이 AI 사용 범위를 정하고, 마스킹은 예외가 아니라 기본 통제다.
- SSOT를 지정하고 복사 대신 참조한다. 갈라지면 도구를 만들어도 “정답이 뭐냐”에서 검증이 끝나지 않는다.
- 최소 평가셋이 파일럿의 정답지다. 없으면 “좋아진 것 같다”만, 있으면 ‘비교’가 남는다(10장).
- 준비는 ‘이번 파일럿이 만질 범위만큼만’(진보적 이행). 산출물에 owner·폐기 기준을 붙여 다음 과제가 재사용하게 한다(15장).
이 장의 5개 영역·의사결정 트리·등급표·체크리스트·실패모드는 도구·모델이 바뀌어도 유지되는 골격이다. ‘harness 결함 비중’, 전환비·토큰비 상대 비율 같은 수치는 부록 근거 레이어와 당신 조직의 태깅 결과로 보정한다. 데이터 등급 명칭·마스킹 기본값·외부 전송 기준의 세부는 사내 데이터·보안 정책 최신본을 단일 원장(SSOT)으로 따른다.