시연자는 잘 읽히는 문서를 고르고, 필요한 계정에 미리 로그인한 뒤, 애매한 결과를 화면 밖에서 고칠 수 있습니다. 같은 자동화를 업무 담당자에게 넘기면 그 준비 작업까지 운영 절차에 포함됩니다. 구글 SRE의 제품 출시 점검이 요청 흐름, 의존 서비스, 부하 가정과 운영 책임을 함께 다루는 이유도 실행 코드 밖에 출시 조건이 있기 때문입니다.
자동화의 운영 범위는 “문서를 처리합니다”보다 좁고 구체적입니다. 어떤 문서를 어느 계정으로 받아서, 무슨 결과를 남기며, 판단이 어려울 때 누가 인계받는지까지 적으면 시연에서 확인하지 않은 부분이 드러납니다.
시연에 쓴 입력이 운영 대상을 대표하는지 확인하기
잘 고른 샘플에는 선택 과정이 숨어 있습니다. 텍스트가 또렷한 PDF만 골랐다면 스캔본과 사진은 검증하지 않은 입력입니다. 제출자가 양식의 필수 칸을 모두 채웠다면 누락값을 받았을 때의 동작은 아직 모릅니다. 시연에서 통과한 입력과 업무에 실제로 들어오는 입력을 각각 적으면 검증하지 않은 종류가 드러납니다.
가상의 구매 요청 분류 업무에서는 한글 신청서, 영문 견적서, 사진으로 찍은 영수증이 같은 수신함에 들어옵니다. 시험용 문서가 정형 신청서뿐이었다면 “구매 문서를 분류한다”는 설명은 검증 범위를 넓게 잡은 것입니다. 정형 신청서 자동 분류부터 운영하고 나머지 입력을 검토 대기함으로 보내는 쪽이 관측 가능한 시작점입니다.
입력을 늘릴 때는 파일 개수와 함께 달라지는 속성을 기록합니다. 문서 종류, 언어, 텍스트 추출 가능 여부, 필수 필드 누락, 한 파일 안의 여러 요청을 구분합니다. 형식이 같은 문서가 많아져도 새로운 실패 조건을 확인했다는 근거가 되지는 않습니다.
기존 업무에서 “접수된 것”의 범위도 고정합니다. 읽을 수 없어 제외한 파일, 중복으로 판정한 요청, 검토 대기함에 남은 문서를 분모에서 빼면 자동 처리 성공률이 높아 보입니다. 접수 건수에서 자동 처리, 수동 처리, 처리 불가, 대기 상태로 어떻게 나뉘었는지 남겨야 누락이 보입니다.
입력과 외부 서비스는 코드가 같아도 달라집니다
상류 시스템이 날짜 표기나 항목 이름을 바꾸면 문서 추출 단계의 가정이 깨집니다. 텍스트가 추출됐어도 통화나 세금 포함 여부를 잘못 읽으면, 형식이 정상인 분류 결과 안에 오류가 남습니다. 파일을 열었다는 기록과 필요한 정보를 올바르게 얻었다는 기록을 분리하면 이 차이를 찾기 쉽습니다.
2015년 논문 Hidden Technical Debt in Machine Learning Systems는 다른 시스템이 만드는 입력에 의존할 때 그 입력이 바뀌면서 유지 비용이 생기는 문제를 설명합니다. 전통적인 머신러닝 시스템을 다룬 논문입니다. LLM을 쓰는 문서 자동화에서는 이를 입력 생산자, 형식 변경, 결과 소비자의 가정을 묻는 운영 점검으로 옮겨 쓸 수 있습니다.
구매 요청의 “금액”을 예로 들면 숫자만 저장하는 계약과 통화·세금 조건을 함께 저장하는 계약은 다릅니다. 값이 없을 때 빈칸으로 둘지, 0으로 볼지, 검토 대상으로 보낼지도 정합니다. 예시 업무에서는 금액이나 통화가 빠진 요청을 검토 대상으로 보냅니다. 누락을 0으로 채우면 낮은 금액의 정상 요청으로 잘못 분류할 여지가 생깁니다.
외부 서비스의 응답도 입력의 일부입니다. API 오류, 응답 지연, 필드 누락이 뒤 단계에 어떤 값으로 전달되는지 확인합니다. 서비스나 모델의 설정이 바뀐 날짜를 결과 기록과 연결하면, 같은 파일에서 결과가 달라진 원인을 비교할 단서가 남습니다.
시연자가 대신하던 예외 처리를 업무량에 포함하기
시연 전에 파일 이름을 정리하고, 중복 요청을 지우고, 거래처 이름을 통일했다면 그 작업은 운영 비용에 포함됩니다. 사람이 결과를 고치는 단계가 있다면 어떤 항목을 왜 고쳤는지 기록합니다. “사람이 확인합니다”라는 한 문장만으로는 필요한 판단과 소요 작업을 알 수 없습니다.
구매 요청 분류를 검토하는 담당자는 거래처 표기만 고칠 수도 있고, 잘못된 비용 항목을 다시 판단할 수도 있습니다. 두 작업을 같은 ‘수정 1건’으로 세면 운영자가 맡는 부담이 가려집니다. 단순 표기 수정, 근거 확인, 업무 판단, 입력자 재문의처럼 개입 유형을 나누면 어느 부분이 자동 처리에 맞는지 보입니다.
실행 계정도 시연 환경과 대조합니다. 관리자 개인 계정으로 읽고 쓰던 작업을 운영 계정으로 옮기면 폴더 접근, 외부 연동, 승인 가능 범위가 달라질 수 있습니다. 계정 이름만 비교하지 않고 실제 사용할 데이터와 실제 작업별로 허용·거부 결과를 확인합니다.
담당자가 자리를 비웠을 때의 인계도 운영 조건입니다. 애매한 요청이 누구의 대기함으로 가는지, 인계받은 사람이 원문과 판단 근거를 볼 수 있는지, 오래 남은 요청을 누가 알아차리는지 정합니다. 자동화가 만든 대기 업무가 기존 담당자의 처리 여력을 넘으면 범위를 넓히기 어렵습니다.
처리 완료, 내용 정확성, 부하는 서로 다른 기록입니다
구글 SRE의 모니터링 원칙은 지연, 트래픽, 오류, 포화도를 함께 봅니다. 빠르게 반환된 오류가 평균 응답 시간을 좋게 보이게 만들 수 있어 성공 요청과 실패 요청의 지연도 구분합니다. 자동화에서도 작업 수, 처리 시간, 실패, 대기열을 각각 기록하면 한 지표가 다른 문제를 가리는 일을 줄일 수 있습니다.
문서 처리에서는 기술적으로 완료된 작업과 업무 기준에 맞는 결과를 별도로 판정합니다. 파일 저장 성공은 분류 정확성을 설명하지 못합니다. 자동 완료 건수, 검토 표본에서 확인한 오류 종류, 담당자가 바꾼 항목, 아직 판정하지 못한 결과를 나누어 남깁니다. 검토 표본에서 관측한 정확도는 검토하지 않은 결과와 구분해 기록합니다.
낮은 부하에서는 순서대로 끝나던 작업도 요청이 몰리면 검토 대기가 길어질 수 있습니다. 같은 시간대에 외부 API를 부르는 작업 수와 대기 중인 가장 오래된 요청을 함께 봅니다. 업무 마감까지 남은 시간보다 대기 시간이 길어지는 경우는 기술 오류가 없어도 운영상 실패입니다.
실패 뒤 어디서 다시 시작할지는 저장 이후 부분 실패의 재개 기준에서 별도로 다룹니다. 운영 전에는 그런 실패가 생겼음을 알아차릴 지표와 그때 업무를 맡을 담당자를 먼저 정합니다.
제한 운영에서는 가정마다 확인할 증거를 정합니다
구글 SRE의 카나리 운영 설명은 제한된 대상에서 변경을 시험할 때 요청 종류, 요청량, 관측 기간과 시간대가 전체 환경을 대표하는지 보도록 합니다. 한산한 시간에 몇 번 성공한 결과로 부하 조건까지 판단하기 어렵고, 시간대가 다른 전후 비교에는 외부 변화가 섞일 수 있습니다.
다음은 가상의 구매 요청 자동화를 제한 운영으로 옮길 때 쓰는 점검표입니다. 각 행의 확인 결과에는 사용한 입력 식별자와 실행 기록을 연결합니다. 표의 항목은 운영 범위를 정하는 양식이며 이 업무를 실제로 실행한 결과는 아닙니다.
| 시연에서 둔 가정 | 실제 업무의 변화 | 제한 운영에서 남길 증거 | 범위를 넓히기 전 판단 |
|---|---|---|---|
| 문서는 모두 정형 PDF다 | 스캔본·사진·다른 언어가 들어온다 | 입력 종류별 접수·성공·검토·실패 건수 | 지원할 형식과 검토로 보낼 형식을 구분한다 |
| 필요한 값은 항상 있다 | 금액·통화·요청자가 빠진다 | 누락 항목과 실제 분기 결과 | 누락값이 정상값으로 바뀌지 않는지 본다 |
| 시연자가 미리 정리한다 | 파일명 정리와 중복 판단이 남는다 | 사전 작업과 결과 수정의 유형별 기록 | 자동화 밖 작업을 담당자가 감당하는지 본다 |
| 실행 계정은 모든 자료에 접근한다 | 운영 계정은 폴더·연동 권한이 다르다 | 실제 계정의 작업별 허용·거부 결과 | 필요한 범위에서만 업무가 끝나는지 본다 |
| 요청은 한 번에 하나씩 온다 | 특정 시간에 요청이 몰린다 | 동시 작업 수·대기 건수·가장 오래된 대기 시간 | 마감 안에 검토까지 끝나는지 본다 |
| 저장 성공이면 처리 성공이다 | 내용 오류가 정상 응답 안에 남는다 | 기술 완료와 업무 검토 결과의 별도 기록 | 오류 종류와 잘못된 결과의 영향을 본다 |
| 사람이 애매한 결과를 바로 받는다 | 휴무·부재·인계 누락이 생긴다 | 담당자·인계 시각·미처리 대기 목록 | 사람이 맡는 경로가 실제로 작동하는지 본다 |
| 외부 형식과 설정은 그대로다 | 문서 양식·응답 필드·설정이 바뀐다 | 입력·설정 버전과 변경 전후 결과 | 변화가 생겼을 때 발견할 근거가 남는지 본다 |
전체 평균이 좋아도 특정 문서 종류에서 오류가 몰리면 그 종류를 확대 대상에서 뺄 수 있습니다. 반대로 지원 범위를 좁혔을 때 처리 결과와 사람의 검토 부담이 안정적으로 확인되면, 입력 종류나 처리량 중 한 조건을 넓혀 다음 관측을 시작할 수 있습니다.
운영을 넓힐 근거가 부족하면 먼저 확인하지 않은 가정을 시험합니다. 실제 접수 자료, 실행 계정, 대기 업무에서 빠진 조건을 채우면 다음 운영 판단에 쓸 근거가 생깁니다.
자료 확인 기준: 2026년 10월 28일. 예시 업무와 점검표는 운영 설계 예시이며 실측 결과가 아닙니다.
바이브 코딩 전에 정할 것: 요구사항·데이터·완료 조건
화면이 생겼다는 이유만으로 앱의 요구사항이 충족되지는 않습니다. 작은 자료 보관 앱을 예로 기능 범위, 데이터 변경 규칙, 성공과 실패의 수용 조건을 구체화합니다.
AI가 작성한 테스트는 무엇을 검증하고 있을까
테스트가 모두 통과해도 요구사항의 경계에서 오류가 남을 수 있습니다. 기대값의 출처와 실패할 조건을 보면 AI가 만든 테스트를 평가할 수 있습니다.
AI로 만든 앱, 출시 뒤에는 무엇을 관리해야 할까
앱이 공개된 뒤에는 계정 접근, 오류와 비용 변화, 데이터 복구를 계속 맡을 사람이 필요합니다. 작은 서비스에 맞춘 운영 책임표와 복구 확인 기준을 정리합니다.
