自訂提示詞
yaku 內建一套經過調校的翻譯系統提示詞。如果你想完全掌控 LLM 指令,可以整個替換成自己的提示詞。
單次指令覆蓋
Section titled “單次指令覆蓋”yaku --to zh-TW --prompt my-prompt.txt "Hello, world"檔案內容會作為系統提示詞傳送。yaku 原封不動地讀取檔案 — 沒有模板變數,也不會合併。
yaku config set prompt /path/to/my-prompt.txt此設定會套用到所有翻譯,直到你清除它:
yaku config set prompt ""命令列上的 --prompt 選項優先於設定檔的值。
撰寫自訂提示詞
Section titled “撰寫自訂提示詞”你的提示詞會取代 yaku 的整個系統提示詞。所有指令由你負責。至少需要包含:
- 指示只輸出翻譯結果(不加解釋或註解)
- 指示保留段落結構和換行
- 目標語言(yaku 仍會將文字作為使用者訊息傳送)
範例提示詞檔案
Section titled “範例提示詞檔案”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 zh-TW --prompt my-prompt.txt -f docs.en.md哪些功能會被停用
Section titled “哪些功能會被停用”使用 --prompt 時,以下內建行為會被停用:
- 內建翻譯規則 — 8 條基礎提示詞不會被包含。
- 潤飾模式提示詞 —
--mode polish不會生效,因為自訂提示詞取代了一切。 - 格式專屬規則 — Markdown 保留規則不會被附加(但 JSON/YAML 擷取仍然有效 — 見下方)。
- 上下文注入 —
--context不會生效。
以下功能在自訂提示詞下仍然有效:
- 術語表 — 翻譯條目(詞彙 → 翻譯)和保留原文(
~)規則都會生效。術語表指令會附加在你的自訂提示詞內容之後。使用--no-glossary可停用。 - JSON/YAML 擷取 — 結構化格式處理是前處理步驟,非提示詞層面。
- 輸出清理 — LLM 雜訊清除會對所有輸出執行。
- 領域專屬語氣 — 為法律、醫學或行銷內容量身打造提示詞。
- 嚴格輸出格式 — 強制執行預設提示詞未涵蓋的特定格式規則。
- 實驗 — 測試不同的提示策略,找出最適合你內容的方式。
- 從內建提示詞出發。 閱讀 yaku 的原始碼(
internal/prompt/system.go)查看預設規則,再據此修改。 - 先用短文字測試。 在處理大型檔案前,先確認你的提示詞能產出乾淨的輸出。
- 保留「只輸出翻譯」規則。 沒有這條規則,LLM 傾向加入解釋,污染輸出(不過 yaku 的清理器會攔截常見的模式)。