kone
소미소프트

소미소프트

하네스 엔지니어링을 사용한 "능력 있는 후배 아오이짱!" 번역 후기

05/02/2026, 23:36:27
후기 및 공략
3551 views · 15 likes


https://kone.gg/s/somisoft/an929QyJfYOef46aYt5j0b


요즘 AI로 게임 번역하는 사람 많은데, 대부분 프롬프트만 잘 짜면 된다고 생각함. 나도 처음엔 그랬음. 근데 실제로 게임 하나를 통째로 번역해보니까, 프롬프트만으로는 한계가 확실하더라. 그래서 "하네스(Harness)"라는 걸 도입했고, 결과가 확 달라졌음.

한국어로 번역한 경험을 바탕으로 정리해봄. 파일 500개 이상, 31라운드 검수.


프롬프트 vs 하네스, 뭐가 다른 건데?

간단하게 비유하면 이럼.

  • 프롬프트 = 번역가한테 주는 "번역 지침서"

  • 하네스 = 번역된 결과물을 체계적으로 검수하고, 발견된 문제를 다시 지침서에 반영하는 "품질관리 시스템 전체"

프롬프트만 잘 짜면 되는 거 아닌가? 싶겠지만, 파일이 수백 개 넘어가면 일관성이 무너짐. 3장에서 "셰어 하우스"라고 번역했는데 50장에서 갑자기 "쉐어하우스"로 바뀌거나, 캐릭터 어투가 중간에 뒤집히거나 하는 일이 진짜로 생김.


실제로 어떻게 굴렸는지

구조는 이렇게 생겼음.

[번역 에이전트 (sub-agent)]
     trans.md를 읽고 번역
    
[검수 에이전트 (main-agent)]
     번역 결과를 검수
     문제 발견 → trans.md에 규칙 추가
     검수 기록 → qa_findings.md에 기록
    
[다음 라운드 번역 에이전트]
     업데이트된 trans.md를 읽고 번역
     (반복)

1. trans.md — 번역 지침서 (= 프롬프트)

700줄짜리 번역 가이드를 만들었음. 내용은 대충 이런 것들:

캐릭터별 말투 규칙:

캐릭터

말투

주인공 독백

평서체 (~다, ~한다)

아오이 (초반)

해요체 ("~예요", "~거든요")

아오이 (친해진 후)

반말 ("~야", "~지")

상사

격식체 ("자네", "~하게")

고유명사 번역쌍:

シェアハウス → 셰어 하우스
リモートワーク → 재택근무
親密度 → 친밀도
ムラムラ度 → 흥분도

성인 게임이라 이런 용어도 일관되게 통일해야 함. 안 그러면 같은 행위를 어떤 데서는 "손으로 해주다", 어떤 데서는 "핸드잡"이라고 번역하는 사태가 벌어짐.

포맷 보존 규칙:

게임 스크립트에는 <br> 태그, {g_AoiName} 같은 변수, <color=#7fffd4> 같은 색상 태그가 있는데, 이걸 AI가 멋대로 삭제하거나 번역해버리면 게임이 깨짐. 그래서 "이런 토큰은 절대 건드리지 마라"는 규칙을 명시함.

# ~1270f6b1                    ← 이 줄 절대 수정 금지
; 昨日は色々あったけど<br>今日から...  ← 원본, 수정 금지
어제는 이것저것...<br>오늘부터...      ← 여기만 번역

여기까지가 프롬프트. 근데 이것만으로는 부족했음.


2. qa_findings.md — 검수 기록 (= 하네스의 핵심)

검수 에이전트가 번역 결과를 보면서 발견한 문제를 전부 기록한 파일임. 31라운드, 500개 이상 파일 검수 기록이 들어있음.

실제 검수 이력 일부:

Round

카테고리

파일 수

High

Medium

7

Bath (본편)

8

8

다수

9

Cleaning C5

5

3

18

13

Work

21

4

40

15

Fitness

21

7

30

16

Phone

57

1

7

High는 즉시 수정, Medium은 여유 있을 때 참고. 이렇게 분류해두니까 우선순위 잡기가 편했음.


하네스가 실제로 잡아낸 것들

사례 1: 「~てしまう」 무분별 직역 — 가장 많이 걸린 패턴

일본어에 「~てしまう」라는 표현이 있는데, AI가 이걸 무조건 "~해 버리다"로 직역함. 근데 한국어에서는 어색한 경우가 많음.

일본어

❌ AI 직역

✅ 자연스러운 번역

