GrepBoard/매뉴얼
84 편 ·

번역투 문장(~을 통해·~에 대해) 우리말로 고치기

·고침 ·claude-sonnet-5-5 · Claude Code 2.1.251 · 2026-10-20 실행·6 단계

「번역투 고쳐 줘」 한 줄이면 멀쩡한 문장까지 바뀝니다. 범위와 예시를 넣은 프롬프트, 패턴 개수와 단어 단위 diff 로 바뀐 곳을 확인하는 방법입니다.

「번역투 고쳐 줘」 한 줄로 소식지 문단 여섯 개를 시켰더니 번역투는 다 사라졌는데, 이용률 증가로 인해 운영 시간이 연장됩니다 가 이용자가 늘어 운영 시간을 연장합니다 로 바뀌어 있었습니다. 이용률이 오른 것과 이용자가 늘어난 것은 다른 이야기입니다.

[1] 고칠 문서입니다. 가상의 사내 소식지이고 ~을 통해 · ~에 대해 · ~되어지다 · ~할 필요가 있다 · ~에 의해 · ~로 인해 · ~를 가지고 있다 · ~에 있어서 · ~게 되다 · ~고 하는 것 이 모두 들어 있습니다. 2번 문단의 비상 계단을 통해 는 수단이 아니라 지나간 길이라 일부러 남겨 둔 멀쩡한 문장입니다.

doc.ko.txt
1. 이번 달 소식지에서는 신규 주차 시스템에 대해 안내드립니다. 시스템은 차량 번호 인식을 통해 출입이 관리되어집니다. 등록되지 않은 차량은 정문 차단기 앞에서 멈추게 됩니다. 2. 지난 주말 정전으로 인해 서버실 점검이 하루 미루어졌습니다. 점검 일정에 있어서 변경이 생기면 각 팀 담당자에게 바로 알려야 할 필요가 있습니다. 점검반은 비상 계단을 통해 서버실로 이동했습니다. 3. 총무팀은 올해 비품 구매 예산을 가지고 있으며, 구매 요청은 매주 금요일까지 접수하는 것이 필요합니다. 요청서 양식은 사내 게시판에 공유되어 있습니다. 4. 신입 사원 교육 자료는 인사팀에 의해 새로 만들어졌습니다. 교육은 선배 사원과의 면담을 통해 진행되며, 일정에 대해서는 다음 주 월요일에 공지될 예정입니다. 5. 휴게실 정수기 필터는 분기마다 교체되어지고 있습니다. 필터 교체일에는 물맛이 일시적으로 달라질 수 있다고 하는 것이 업체의 설명입니다. 문의 사항은 총무팀 내선으로 연락 주시기 바랍니다. 6. 사내 도서관은 이용률 증가로 인해 운영 시간이 연장됩니다. 대출 기한에 대해 궁금한 점은 도서관 게시판을 통해 질문해 주세요. 반납이 늦어질 경우에 있어서는 연체 안내 메일이 발송되게 됩니다.

[2] 짧은 프롬프트(아래 소식지 문단의 번역투를 고쳐 줘. 와 문단)를 claude -p --model claude-sonnet-5-5 --max-turns 1 --tools "" --setting-sources "" --strict-mcp-config < prompt.naive.txt 로 돌립니다. 결과는 두 가지로 봅니다. 번역투 패턴 개수(정규식)와, 문장 순서대로 맞춘 원문·결과의 단어 단위 diff 입니다. diff 로 검수하는 일반 방법은 AI 가 고친 문장을 단어 단위 diff 로 검수 에 있습니다.

check.py
#!/usr/bin/env python3"""usage: check.py doc.txt out.txt - count translationese patterns, word-diff changed sentences"""import re, sys, difflibP = r"[을를] 통해|에 대해|되어지|되어진|것이 필요|할 필요가 있|에 의해|로 인해|가지고 있|에 있어서|게 됩|고 하는 것"doc = open(sys.argv[1], encoding="utf-8").read()out = "\n".join(l.replace("**", "") for l in open(sys.argv[2], encoding="utf-8") if re.match(r"(\*\*)?\d\.", l))print("TOTAL     ", len(re.findall(P, doc)), "->", len(re.findall(P, out)))split = lambda t: re.split(r"(?<=\.)\s+", " ".join(t.split()))for i, (a, b) in enumerate(zip(split(doc), split(out)), 1):    hit = re.search(P, a)    if a == b:        if hit: print(f"S{i:02d} KEPT with pattern: {a[:30]}")        continue    d = [t[0] + t[2:] for t in difflib.ndiff(a.split(), b.split()) if t[0] in "-+"]    print(f"S{i:02d} {'CHANGED' if hit else 'CHANGED-NO-PATTERN'}: {' '.join(d)}")
console
$ python3 -I check.py doc.ko.txt out.naive.1.txt | grep -E 'TOTAL|S06|S08|S20'TOTAL      19 -> 0S06 CHANGED: -인해 -미루어졌습니다. +미뤄졌습니다.S08 CHANGED: +계단으로 -계단을 -통해 -서버실로 +서버실에S20 CHANGED: +이용자가 +늘어 -이용률 -증가로 -인해 -시간이 +시간을 -연장됩니다. +연장합니다.

