📝 한줄 요약
영어/일어/중국어 논문과 한문 사료를 빠르게 훑어볼 수 있는 번역기를 Claude Code 서브에이전트로 만들었습니다.
🎯 이런 분들께 도움돼요
- ✅ Claude Code를 쓰기 시작한 연구자/대학원생
- ✅ 외국어 학술 자료 번역에 시간을 많이 쓰는 분
- ✅ 서브에이전트를 직접 만들어보고 싶은 분
😫 문제 상황 (Before)
저는 정치사상을 연구하는 박사과정 연구자입니다. 연구 과정에서 세 가지 번역 니즈가 있었어요.
1️⃣ 외국어 논문/단행본 빠르게 훑어보기
영어, 일어, 중국어로 된 논문이나 책을 읽어야 할 때가 많은데, 원문으로 읽으면 아무래도 모국어로 읽을 때보다 속도가 느립니다. 직접 연구해야 하는 대상이야 당연히 직접 읽지만, 그냥 훑어보고만 싶을 때는 좀 거지 같더라도(?) 번역이 있으면 좋겠다 싶었어요. 그치만 또 너무 거지 같으면 내용 파악에 도움은 커녕 방해가 되니까.. 그러다 claude opus 4.5랑 작업하면서 얘가 한 번역이라면 스키밍 용도로 쓸 만하겠다 싶었습니다.
2️⃣ 내가 쓴 논문을 다른 언어로 다시 쓸 때
비슷한 내용의 글을 영어와 한국어 양쪽으로 써야 하는 경우가 종종 있는데, 기존의 글을 다른 언어로 다시 쓰자니 시간이 너무 오래 걸렸습니다. 해본 분은 아시겠지만 이게 번역이 아니라 거의 새로 쓰는 기분이 되어서요. 초벌 번역이라도 있으면 새로운 언어로 논문 작성이 수월하지 않겠나 싶었어요.
3️⃣ 한문 사료 빠르게 훑어보기 + 커스터마이즈
고전중국어(한문)로 된 사료를 많이 읽는데, 원문으로 읽으면 역시 속도가 느립니다. 사료 원문을 긁어서 Gemini나 Claude에 넣으면 번역 자체는 잘 해주는 편이에요. 크롬에서 사료 열어두고 Claude 익스텐션으로 읽기도 하고요. 그런데 문제는 번역 품질을 ‘커스터마이즈’할 수가 없다는 거였습니다. 제가 주로 읽는 사료들에는 고유한 관용어나 시대별 표현이 있는데, 이런 걸 가이드로 만들어서 Claude 번역이 점점 제 연구에 맞게 정교해지길 원했어요.
💡 계기: 이런 니즈가 있었는데, 박준 님의 무료 강의를 듣다가 긴 글 번역하는 서브에이전트 만드는 시연을 보고 “아하, 저렇게 하면 되겠구나!” 싶었습니다.
🛠️ 사용한 도구
| 항목 | 내용 |
|---|---|
| 도구 | Claude Code |
| 모델 | Claude Opus 4.5 (번역 품질을 위해 고정) |
🔧 작업 과정
📐 1. 아키텍처 설계 - 어떤 구조로 만들지?
먼저 Claude Code에서 뭘 활용해야 하는지부터 물어봤습니다.
번역기를 만들고 싶은데, Claude Code 공식 문서에서 스킬, 커맨드, 서브에이전트에 대한 내용을 찾아서 설명해줘. 이 중에 뭘 활용하면 좋을지 알려줘.
Claude가 각각의 개념을 설명해주고, 세 가지 아키텍처 옵션을 비교해서 보여줬어요.
| 옵션 | 구조 | 평가 |
|---|---|---|
| A | 전처리 에이전트를 따로 분리 | ❌ 에이전트 간 조율 로직이 필요해서 복잡 |
| B | 각 에이전트에 전처리 로직 내장 | ❌ 코드가 중복됨 |
| C | 공통 전처리 스크립트(Python) + 용도별 특화 에이전트 | ✅ 채택! |
박준 님 강의에서 배운 방식이기도 한데, 긴 글을 번역할 때 전처리 단계(텍스트를 적당한 크기로 나누는 작업)에서는 Claude를 사용하지 않고 Python 스크립트로 처리하면 토큰 소모를 줄일 수 있고, 병렬 처리도 시킬 수 있습니다. Claude가 추천해주는 것도 이 방식이었어요.
➡️ 그래서 전처리는 Python 스크립트(text_parser.py)로 처리하고, 실제 번역은 Claude 에이전트가 담당하는 구조로 결정했습니다. 에이전트 지침에는 나눠진 청크들을 병렬로 처리하라고 명시해뒀어요.
🔀 2. 번역기 용도 분리 - 학술 번역기 vs 사료 번역기
번역 용도에 따라 요구사항이 달랐습니다.
번역기 용도를 나눠보자. 영어↔한국어, 중국어→한국어, 일본어→한국어는 학술적 엄밀성을 유지하면서 직역해야 해. 연구 목적 번역이거든.
그리고 별도로 고전중국어(한문)→한국어 번역이 있어. 현대 중국어 번역과는 완전히 다른 접근이 필요해.
결국 두 개의 에이전트를 만들기로 했습니다.
| 에이전트 | 용도 | 특징 |
|---|---|---|
📚 academic-translator | 학술 논문/단행본 번역 (영↔한, 일→한, 중→한) | 직역 + 학술 문체 + 윤문 |
📜 hanmun-translator | 고전 한문 사료 번역 | 직역 최우선 + 고유명사/시대별 관용표현 처리 |
🧪 3. 테스트와 개선 - 직역과 윤문 단계 분리
에이전트를 만든 후 실제 영어 논문으로 테스트해봤습니다. 5페이지 정도 번역을 시켜봤는데, 뚝딱 해주니까 좋긴 했어요.
그런데 문제가 있었습니다. 😅
academic-translator 결과를 보니 보완이 필요해. 직역과 학술적 문체는 잘 구현됐는데, 번역된 한국어가 비문인지 검토가 안 되는 것 같아. 영어 번역도 마찬가지고. 직역 → 학술 문체 → 윤문, 이렇게 단계를 거쳐야 할 것 같아.
내용은 괜찮았는데 문장이 어색했어요. 아마 직역 원칙을 우선하라고 지시해서 그런 것 같기도 했고요. 그래도 Claude가 문장 다듬느라 직역을 소홀히 하면 그게 더 문제라서, 일단 직역을 최우선으로 하게 하고 윤문은 별도 단계로 분리하기로 했습니다.
💡 해결: 2단계 번역 프로세스
- 직역: 원문 의미 정확히 전달(학술 문체 적용)
- 윤문: 비문 검토, 자연스러운 표현 다듬기
⚙️ 4. 커스터마이즈를 위한 가이드라인 외부화
번역 품질을 점진적으로 개선하려면 가이드라인과 참조 사례를 따로 관리할 수 있어야 했어요.
번역/윤문 원칙을 에이전트 파일에 직접 적는 게 좋을까, 아니면 가이드라인 문서를 따로 만들어서 참조하게 하는 방식이 좋을까?
Claude가 가이드라인/사례집을 외부 문서로 분리하는 방식을 제안했어요. 이렇게 하면:
- ✅ 가이드라인을 점진적으로 개선할 수 있음
- ✅ 언어별로 필요한 문서만 선택적 참조 (영어 번역 시 중국어 가이드는 로드 안 함)
- ✅ 에이전트 본체는 가볍게 유지
🎯 이게 바로 제가 원하던 커스터마이즈였어요! 제가 주로 읽는 사료들의 관용어나 시대별 표현을 가이드 문서에 정리해두면, Claude가 그걸 참조해서 번역하는 거죠. 문체도 제가 주로 쓰거나 읽는 학술적 문체에 대한 가이드와 사례를 참조시켜서 제가 원하는 스타일로 번역하게 할 수 있고요. 즉, 번역 내용과 문장의 퀄리티를 제가 점차 개선해나갈 수 있게끔 에이전트를 설계한 거죠.
📁 5. 폴더 구조 수정 - 공유를 위한 설계
그런데 Claude가 처음에 참조문서(가이드라인, 예시 등)를 에이전트 폴더 바깥에 두는 구조를 제안했어요. Claude 작동 방식상 상관은 없겠지만, 저는 나중에 이 에이전트를 친구들에게 폴더째로 공유해주고 싶었거든요.
그래서 에이전트 폴더 안에 참조자료를 두도록 구조를 바꿨습니다.
.claude/agents/
├── 📚 academic-translator/
│ ├── academic-translator.md (메인 에이전트)
│ ├── guidelines/ (언어별 번역 가이드)
│ └── examples/ (참조 사례)
└── 📜 hanmun-translator/
├── hanmun-translator.md
├── guidelines/
└── examples/
➡️ 이렇게 하면 폴더 하나만 복사해서 전달하면 되니까요!
✍️ 6. 마무리 - 토큰 효율을 위한 영어 재작성
마지막으로, 에이전트가 컨텍스트를 적게 먹도록 에이전트 설명과 참조문서 가이드들을 모두 영어로 재작성했습니다. 한국어가 토큰도 많이 먹고 컨텍스트도 많이 차지하니까요..
✅ 결과 (After)
📊 Before vs After
| 항목 | Before 😫 | After 🎉 |
|---|---|---|
| 번역 방식 | 매번 Claude에게 직접 요청 | 에이전트 호출로 자동화 |
| 토큰 효율 | 전처리도 Claude가 처리 | 전처리는 Python, 번역만 Claude |
| 번역 품질 관리 | 매번 프롬프트에 지침 작성/GPTs나 프로젝트 지침으로만 제한적 관리 | 가이드라인/사례 문서로 점진적 개선 및 커스터마이즈 가능 |
🎁 결과물
- 📚
academic-translator: 학술 논문/단행본 번역 에이전트 - 📜
hanmun-translator: 한문 사료 번역 에이전트 - 🐍
text_parser.py: 텍스트 전처리 스크립트
제 글 하나를 테스트로 번역해봤는데, 내용과 문체를 제 기준에 맞추려면 가이드 문서와 사례 문서를 상세하게 작성하는 파인튜닝이 필요해 보였어요. 앞으로 사용하면서 점차 파인튜닝해나갈 예정입니다. 에이전트 파인튜닝과 연구 작업을 동시에 진행할 수 있으니, 일거양득인 기분이에요. 😊
💬 이 과정에서 효과적이었던 것
🎬 커뮤니티에서 시연 영상 많이 보기: AI 커뮤니티에서 훌륭하신 분들의 시연을 많이 보세요! 시행착오 시간을 줄이는 건 둘째치고, “Claude Code를 이렇게 쓰는구나” 하는 상상 자체를 열어줍니다. 상상을 할 수 있어야 시행착오도 겪을 수 있어요.
🌟 Claude Code… 신세계…: 서브에이전트 구축하는 데 1시간밖에 안 걸렸어요… 예전에 크롤링 코드 만들겠다고 일주일씩 밤새고 실패하던 걸 생각하면… 정말이지 비개발자로서는 신세계입니다. 그냥 연구하다 지칠 때, 클코 한 번씩 해주면 뭔가 연구에 도움되는 걸 하는 기분도 들고, 쉬어도 뭔가 생산적으로 쉬는 것 같고… 물론 건강엔 해로운 것 같습니다.
🌍 다른 업무에 적용한다면?
- 📖 논문 요약 에이전트 (긴 논문을 구조화된 요약으로)
- 🏷️ 문헌 인덱싱 에이전트 (읽은 자료에서 주제/키워드 자동 추출)
- ✏️ 초고 검토 에이전트 (비문 검토, 논리 흐름 체크)
🚀 앞으로의 계획
- 가이드 문서/사례 문서 커스터마이즈: 번역 품질을 제 기준에 맞게 올리기 위해 참조 문서들을 상세하게 작성해나갈 예정입니다.
- 요약기, 인덱서 에이전트 추가: 번역기 외에 다른 연구 보조 에이전트도 만들어볼 계획이에요.