踐(26):Prompt Management)
系列AI Agent 工程實(shí)踐上一篇第 25 篇《Memory Service》下一篇第 27 篇《日志系統(tǒng)Logging》一、開場一次改提示詞引發(fā)的雪崩一個(gè)團(tuán)隊(duì)把系統(tǒng)提示詞寫在代碼常量里SYSTEM_PROMPT 你是...。某天運(yùn)營要微調(diào)語氣開發(fā)改了常量、發(fā)版、回滾兩次才對。更糟的是沒人知道線上跑的到底是哪一版提示詞——因?yàn)樘崾驹~和代碼綁死沒有版本記錄。上篇25講記憶收口這篇講提示詞收口——Prompt Management。提示詞不是文本是會被頻繁調(diào)、要可回溯、要能 A-B 的生產(chǎn)資產(chǎn)。二、問題背景prompt.txt vs Prompt Registry裸寫版SYSTEM_PROMPT 你是一個(gè)客服語氣專業(yè)。 # 改語氣改代碼、發(fā)版、祈禱管理版from prompt.registry import get_prompt prompt get_prompt(customer_system, versionv3) # 按版本取 rendered prompt.render(user_name張三) # 注入變量差別提示詞從代碼里的字符串變成有版本、有變量、可測試的資產(chǎn)。三、錯(cuò)誤嘗試三種提示詞管理翻車錯(cuò)誤 1寫死成常量如上。改提示 改代碼 發(fā)版運(yùn)營無法自助且無法回溯昨天線上是哪版。錯(cuò)誤 2用字符串拼接prompt 你是 role 服務(wù) user 。 # 拼接易錯(cuò)、難測拼接出的最終 prompt 不可見、難單測出問題時(shí)不知道是哪段拼壞的。錯(cuò)誤 3不區(qū)分模板和變量把角色設(shè)定和用戶名字混在一個(gè)字符串里想改角色要改整段想換用戶要改整段——兩件變化原因綁死了。四、關(guān)鍵觀察Prompt 模板 變量 版本好的 Prompt Management 把提示詞拆成Template固定骨架角色、規(guī)則可版本化。Variables動態(tài)注入用戶名、上下文運(yùn)行時(shí)填。Version每次改模板存一版可回滾、可 A-B。Registry按名字版本取調(diào)用方不寫死字符串。A-B Test同一場景兩版提示按比例流量對比效果。提示詞是生產(chǎn)資產(chǎn)不是開發(fā)隨手寫的字符串。它會被運(yùn)營調(diào)、會被 A-B、會被審計(jì)當(dāng)時(shí)線上是哪版——所以必須像代碼一樣版本化、像配置一樣可注入。五、最終方案Prompt Management 長什么樣prompt/ ├── registry.py # get_prompt(name, version) ├── templates/ │ ├── customer_system.v3.yaml # 模板 變量聲明 │ └── customer_system.v2.yaml └── ab.py # A-B 分流邏輯模板YAMLname: customer_system version: v3 template: | 你是{{role}}服務(wù)用戶{{user_name}}。 規(guī)則 - 不承諾具體賠付金額 variables: [role, user_name]調(diào)用p get_prompt(customer_system, versionv3) text p.render(role客服, user_name張三) # A-B50% 流量用 v350% 用 v4 variant ab.pick(customer_system) # 返回 v3 或 v4分流結(jié)構(gòu)Mermaid六、設(shè)計(jì)權(quán)衡什么時(shí)候上 Prompt Management場景建議理由原型、提示詞一次寫好不再動常量即可管理是負(fù)債提示詞常調(diào)、多人協(xié)作Template Version Registry回溯A-B 剛需要優(yōu)化效果 A-B Test數(shù)據(jù)驅(qū)動改提示反過度工程不要為一條永不改的提示上整套帶 UI 的 Prompt 平臺。核心是模板 / 變量 / 版本三件事形式可簡。七、總結(jié)? 提示詞寫死成常量 改語氣要發(fā)版 無法回溯線上版本。? 三種翻車常量寫死、字符串拼接、模板變量不分。? Prompt Template骨架/版本 Variables注入 Version回滾/A-B Registry按名取。? 提示詞是生產(chǎn)資產(chǎn)要像代碼一樣版本化、像配置一樣可注入。? 反過度工程核心是模板/變量/版本三件事不必上重型平臺。下一篇進(jìn)入看不見就優(yōu)化不了的底座——日志系統(tǒng) Logging。27參考資料帶用途說明本系列25Memory Service本文與25同構(gòu)——把散落資產(chǎn)收口成可管理的服務(wù)。本系列22AI Agent 項(xiàng)目應(yīng)該如何分層本文對應(yīng)config/周邊的提示詞治理也可歸入 agent/ 的定義。本系列04Review——為什么 AI Agent 必須每天復(fù)盤提示詞版本回溯是復(fù)盤的一部分。Anthropic Prompt Engineering 文檔docs.anthropic.com模板/變量化提示詞設(shè)計(jì)的最佳實(shí)踐參考。本文是 AI Agent 工程實(shí)踐系列的第 26 篇第四階段第六篇。系列導(dǎo)航上一篇第 25 篇《Memory Service》下一篇第 27 篇《日志系統(tǒng)Logging》