패턴은 19건에서 0건입니다. 그러나 이용률 증가 가 이용자가 늘어 로 바뀌었고, 같은 프롬프트 네 번 중 세 번이 그랬습니다. 실제 이동 경로라 일부러 남겨 둔 S08 비상 계단을 통해 는 네 번 모두 비상 계단으로 로 바뀌었고, 번역투가 아닌 미루어졌습니다 도 네 번 모두 미뤄졌습니다 가 됐습니다. 뜻은 같아도 범위 밖입니다. 짧은 프롬프트 결과는 네 번 모두 문단 뒤에 「주요 수정 내용」 요약을 붙였고, 그 사이 궁금한 → 궁금하시면 처럼 존대도 네 번 모두 보탰습니다.

[3] 프롬프트를 고칩니다. 하지 말 것을 늘어놓지 않고 무엇을 하라고 쓰며, 고친 예 3쌍을 <example> 태그로 줍니다. Anthropic 의 프롬프트 가이드는 예시를 실제 상황과 비슷하게 만들어 태그로 감싸라고 하며, 그러면 형식과 어조가 예시를 따라갑니다. 예 3쌍은 문서 속 문장이 아닌 다른 문장입니다.

text
<document> 안의 사내 소식지 문단에서 번역투 문장을 우리말답게 고쳐 주세요. 고치는 범위:- 번역투 표현이 든 문장만 고칩니다. 번역투가 없는 문장은 글자 하나도 바꾸지 않고 그대로 둡니다.- 뜻, 숫자, 날짜, 고유한 낱말은 그대로 둡니다. 문단 번호도 유지합니다.- '통해'가 수단이나 방법이 아니라 실제 이동 경로를 뜻하면 번역투가 아니므로 둡니다. 출력 형식:- 고친 문단 전체를 번호 순서대로 씁니다.- 문단 뒤에 바뀐 문장마다 한 줄씩 '원문 → 수정 (번역투 유형)'을 덧붙입니다.- 이 밖의 설명은 쓰지 않습니다. 고친 예는 아래 세 가지입니다. 말투와 정도를 이 정도로 맞춥니다. <example>원문: 회의 결과는 메일을 통해 공유됩니다.수정: 회의 결과는 메일로 공유합니다.</example><example>원문: 보안 정책에 대해 설명드리겠습니다.수정: 보안 정책을 설명드리겠습니다.</example><example>원문: 문은 열쇠를 통해서만 열려질 수 있습니다.수정: 문은 열쇠로만 열립니다.</example> <document>{문단 6개}</document>

[4] 두 번 돌려 같은 검사를 합니다.

console
$ python3 -I check.py doc.ko.txt out.ko.1.txt | grep -E 'TOTAL|KEPT|S20'TOTAL      19 -> 2S04 KEPT with pattern: 등록되지 않은 차량은 정문 차단기 앞에서 멈추게 됩니다S08 KEPT with pattern: 점검반은 비상 계단을 통해 서버실로 이동했습니다.S20 CHANGED: -인해 -시간이 +시간을 -연장됩니다. +연장합니다.

S08 은 그대로 남았고(일부러 둔 문장), 이용률 증가 도 그대로입니다. 남은 2건 중 S04 멈추게 됩니다 는 놓친 것입니다. 두 번째 실행은 S04 를 멈춥니다 로 고쳐 19 -> 1 이었고, 미루어졌습니다 는 두 번 모두 건드리지 않았습니다.

[5] 그래도 CHANGED 줄은 읽어야 합니다. 범위 프롬프트를 네 번(한국어 지시 2회, 영어 지시 2회) 돌려 보이는 약점은 셋입니다.

  • S04 멈추게 됩니다: 네 번 중 세 번 남습니다(한국어 1회, 영어 2회). 영어 지시 두 번은 모두 19 -> 2 였습니다. 예시 3쌍에는 게 되다 유형이 없습니다.
  • S10·S17: 번역투만 지우는 데서 더 나가 총무팀은 을 총무팀에는 으로(네 번 중 두 번), ~다고 하는 것이 업체의 설명입니다 를 업체는 … 설명합니다 · 업체에 따르면 … 으로 문장 틀째 바꿉니다.
  • S21: 영어 지시 첫 실행만 궁금하시면 으로 존대를 보탰고 나머지 세 번은 궁금하면 이었습니다. 흔들리는 곳은 이런 어조입니다.

개수가 0 이 아니면 KEPT 줄로 남은 곳을 찾아 그 문장만 다시 시킵니다.

[6] 반영 전에 사람이 CHANGED 줄을 읽습니다. 이 검사는 단어가 바뀐 위치까지만 알려 주고, 뜻이 달라졌는지는 보지 못합니다. 숫자·날짜·계약 문구처럼 한 글자가 결과를 바꾸는 글에는 결과를 그대로 쓰지 않습니다.

#translationese#korean#claude#proofreading