【人工智能通识专栏】第八讲:精细控制输出
上一讲我们学习了如何准确描述问题,这是使用LLM的基础。本讲进阶到精细控制输出:如何让模型严格按照你的要求输出内容,包括格式、长度、风格、语言、结构等。掌握这一技能后,你可以让DeepSeek、GPT等模型像“听话的助手”一样,输出专业、可直接使用的结果,而不是泛泛而谈的长文。
精细控制输出的核心是在提示中明确指定输出要求,并结合格式约束技巧。
1. 为什么需要精细控制输出?
- 默认情况下,LLM倾向于输出冗长、自然的文字。
- 实际场景往往需要结构化、简洁、标准化输出(如JSON、表格、代码、报告)。
- 精细控制可以减少后续编辑工作,提高效率,尤其在自动化、API集成、数据处理中。
2. 精细控制输出的五大技巧
| 技巧 | 说明 | 示例提示片段 |
|---|---|---|
| 指定输出格式 | 要求模型用特定格式回复(如JSON、Markdown、表格、列表) | “请以JSON格式回复,包含键:title, summary, keywords(数组)。” |
| 控制长度 | 明确字数、段落数、要点数 | “用不超过200字总结以下文章。” “列出5个核心观点,每点不超过20字。” |
| 指定风格与语气 | 正式/幽默/专业/简洁/口语化 | “用专业学术语气回复,适合发表在期刊。” “用轻松幽默的口语化风格,像朋友聊天一样解释。” |
| 指定语言 | 中文/英文/中英双语 | “请全程用简体中文回复。” “关键术语保留英文,其余用中文解释。” |
| 结构化输出 | 分段、编号、标题、步骤 | “请按以下结构回复: 1. 问题分析 2. 解决方案 3. 代码实现 4. 测试用例” |
3. 实战示例对比
场景:总结一篇AI新闻文章
- 普通提示(输出可能冗长无结构):
总结这篇文章。
- 精细控制提示(推荐):
请阅读以下文章内容,用简体中文回复,严格按照以下格式:
标题:一句话概括文章主题(不超过20字)
核心内容:用3-5个 bullet points 总结关键信息,每点不超过30字
影响分析:用一段话(100字以内)分析对行业的影响
关键词:列出5个关键词,用逗号分隔
文章内容:[粘贴文章]
输出将高度结构化、可直接用于报告或分享。
场景:生成结构化数据(JSON输出)
请分析以下用户反馈,提取信息并以严格的JSON格式回复(不要有任何额外文字):
{
"sentiment": "positive/negative/neutral",
"main_issue": "字符串或null",
"suggestions": ["建议1", "建议2"] 或 [],
"score": 1-10的整数
}
用户反馈:产品很好用,就是希望能增加暗黑模式,支持多设备同步。
模型会直接输出纯JSON,便于程序解析。
场景:代码生成
请用Python编写一个函数,实现冒泡排序。要求:
- 函数名为bubble_sort,输入为列表,返回排序后的列表
- 添加类型提示(List[int])
- 包含详细中文注释
- 提供3个测试用例
- 输出仅包含代码块,不要有解释文字
4. 进阶技巧:强制格式输出
- 纯JSON模式(DeepSeek API支持):
在API调用中添加"response_format": {"type": "json_object"},模型会强制输出有效JSON。 - 零额外文字:
提示中强调“不要输出任何解释,只输出要求的内容”。 - 分隔符技巧:
用“`json:disable-run - 对推理模型(如DeepSeek-R1):
先让它思考,再输出格式化结果:
请先逐步思考问题,然后严格按照以下JSON格式输出最终答案(不要有其他文字)。
5. 常见陷阱与避坑指南
- 模型偶尔会“偷懒”加解释 → 提示中反复强调“仅输出”“严格按照”“不要额外文字”。
- 格式要求太复杂 → 分步引导或提供模板。
- 多语言混用 → 明确“术语用英文,其余中文”。
6. 练习建议
打开DeepSeek聊天界面(推荐R1模型),尝试以下任务:
- 让模型输出一篇结构化的周报(标题+本周完成+下周计划+问题)。
- 提取一段文字中的实体信息,用JSON输出。
- 生成一个Markdown表格,对比几个LLM模型的优缺点。
对比普通提示和精细控制提示的输出差异,你会发现后者更专业、更可用。
总结与展望
精细控制输出是提示工程的“精髓”,能让LLM从“会聊天”变成“会干活”。结合第七讲的准确描述,你已经掌握了80%的实用提示技能。
下一讲,我们将介绍Chain-of-Thought(思维链)提示,教你如何引导模型“像人一样思考”,解决复杂问题。
欢迎分享你最得意的“输出控制”提示案例!
“`