倒れてしまう

쓰러져 버린다

쓰러진다

死んでしまう

죽고 마는

죽는

期待しちゃいますよ

기대해 버려요

기대되는걸요

이게 Round 7, 8, 10에서 가장 많이 검출됐음. 그래서 trans.md에 이런 규칙을 추가함:

  • 단순 결과/완료 → 「~버리다」 빼고 단순 동사

  • 의도치 않은 후회/실수 → 「~고 말았다」는 OK

  • 「~버리다」는 강조/완전성 어감 있을 때만

이 규칙 추가한 후부터 Round 18 이후로는 「~てしまう」 무분별 직역 0건 . 하네스가 문제를 발견하고, 프롬프트에 반영하고, 이후 라운드에서 확인하는 사이클이 실제로 돌아간 거임.

사례 2: 「읏」 남발 문제

일본어에 작은 「っ」가 붙는 표현이 많은데 (감탄, 놀람, 숨 끊김 등), AI가 이걸 전부 "읏"으로 번역함.

상황

❌ 어색

✅ 자연스러움

해요체 종결 + っ

"거예요읏!"

"거예요!"

평서체 종결 + っ

"한다읏!"

"한다!"

짧은 비명

"햣읏!"

"햣!"

불완전 종결 (숨가쁨)

"해줘…읏"

"해줘…읏" ← 이건 OK

Round 11에서 "안 해요읏", "거예요읏!" 같은 케이스가 대량 발견됐고, 규칙을 정리해서 trans.md에 추가. 핵심은 "정중체/평서체 종결 뒤에는 읏 금지, 불완전한 동사 어간/감탄사 뒤에는 OK"라는 판단 기준을 명확히 한 것.

사례 3: anti-pattern 추적

검수하면서 반복적으로 나타나는 4가지 문제 패턴을 "anti-pattern"으로 지정하고 매 라운드마다 추적함:

  1. 「선배님」 → 「선배」로 통일 (Round 14에서 9건 일괄 수정)

  2. 「~예요읏」 → 정중체 뒤 읏 금지

  3. 「~더라구요」 → 「~더라고요」가 표준어

  4. 「라던가」 → 「라든가」가 표준어

이 4개 패턴을 Round 14에서 정리한 이후, 19라운드 연속 0건 을 유지함. 이게 하네스의 힘임. 한번 잡은 문제가 다시 안 나오게 시스템으로 관리하는 것.

사례 4: 고유명사 일관성 검증

검수 에이전트가 파일 전체에서 같은 일본어 단어가 같은 한국어로 번역됐는지 확인함. 실제 검증 결과 일부:

「에코백」: 9회 출현, 일관 100%
   マイバッグ도 에코백으로 통일 적용 확인

「비닐봉지」: 4회 출현, 일관 100%
   レジ袋/ビニール袋 둘 다 비닐봉지로 통일

「식재료」: 전 파일 일관 100%
   食材/食料 모두 식재료로 통일

이런 건 사실 Python으로 문자열 매칭해도 되는 부분인데, LLM 검수 에이전트한테 시키면 "이 단어가 맥락상 다르게 번역되어야 하는 경우"까지 판단해줌. 예를 들어 「オフィス」는 "사무실"로 번역해야 하지만, 「シェアハウス」는 외래어 그대로 "셰어 하우스"로 두는 게 자연스러움. 이런 판단은 단순 매칭으로는 불가능.


신규 용어 자동 등재 — 프롬프트가 스스로 성장함

하네스의 부산물 중 하나가, 번역하면서 새로 발견되는 용어를 trans.md에 자동 추가하는 것.

31라운드 동안 등재된 용어 예시 몇 개만 보면:

Round 15: スポーツジム → 스포츠 짐 (체육관 X)
Round 17: 冷却シート → 쿨링 시트
Round 18: ガチャ → 가챠, 課金 → 과금
Round 26: パンの耳 → 식빵 가장자리
Round 30: ペアルック → 커플룩
Round 31: 造反有理 → 조반유리 (마오쩌둥 슬로건)

마지막 거 보면 알겠지만, 이 게임 대사에 마오쩌둥 슬로건이 나옴 ㅋㅋ 장보기 중에 비닐봉지 유료화에 대한 정치 농담 맥락에서. 이런 건 사전에 예측해서 프롬프트에 넣어둘 수가 없고, 번역하면서 발견 → 등재 → 이후 일관 적용의 사이클이 필요함.


비용 문제 — 솔직히 토큰 많이 먹음

