上下文工程
Yuqi-666
目录
上下文工程的核心要素:构建有效上下文的 5 个关键
一份 “有效上下文” 需包含以下 5 个要素,根据任务复杂度可调整各要素的详略程度(简单任务可简化 “示例”“约束”,复杂任务需完整覆盖):
1. 任务目标(明确 “做什么”)
用清晰、具体的语言描述 AI 需要完成的核心任务,避免模糊表述。核心是 “回答 3 个问题”:
- 输出形式:要生成什么?(如 “报告”“邮件”“代码”“思维导图”);
- 核心内容:包含哪些关键信息?(如 “报告需含市场规模、竞争对手分析、建议策略”);
- 目标受众:给谁看?(如 “面向老板的汇报”“面向小学生的科普”)。
- 反例:“写一篇关于环保的文章”(模糊,无形式、内容、受众);
- 正例:“写一篇面向社区居民的环保宣传短文(输出形式),内容需包含‘垃圾分类的 3 个好处’和‘家庭垃圾分类的简单方法’(核心内容),受众是社区内的中老年居民(目标受众)”。
2. 背景信息(补充 “为什么做”“基于什么做”)
提供任务相关的 “前提条件”,帮助 AI 理解任务的上下文场景,避免因信息缺失导致偏差。常见背景信息包括:
- 场景背景:任务发生的场景(如 “公司要推出一款新的儿童玩具,需写一份面向经销商的推广文案”);
- 专业背景:任务涉及的专业知识(如 “解释‘高血压’,背景:读者是刚入职的社区护士,需包含诊断标准(如血压值≥140/90mmHg)和日常护理要点”);
- 约束条件:任务的限制(如 “写一份活动方案,预算不超过 1 万元,时间仅限周末”)。
3. 角色设定(定义 “AI 以什么身份做”)
给 AI 设定一个 “具体角色”,让模型基于角色的 “专业视角” 和 “语言风格” 输出,提升内容的真实性和针对性。角色设定越具体,AI 的输出越贴合需求:
- 反例:“回答用户关于‘感冒用药’的问题”(无角色,AI 可能输出通用信息);
- 正例:“角色:社区医生;任务:回答用户关于‘感冒用药’的问题;要求:用通俗语言解释,避免专业术语,提醒‘孕妇、儿童需咨询医生’,推荐常用非处方药(如对乙酰氨基酚)时需说明适用症状(如发烧、头痛)”。
4. 示例引导(展示 “要做成什么样”)
对于需要特定风格、格式的任务(如简历、学术引用、诗歌),提供 1-2 个示例,让 AI “模仿” 示例的结构和风格,快速对齐预期。示例需具备 “代表性”,覆盖核心要求:
- 需求:“用‘总分总’结构写一段关于‘阅读的好处’的话”;
- 示例:“阅读对个人成长有诸多好处(总)。首先,阅读能拓宽知识面,通过书籍接触不同领域的知识;其次,阅读能提升思考能力,帮助我们分析书中的观点并形成自己的判断(分)。总之,坚持阅读能让我们在知识和思维上不断进步(总)”。
5. 输出约束(明确 “不能做什么”“要注意什么”)
划定 AI 输出的 “边界”,避免生成无关、错误或不符合要求的内容。常见约束包括:
- 内容约束:禁止包含的信息(如 “不提及竞品品牌名称”“不使用网络流行语”);
- 格式约束:输出的结构要求(如 “分 3 点列出,每点不超过 20 字”“用 Markdown 表格呈现”);
- 准确性约束:专业内容的正确性要求(如 “引用数据需标注来源,如‘据 2023 年中国统计年鉴’”)。