定义

5C Prompt Contract(5C 提示契约)是由 Ugur Ari 提出的极简提示设计框架,将提示工程精炼为五个直观组件:Character(角色)、Cause(原因)、Constraint(约束)、Contingency(应变)、Calibration(校准)。该框架旨在平衡结构控制与创意自由度,同时实现极高的 token 效率。

核心组件

1. Character(角色)

定义 AI 的身份、专业知识、语气风格和行为特征。

你是一位拥有 15 年经验的科技行业产品经理,擅长将复杂技术概念转化为用户友好的产品说明。

2. Cause(原因/目标)

明确任务的目的、预期成果以及为什么要完成这个任务。

目标:为即将发布的企业级 SaaS 产品撰写产品说明文档,帮助潜在客户理解产品价值和核心功能。

3. Constraint(约束)

设定边界条件、资源限制、执行规则和排除项。

约束:
- 文档长度不超过 800 字
- 避免使用技术术语,使用通俗语言
- 包含至少一个客户成功案例
- 不要提及竞争对手

4. Contingency(应变)

定义备用方案、错误处理机制和安全回退策略。

如果无法获取足够的产品信息,请:
1. 列出需要补充的关键信息点
2. 提供一个通用的模板框架
3. 说明完成文档所需的后续步骤

5. Calibration(校准)

输出优化指令,包括质量标准、验证步骤和迭代要求。

校准:
- 完成后自检:文档是否回答了"这是什么"、"为什么需要"、"如何使用"三个核心问题
- 确保每个功能点都对应一个具体的用户收益
- 使用积极的、以结果为导向的语言

框架优势

Token 效率

5C 框架的核心优势在于极高的输入 token 效率:

提示风格平均输入 Token相对效率
5C54.75基准
DSL348.756.4x 更多
非结构化346.256.3x 更多

跨模型表现

在 OpenAI、Anthropic、DeepSeek、Gemini 四大模型家族测试中,5C 框架均表现出色:

  • Gemini 效果最显著:5C 仅需 54 tokens,而 DSL 需要 1,212 tokens
  • 输出质量:在保持创意丰富度的同时,一致性优于非结构化提示
  • 创意自由度:相比 DSL 的刚性结构,提供更多语义探索空间

与传统 DSL 对比

维度5C FrameworkDSL
学习曲线平缓,直观易懂陡峭,需学习标记语法
Token 开销极低
认知负载低,聚焦核心要素高,需处理多层嵌套
创意自由度高,LLM 保留”熵预算”受限,语法合规消耗创意
可移植性跨模型、跨平台依赖特定 DSL 实现
结构化程度中等,平衡灵活与规范高,严格的标记语言

适用场景

推荐使用

  • Token 敏感的应用(高频 API 调用)
  • 需要平衡结构与创意的任务
  • AI 工程资源有限的个人/中小企业
  • 快速原型设计和迭代
  • 多模型部署(需要跨模型一致性)

可能不适用

  • 需要严格 schema 验证的场景
  • 企业级 templates 标准化需求
  • 复杂的多步骤工作流编排

实践建议

  1. 从 Character 开始:明确定义角色是其他组件的基础
  2. Constraint 要具体:模糊的限制会产生模糊的输出
  3. Contingency 不要省略:定义回退策略提升可靠性
  4. Calibration 用于质量控制:把它当作内置的质检步骤
  5. 保持简洁:5C 的优势在于极简,避免过度扩展

知识冲突

5C vs 复杂 DSL 之争

5C 立场(Ugur Ari):

  • 复杂 DSL 的 token 和认知开销限制了 LLM 的”熵预算”
  • 简化结构让 LLM 专注于语义理解和创意生成
  • 特别适合资源受限的场景

复杂 DSL 立场(部分企业实践):

  • 严格的标记语言提供更好的可预测性和可验证性
  • 适合需要精确输出格式的生产环境
  • 便于程序化处理和解析

调和观点: 两种方式各有适用场景。5C 适合创意任务和资源敏感场景,复杂 DSL 适合结构化输出和严格验证场景。实际应用中可以根据任务类型选择或组合使用。

关联连接