커스텀 프롬프트
yaku는 번역에 최적화된 시스템 프롬프트를 내장하고 있습니다. LLM 지시를 완전히 제어해야 한다면 내장 프롬프트를 완전히 대체할 수 있습니다.
명령별 재정의
섹션 제목: “명령별 재정의”yaku --to ko --prompt my-prompt.txt "Hello, world"파일 내용이 시스템 프롬프트로 전송됩니다. yaku는 파일을 있는 그대로 읽습니다. 템플릿 변수나 병합은 없습니다.
모든 명령에 적용
섹션 제목: “모든 명령에 적용”yaku config set prompt /path/to/my-prompt.txt제거할 때까지 모든 번역에 적용됩니다:
yaku config set prompt ""명령줄의 --prompt 옵션이 설정 값보다 우선합니다.
커스텀 프롬프트 작성
섹션 제목: “커스텀 프롬프트 작성”프롬프트는 yaku의 전체 시스템 프롬프트를 대체합니다. 모든 지시에 대한 책임은 사용자에게 있습니다. 최소한 다음을 포함하세요:
- 번역된 텍스트만 출력하라는 지시 (설명이나 해설 없이)
- 단락 구조와 줄 바꿈을 보존하라는 지시
- 대상 언어 (yaku는 여전히 텍스트를 사용자 메시지로 전달합니다)
프롬프트 파일 예제
섹션 제목: “프롬프트 파일 예제”You are a professional translator specializing in software documentation.
Translate the user's input to the target language.
Rules:- Output ONLY the translated text. No explanations, no wrapping quotes.- Preserve paragraph structure and line breaks exactly.- Keep code identifiers (variables, functions, file paths) in English.- Keep brand names (GitHub, Docker, Kubernetes) unchanged.- Use formal, precise language appropriate for technical documentation.my-prompt.txt로 저장하고 사용:
yaku --to ko --prompt my-prompt.txt -f docs.en.md비활성화되는 기능
섹션 제목: “비활성화되는 기능”--prompt를 사용하면 다음 내장 기능이 비활성화됩니다:
- 내장 번역 규칙 — 8가지 기본 프롬프트 규칙이 포함되지 않습니다.
- 다듬기 모드 프롬프트 — 커스텀 프롬프트가 모든 것을 대체하므로
--mode polish가 효과가 없습니다. - 포맷별 규칙 — Markdown 보존 규칙이 추가되지 않습니다(하지만 JSON/YAML 추출은 여전히 작동합니다. 아래 참조).
- 컨텍스트 주입 —
--context가 효과가 없습니다.
커스텀 프롬프트와 함께 여전히 작동하는 기능:
- 용어집 — 번역 항목(용어 → 번역)과 원문 유지 강제(
~) 모두 적용됩니다. 용어집 지시는 커스텀 프롬프트 내용 뒤에 추가됩니다. 비활성화하려면--no-glossary를 사용하세요. - JSON/YAML 추출 — 구조화 포맷 처리는 전처리이며 프롬프트 기반이 아닙니다.
- 출력 정제 — LLM 아티팩트 정리는 모든 출력에서 실행됩니다.
사용 사례
섹션 제목: “사용 사례”- 도메인별 어조 — 법률, 의학, 마케팅 콘텐츠에 맞게 프롬프트를 조정합니다.
- 엄격한 출력 포맷 — 기본 프롬프트가 다루지 않는 특정 서식 규칙을 강제합니다.
- 실험 — 콘텐츠에 가장 적합한 프롬프트 전략을 테스트합니다.
- 내장 프롬프트에서 시작하세요. yaku의 소스 코드(
internal/prompt/system.go)를 읽어 기본 규칙을 확인하고 거기서 수정하세요. - 짧은 텍스트로 먼저 테스트하세요. 큰 파일에서 실행하기 전에 프롬프트가 깨끗한 출력을 생성하는지 확인하세요.
- “출력만” 규칙을 유지하세요. 이 규칙이 없으면 LLM이 출력을 오염시키는 설명을 추가하는 경향이 있습니다(yaku의 정제기가 일반적인 패턴을 잡아내긴 합니다).