이 방식의 최대 단점은 토큰 소모가 크다 는 거.

  • trans.md 700줄을 매번 읽혀야 함

  • qa_findings.md가 라운드 지날수록 계속 커짐 (최종 2300줄 이상)

  • 검수 에이전트가 검수 결과를 상세하게 기록하면서 출력 토큰도 많이 씀

개선할 수 있는 부분:

  • 고유명사 단순 일치 검증은 Python 스크립트로 분리 (LLM 검수 불필요)

  • qa_findings.md는 최근 N라운드 요약만 참조

  • 검수 결과를 구조화된 형태로 바꿔서 파싱 비용 절감

근데 솔직히, 토큰 좀 더 먹더라도 일관성 있는 번역이 나오는 게 훨씬 나음. 프롬프트만으로 500개 파일 번역하면 중반부터 품질이 들쭉날쭉해지는데, 하네스 붙이면 라운드 거듭할수록 오히려 품질이 올라감.


정리

프롬프트만

프롬프트 + 하네스

초반 품질

괜찮음

괜찮음

후반 품질

들쭉날쭉

안정적 (오히려 향상)

일관성

파일 많아지면 무너짐

시스템으로 관리됨

새 용어 대응

수동으로 추가해야 함

발견 → 등재 → 적용 자동화

같은 실수 반복

계속 반복됨

한번 잡으면 재발 안 함

비용

적음

많음 (토큰 2~3배)

프롬프트는 "좋은 번역을 만드는 레시피"고, 하네스는 "그 레시피가 실제로 잘 작동하는지 확인하고, 문제가 있으면 레시피를 업데이트하는 주방 관리 시스템"임.

파일 몇 개 번역하는 수준이면 프롬프트만으로 충분하지만, 게임 하나를 통째로 번역하는 규모에서는 하네스 없이는 진짜 답이 없음. 특히 캐릭터 어투 일관성, 고유명사 통일, 반복되는 직역 패턴 같은 건 사람이 일일이 잡기엔 양이 너무 많고, 그렇다고 AI한테 그냥 맡기면 같은 실수를 계속 반복함.

하네스를 붙이면 "AI가 같은 실수를 두 번 하지 않게 만드는 시스템"이 되는 거고, 이게 진짜 차이임.


_______________________________________________________________________________________________________________________________________


본문은 trans.md 및  qa_findings.md 주고 커뮤에 글쓰게 정리해 달라니까  AI가 해줌


몇가지 빠진점은 

trans.md부터 다 AI가 만들었음. 내가 직접  고친건 없고 둘중에 뭐가 더 나아보이냐고 물어보는것들은 답변해줌

왠만한 로컬모델로 저런짓 하려면 trans.md 을 꽤 많이 분할해야함. 안그러면 컨텍스트 부족해서 번역제대로 안될거임

그리고 원래는 메인에이전트가 번역 이상한거 발견하면 서브에이전트에 보내서 다시 번역하게 해야 하는데

그냥 메인에이전트가 고치고 기록남기게 함

다른 사람들에게 이렇게 하라고 하는건 아니고 AI 시켰더니 저런식으로 말하네

그냥 내가 궁금해서 해본거고 이렇게 하지마셈 개오래걸림



게임 후기를 적으면


안해본겜 번역하고 플레이한건 처음인데

뭔가 내용이 잔잔하게 가다가 급발진한거 같아서 당황스러웠음

번역 시키면서 대충 스토리 라인을 다 알려줘서 스포당해서 어느정도 분량인진 알았는데 그래도 뭔가 뭔가였음


그리고 일상쪽이랑 야겜쪽이랑 연관이 좀 적은건 아쉽더라





1줄 요약 :  하네스 써서 일관성 있게 AI 번역해봤는데 해보고 평가 좀

