コンテンツにスキップ

カスタムプロンプト

yakuには翻訳に最適化されたシステムプロンプトが組み込まれています。LLMへの指示を完全に制御したい場合は、組み込みプロンプトを丸ごと置き換えることができます。

Terminal window
yaku --to ja --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 ja --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のサニタイザーが一般的なパターンをキャッチしますが)。