Developer Prompt
Developer Prompt 是开发者给 LLM 的技术指令,定义输出格式、解析规则和行为约束。它和 System Prompt 的区别在于:System Prompt 定义"角色",Developer Prompt 定义"技术规格"。
#type / concept
#status / evergreen
#tech / ai
[!info] related notes
- 所属 MOC: Context Engineering MOC
- 相关: System Prompt, Structured Output
Developer Prompt
一句话定义
Developer Prompt 是开发者给 LLM 的技术指令。System Prompt 定义”你是谁、你该怎么做”,Developer Prompt 定义”输出什么格式、用什么结构”。
核心原理
System Prompt vs Developer Prompt
| System Prompt | Developer Prompt | |
|---|---|---|
| 内容 | 角色、行为规则、安全边界 | 输出格式、技术约束 |
| 定义者 | 产品/业务 | 开发者 |
| 用户可见 | 是 | 否 |
| 例子 | ”你是一个健康助手" | "输出 JSON 格式” |
Developer Prompt 示例
DEVELOPER_PROMPT = """
## 输出格式
请按以下 JSON 格式输出:
{
"answer": "你的回答",
"confidence": 0.95,
"sources": ["来源1", "来源2"],
"next_action": "建议的下一步"
}
## 技术约束
- 回答不超过 200 字
- 使用中文
- 不要使用 Markdown 格式
"""
与 System Prompt 分离的好处
- 职责分离: 产品管角色,开发管格式
- 独立更新: 改格式不影响角色
- A/B 测试: 可以独立测试不同格式
常见坑
- 和 System Prompt 混在一起: 难以维护
- 格式约束太严格: 限制了 LLM 的表达能力
- 不做格式验证: LLM 输出了不符合格式的内容