15
10 comments
Sign in to comment
하네스 레벨에서도 번역은 사실상 정복된다고 보고 있음 이걸 구독제 ai에 인질잡히지 않고 하려고 이번주에 본체를 두대 더 빌드했지
05/03
해보니까 꽤 퀄리티 있게 나온거보고 만족중 문제는 자원이랑 시간이긴하지
05/03
Ai판 커딕이구나 ㅎㅎ 대단해
05/03 Edited 05/03
커딕 같은거 까진 프롬프트인데 저 결과물을 평가하고 커딕을 알아서 업데이트 하게 만드는거까지가 하네스
05/03
05/04
포맷 보존 강조해도 llm이 못지킬 때가 많더라 그래서 난 아예 전처리과정으로 저런 태그/포맷 있는 부분은 {{1}}, {{2}} 이런 식으로 플레이스 홀더로 치환한 다음에 LLM 번역시키고, 번역산출물에 있는 플레이스 홀더에 다시 원본 태그/포맷으로 치환시켰음. {{1}} 이런 플레이스 홀더는 LLM이 잘 유지하더라
Sign in to comment
미번) 오랄엣치 ♡ 플레이어 - 배덕 시스터 편 - (おーらるえっち♡ぷれいやー -背徳シスター編-)
미번
darkunicorn
05/10 12912 34
공식번역 / 청아 / 이종간) 검은 유원지 + 검은 유원지II: 묵시록
번역
darkunicorn
05/10 51460 129
DOA 캐릭터 스타킹짤
야짤
무이이야
05/10 18454 18
[기계번역] 어서오세요! 어린이 만들기 온천 마을(30일 6/9일까지)
번역
rhnbbb
05/10 67926 305
미츠리 무한의 성욕
영상
bigfan
05/10 40157 227
번역파일 Only / 촉수 / RJ01376315) 음구조복 토에하 ~퇴마 무녀 3D 터치 시뮬레이션~ v1.0.2 (淫穴調伏トエハ ~退魔巫女3Dおさわりシミュレーション~)
번역
darkunicorn
05/10 39180 111
[직번] [Kagto] 반찬당번 마치다짱 단편모음
동인
acefs
05/10 28543 181
시시아 / 벨 / 엘렌 / 니콜 - 리버스 카우걸 영상 - (ZZZ)
영상
브레머튼
05/10 25637 104
미번 / 촉수 / RJ01376315) 음구조복 토에하 ~퇴마 무녀 3D 터치 시뮬레이션~ v1.1.2 (淫穴調伏トエハ ~退魔巫女3Dおさわりシミュレーション~)
미번
darkunicorn
05/10 16738 58
[QHD 24f] 오토메도리 1,2
영상
Shinjiro
05/10 19293 159
미번 / 청아 / RJ01613313) 1년생 아이돌 수행중!? v1.02 (1年生アイドル 修行中!?)
미번
darkunicorn
05/10 13254 40
[요청없는 기습복구]변환장희 샤인미라지/RJ226108/変幻装姫シャインミラージュ 敗北へのカウントダウン
복구
렐루
05/10 37004 81
청아 / RJ01376119) みるくいちご 카리나와 노노아 ~성장 기록~
영상
darkunicorn
05/10 41954 172
구 멸망 방주 정리 및 중복 제거 작업 완료
작업현황
ㅇㅇ
05/10 10964 22
amatake akewo 자위를 배울 틈도 없다 (ft 애덤 스미스)
동인
bigfan
05/10 28019 91
비월선행록 종합 수집 정보
정보
공승아
05/10 22374 35
[실시간 번역기 3.2.10] 어서오세요! 어린이 만들기 온천 마을 지원 중
작업현황
mrpls
05/10 27764 54
[미번] 성욕 처리도 간호사에게 맡겨줘, 선배, 가르쳐 주세요! ~야겜을 빌려준 상대는 호기심 왕성한 인싸 후배였습니다~
미번
미스터장
05/10 12240 26
로빈 (스타레일) 4K / 1080p
영상
브레머튼
05/10 14566 78
[미번] 미번 일겜 17개 + 미번 양겜 2개
미번
미스터장
05/10 32163 94
장리 (명조)
영상
브레머튼
05/10 17794 105
플루라이트 (엔드필드)
영상
브레머튼
05/10 27501 110
고죠고죠샌세 서비스씬만
영상
Ghost
05/10 31070 176
[Asakura Kukuri / Small Marron] 패배 ~내 아야 누나가 함락될 때까지
동인
morgan911
05/10 36113 90
[Jzargo] 특명 수사관 이치가야 린 ~항문 치욕 조교편~
동인
morgan911
05/10 21206 122
[버전업 알림] 음최도시 휴프노즘 1.07 번역 적용완
번역
saika
05/10 39317 145
메이 쨩은 빗치 갸루
동인
hatlatal
05/10 29746 87
오늘의 포로
동인
hatlatal
05/10 21348 80
ai, 원신) 닐루와 즐거운 시간을 보낸 뒤 잔뜩 섹스 했다
야짤
kjh9304
05/10 11552 84
토모에 ○미의♥보지만개 장난감 리뷰
동인
hatlatal
05/10 13440 29