콘텐츠로 이동

커스텀 프롬프트

yaku는 번역에 최적화된 시스템 프롬프트를 내장하고 있습니다. LLM 지시를 완전히 제어해야 한다면 내장 프롬프트를 완전히 대체할 수 있습니다.

Terminal window
yaku --to ko --prompt my-prompt.txt "Hello, world"

파일 내용이 시스템 프롬프트로 전송됩니다. yaku는 파일을 있는 그대로 읽습니다. 템플릿 변수나 병합은 없습니다.

Terminal window
yaku config set prompt /path/to/my-prompt.txt

제거할 때까지 모든 번역에 적용됩니다:

Terminal window
yaku config set prompt ""

명령줄의 --prompt 옵션이 설정 값보다 우선합니다.

프롬프트는 yaku의 전체 시스템 프롬프트를 대체합니다. 모든 지시에 대한 책임은 사용자에게 있습니다. 최소한 다음을 포함하세요:

  1. 번역된 텍스트만 출력하라는 지시 (설명이나 해설 없이)
  2. 단락 구조와 줄 바꿈을 보존하라는 지시
  3. 대상 언어 (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로 저장하고 사용:

Terminal window
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의 정제기가 일반적인 패턴을 잡아내긴 합니다).