AI가 만든 업무 메일에서 약속과 사실을 검토하기

AI로 업무 메일을 다듬었다면 원문에 없던 약속이 생기지 않았는지 먼저 확인하세요. ‘납기 요청을 받았습니다’가 ‘납기를 보장합니다’로 바뀌면 아직 확인하지 않은 일을 약속하게 됩니다. 이 글에서는 짧은 문의와 답장 예제를 나란히 놓고 재고, 도착일, 할인, 첨부 완료 표현을 확인한 뒤 잘못 덧붙인 내용을 지우는 순서를 설명합니다.

AI는 제공한 문장을 바탕으로 새 문장을 만드는 도구입니다. 그 문장이 자연스럽다고 실제 재고를 조회했거나 담당자의 승인을 받은 것은 아닙니다. OpenAI의 정확성 안내는 잘못된 사실을 자신 있게 제시할 수 있으므로 중요한 정보를 확인하라고 설명합니다. 아래 원문과 잘못된 초안, 수정본은 모두 직접 만든 합성 예제이며 실제 AI 응답이나 고객 메일이 아닙니다.

가상 E-17 24개 납기 문의의 원문 R1~R5를 잘못된 재고·출고 보장·도착 확정·5% 할인·첨부 완료 표현과 대조하고 복구할 내용을 나눈 설명용 도해
R1의 날짜는 고객 요청이며 R2는 8개 확인·16개 미정이다. R3의 출고일 미정과 출고 후 예상 2~3영업일을 유지하고, 근거 없는 할인·첨부 완료를 제거한다. 합성 예제이며 실제 재고·발송·첨부 기록이 아니다.

다섯 원문에서 답할 수 있는 범위를 정하기

처음부터 긴 메일을 읽으며 오류를 찾기보다 답변의 근거부터 적습니다. 메모장에 아래 다섯 줄을 복사하세요. 제품·수량·날짜는 연습용이며 실제 주문과 관련이 없습니다.

R1 고객 문의: E-17 24개를 2026-10-12까지 받을 수 있는지 문의함.
R2 재고 메모: 확인된 재고 8개. 나머지 16개의 확보 여부는 미정.
R3 운송 안내: 출고 후 예상 운송 기간은 2~3영업일. 출고일은 아직 정해지지 않음.
R4 승인 메모: 도착일 보장, 할인, 환불에 관해 승인된 내용 없음.
R5 문서 상태: 견적서는 검토 중. 첨부할 확정 파일은 준비되지 않음.

R1의 날짜는 고객이 원하는 도착일입니다. 회사가 합의한 출고일이나 도착일이 아닙니다. R2의 8개와 16개를 더하면 문의 수량 24개가 되지만, 합계가 맞는다고 24개 전량을 확보한 것은 아닙니다. R3의 운송 기간은 출고 이후의 예상 구간이고 출고 날짜 자체는 비어 있습니다.

R4의 “승인된 내용 없음”도 구분해서 읽습니다. 회사가 어떤 경우에도 할인하지 않는다는 정책을 뜻하지 않습니다. 이번 답변에서 할인이나 환불을 새로 약속할 근거가 없다는 뜻입니다. R5는 문서 상태일 뿐 메일 첨부 상태가 아닙니다.

잘못된 초안의 네 문장을 대조하기

다음은 오류를 드러내기 위해 작성한 초안입니다. 실제 발송 화면이나 특정 모델의 실패 기록으로 해석하지 않습니다.

E-17 24개의 재고를 확보했습니다.
2026-10-12 출고를 보장하며 기한 내 도착합니다.
지연되면 5% 할인을 적용하겠습니다.
확정 견적서를 첨부했습니다.
초안의 표현 원문에서 달라진 점 이번 예제의 판정과 복구
24개의 재고를 확보했습니다 R2의 확인 재고는 8개이며 16개 확보는 미정 사실 변경. 확인된 8개와 미정인 16개를 따로 적음
2026-10-12 출고를 보장 R1은 원하는 도착일이고 R3은 출고일 미정 날짜의 역할 변경과 새 보장. 고객의 문의 날짜로만 표시
기한 내 도착합니다 R3은 출고 후 2~3영업일 예상이며 출고일도 미정 불확실성을 확정으로 강화. 출고일 미정과 예상 기간을 복원
지연되면 5% 할인 R4에 할인 승인이나 비율이 없음 새 조건부 약속. 문장을 삭제하고 필요하면 별도 승인 요청
확정 견적서를 첨부했습니다 R5는 검토 중이며 첨부할 확정 파일이 없음 상태 변경과 완료 사실 발명. 검토 중이라고만 적음

