LLM 번역 워크플로우 Context-Aware Translation 만들어봄. 과장 좀 보태면 번역가 대체 가능 ㅇㅇ


선 3줄요약

1. GEMINI CLI 사용. 클코드 돈없어서 안씀. 사소넷보단 잼프로가 나을거라 생각해서 CLI로 고정.


2. 잼프로는 코드 잘짬. 설계도 나보다 잘함. 근데 내가 프로젝트를 전부 이해하고 있어야됨. pm 역할정돈 해줘야됨. 

 -왠만한건 알아서 잘함. 근데 내가 따로 명령 자주 했던건 1. 객체화, 모듈화 좀 해라. 2. 버그 고치지 말고 ~방식으로 재설계 하자.


 얘가 버그 원인을 감을 못잡을때가 종종 있는데 그때 걍 알아서 고쳐라 하고 인풋인풋 넣으면 망하는거임. 버그를 '고치지' 말고 문제가 먼지 먼저 알아보라 명령하는게 효율적. 물론 너도 이해하고는 있어야됨.


3. 성능은 gemini 2.5 flash-lite 기준 '충분히 읽을만 하다' (책 좋아하시는 어머니 평가). 여러가지 형식의 작품들 넣으면서 프롬 계속 개선하는중(컨텍스트 엔지니어링)




ㅡㅡㅡㅡㅡAI 요약 생성 ㅡㅡㅡㅡ

### ? 소설 번역, LLM한테 그냥 시키면 안 되는 이유

 

1.  일관성 문제: AI는 자기가 방금 전에 뭘 번역했는지 까먹음. 그래서 등장인물 'Holden'을 첨엔 '홀든'이라 했다가, 나중엔 '홀덴'이라고 하는 등 이름이나 용어가 오락가락함.

(이건 내가 다시 설명함. 위에 예시는 마이너 작품, 번역하기 애매한 고유명사에서 두드러짐. 'Arquebusier' 는 뭐라 읽어야되냐? 사실 뭐라 읽어도 상관 없는데 일관성이 있어야 하는게 핵심이겠지?)

 

그래서 "AI한테 기억을 만들어주고, 효율적으로 정보를 필터링하는 능력을 주면 어떨까?" 라는 생각으로 이 워크플로우를 만들어 봤음.


그래서 이런 기능들을 한번 구현해 봄

 

 1. AI한테 '기억'을 만들어주기 (동적 가이드)

 

LLM의 단기 기억상실을 보완하려고, 번역하면서 얻는 정보를 계속 쌓아서 다음 번역에 써먹는 '동적 가이드'를 만들었음.

 

-   용어집 관리자 (`GlossaryManager`): 번역할 문단에서 "여기 나오는 고유명사(인명, 지명) 싹 다 뽑아봐" 라고 Gemini한테 시켜서 용어집을 자동으로 만듦. 이 용어집은 계속 누적되면서 번역 일관성을 잡아주는 역할을 함.

-   캐릭터 스타일 관리자 (`CharacterStyleManager`): 대화가 나오면 A->B의 존댓말, 반말을 정하고 그걸 컨텍 화

 

 2. 소설 전체의 '분위기' 파악하기

 

번역 시작 전에, 소설 첫 부분을 AI한테 먼저 보여주고 "이 소설 문체, , 시점 같은 핵심 스타일을 분석해줘" 라고 시킴. 여기서 나온 결과는 모든 프롬프트에 기본값으로 들어가서, 번역이 산으로 가지 않게 잡아주는 기준점이 됨.


자세한건 > 영상에서 설명함 ㅇㅇ

 




어짜피 워크플로우 자체는 바이브코딩으로 금방 구현함. 근데 '질'이 중요하겠지? 장인정신으로 컨텍 구조 깎는중. 지금까지 코딩:프롬프팅 투자 시간 비율이 15:85 정도 됨. 


+ 앞으로는...

  업데이트 예시 (방금 만든 거)

매번 모든 용어집을 다 주는 게 비효율적이라"지금 당장 필요한 정보만 주자" 는 컨셉으로 개선.


-   어떻게 했냐면 `translation_engine.py`에서번역할 문단(`segment_content`)이랑 지금까지 쌓인 전체 용어집(`job.glossary`)을 비교함그리고 파이썬 정규식(`re.search`)으로 현재 문단에 진짜로 있는 단어만 필터링해서 `contextual_glossary`를 따로 만듦.

-   결과: 이렇게 하니까 프롬프트도 짧아지고 토큰도 아낄 수 있었음. 능지도 올라가겠지.


궁극적인 목표는 이걸 상용화 수준의 웹 서비스로 키워보는 거임. 누구나 파일만 올리면 쉽게 쓸 수 있고, 설정도 자기 입맛대로 바꾸면서 쓸 수 있게 만들고 싶음. 자세한건 영상에서 설명함.

 

ㅡㅡㅡㅡㅡ

써보고 싶은 사람 있으면 웹으로 서비스하기 전에 누구나 써볼 수 있도록 베타테스트 프로그램은 만들어서 올릴 생각은 있음. 어짜피 금방 만들어. 

프로젝트 같이 개발할 바이브코딩 고수 or etc 있으면 연락좀.. 사실 이게 목적임.


꿀팁 :

한국어로 바이브코딩할거면 걍 제미니 쓰자. 제미니가 한국어 토큰 가성비, 다국어 성능 월등함. 아님말고 ㅋ

gemini cli 쓰다보면 2.5 pro에서 flash로 자꾸 바뀔탠데 그냥 쓰지 말고 api 연결해서 pro로 고정해서 써라. 어짜피 구글 깡계파면 크레딧 무한임. 6~7월에 크레딧 천불 넘게 썼는데 코딩하기전에 구글 쪽으로 세번 절하고 하는중.



번역 예시. 방금 뽑은거임. 영상에 있는거랑 비교하면서 보셈.




개추주면 글 더 올려봄.