“확인 후 바로 회신드리겠습니다”를 마지막에 넣는 것도 이번 자료에는 근거가 없습니다. 확인할 담당자나 후속 회신을 승인한 기록이 없기 때문입니다. 표현을 덜 단정적으로 만드는 것만으로 해결하지 말고, 실제로 할 일을 약속한 문장인지 확인하세요. 반대로 정중한 인사나 감사 표현은 재고·납기 사실의 근거 행을 반드시 요구할 항목은 아닙니다.

원문으로 돌아가 회신을 네 문장으로 고치기

아래는 제공된 정보 안에서 작성한 수정 예시입니다. 고객의 질문에 확정 답변을 줄 수 없다는 상태를 그대로 남깁니다.

제목: E-17 24개 도착 일정 문의에 대한 현재 확인 내용

E-17 24개의 2026-10-12까지 도착 가능 여부를 문의하신 내용 확인했습니다.
현재 확인된 재고는 8개이며 나머지 16개의 확보 여부는 미정입니다.
출고일은 아직 정해지지 않았고, 출고 후 예상 운송 기간은 2~3영업일입니다.
견적서는 검토 중입니다.

첫 문장은 문의를 접수한 내용으로 R1에 연결합니다. 둘째 문장은 R2의 확인된 수량과 미정 상태를 함께 남깁니다. 셋째 문장은 R3의 출고일과 운송 기간을 구분합니다. 마지막 문장은 R5의 상태만 알립니다. R4는 메일에 억지로 반복하지 않고 할인·환불·도착 보장이 추가되지 않았는지 검토하는 제한으로 사용합니다.

이 예제에서 메일이 답하지 못한 것은 “2026-10-12까지 받을 수 있는가”입니다. 근거가 없으므로 가능하다고 적지 않습니다. 실제 업무라면 재고 담당자의 추가 확인과 출고 일정 결정을 받아야 답할 수 있습니다. 그 정보를 받기 전에는 이 초안을 확정 납기 안내로 승인하지 않습니다.

AI에 요청할 때 메일과 근거표를 함께 받기

AI 기초 연습은 위 합성 원문으로 시작할 수 있습니다. 실제 회사 자료를 넣기 전에는 조직이 허용한 도구와 처리 범위를 확인하세요. 비밀번호·계정정보·실제 고객 연락처는 이 연습에 필요 없습니다. 다음 요청문 뒤에 R1~R5를 붙이면 됩니다.

아래 R1~R5만 근거로 납기 문의 회신을 작성하세요.
확인된 사실, 고객이 요청한 날짜, 미정 상태를 구분하세요.
원문에 없는 도착 보장, 출고 날짜, 할인, 환불, 첨부 완료,
후속 회신 약속을 추가하지 마세요.
출고 후 예상 운송 기간을 확정 도착 날짜로 계산하지 마세요.
출력은 1) 제목과 메일 본문 2) 사실·약속 문장별 근거ID입니다.
근거가 없는 문장은 메일에 넣지 말고 '추가 확인 필요' 목록에 남기세요.

이 지시가 정확성을 보장하지는 않습니다. AI가 근거ID를 붙였더라도 해당 행이 실제로 그 문장을 뒷받침하는지 사람이 대조해야 합니다. 예를 들어 “24개 확보” 옆에 R2라고 적으면 ID는 존재하지만 내용은 모순됩니다. 동일한 도구로 “맞는지 확인해 줘”라고 재질문한 답만으로 최종 승인하지 않습니다.

짧은 Python 검사는 누락과 지정 표현만 찾기

아래 코드는 수정 예시에 필요한 다섯 표기와 이번 초안의 네 위험 표현만 확인합니다. 계정 로그인, AI 호출, 메일 발송, 외부 연결은 없습니다. Python을 사용하지 않아도 앞의 원문 대조표로 검토할 수 있습니다. 실행하려면 코드를 메모장에 복사해 mail_check.py로 저장하고 같은 폴더의 터미널에서 python mail_check.py를 실행하세요.

KEEP = ["24개", "8개", "16개", "2026-10-12", "2~3영업일"]
FLAGS = ["확보했습니다", "출고를 보장", "5% 할인", "첨부했습니다"]

def inspect_mail(text):
    return {
        "missing": [s for s in KEEP if s not in text],
        "flags": [s for s in FLAGS if s in text],
        "human_review_needed": True,
    }

sample = (
    "E-17 24개의 2026-10-12까지 도착 가능 여부를 문의하신 내용 확인했습니다.\n"
    "현재 확인된 재고는 8개이며 나머지 16개의 확보 여부는 미정입니다.\n"
    "출고일은 아직 정해지지 않았고, 출고 후 예상 운송 기간은 2~3영업일입니다.\n"
    "견적서는 검토 중입니다."
)
if __name__ == "__main__":
    print(inspect_mail(sample))

수정 예시의 출력은 missing=[], flags=[], human_review_needed=True입니다. “누락 없음”은 이 다섯 표기가 포함되었다는 뜻입니다. “위험 표현 없음”은 지정한 네 문자열이 없다는 뜻뿐입니다. 자연어 의미를 검증하거나 승인된 업무 약속을 판단하지 않습니다. 다른 표현으로 쓴 확약과 새로운 사실은 그대로 지나갈 수 있습니다.

합성 반례 실제 로컬 검사에서 확인한 신호 사람이 내려야 할 판단
잘못된 초안 네 문장 8개·16개·2~3영업일 누락, 지정 위험 표현 4개 원문 밖 사실·약속을 제거
수정 예시의 날짜를 2026-10-13으로 변경 2026-10-12 누락 고객 문의 날짜를 원문대로 복원
수정 예시의 2~3영업일을 삭제 운송 기간 누락 출고 이후라는 조건과 함께 복원
수정 예시의 “미정입니다”만 “확정입니다”로 변경 누락·위험 표현 모두 없음 R2와 모순하므로 반려
수정 예시에 “항만 파업 때문에”를 추가 누락·위험 표현 모두 없음 원문에 원인 근거가 없으므로 삭제
검토 메모에 “첨부했습니다라는 표현은 사용하지 않았습니다”를 추가 첨부했습니다 위험 표현 1개 인용·부정 문맥의 경고인지 직접 확인

수정 예시 1건과 반례 6건을 Python 3.12.14의 로컬 환경에서 실행해 위 신호를 대조했습니다. 실행 결과는 고정 문자열 검사의 확인이며 실제 AI의 정확도나 오류율이 아닙니다. 자동 검사 통과를 발송 허가로 연결하는 기능도 없습니다.

발송 전에 남길 대조 기록과 복구 순서

사실이나 약속이 들어 있는 문장마다 아래 기록을 복사해 작성합니다. 원문 버전과 초안 버전을 따로 적어 두면 이후 확인 내용이 바뀌었을 때 어느 회신을 검토했는지 찾을 수 있습니다.

원문 버전 또는 확인 시각:
초안 버전:
검토 문장:
근거ID와 원문 구절:
주체·행동·대상:
날짜의 역할: 고객 요청 / 출고 / 도착 / 미정
조건·예상·미정 표현이 남았는가:
원문에 없는 사실 또는 새 약속:
수정 문장:
판정: 근거 일치 / 수정 필요 / 추가 확인 대기
검토자·검토 시각:
  1. 최초 초안을 보존하고 사실·약속 문장에만 번호를 붙입니다.
  2. 각 문장을 원문 행에 연결합니다. 승인 여부가 필요한 내용을 “그럴듯함”으로 채우지 않습니다.
  3. 다른 날짜·추가 혜택·완료 표현을 고칩니다. 실제 첨부 상태는 메일 작성 도구에서 별도로 확인합니다.
  4. 변경된 문장을 다시 읽고 수량·날짜와 조건을 함께 대조합니다.
  5. 답할 정보가 부족하면 추가 확인 대기로 남깁니다. 문장 교정 완료와 업무 승인 완료를 구분합니다.

초안만 작성한 상태라면 잘못된 문장을 수정하고 새 버전을 기록하면 됩니다. 이미 전달한 내용에 잘못된 확약이 있었다면 초안 파일을 고치는 것으로 해결되지 않습니다. 발송된 문장·수신자·시각을 확인하고 조직의 정정 및 승인 절차를 따라야 합니다. 이 예제는 정정 메일을 보내거나 기존 메일을 회수하지 않습니다.

확인 범위와 함께 읽을 글

작성·기술 기준일은 2026-10-04 KST입니다. 이 날짜에 OpenAI의 정확성 안내 원문을 확인하고 로컬 문자열 검사만 실행했습니다. 특정 서비스의 메일 작성 기능, 모델 응답, 실제 재고 시스템, 첨부 상태는 시험하지 않았습니다.

회신이 아니라 여러 문의의 결과를 평가하려면 합성 응답의 원문·수정본·감점 근거를 분리하는 글을 참고할 수 있습니다. 팀이 최종값을 관리해야 한다면 원본·제안·승인값을 나누는 승인대장으로 검토 이력을 확장할 수 있습니다. 이 글의 완료 기준은 합계 점수가 아니라, 회신의 각 사실·약속 문장이 근거 안에 남아 있는지 설명하는 것입니다.

함께 확인할 작업

수정 이력이 길어 원문 버전과 최신 요구가 섞였다면 긴 AI 대화의 최신 요청 정리로 현재 작업 범위를 먼저 고정하세요. 초안 문장 대조는 그다음입니다.

작성자 소개