一、明确指令:清晰是效率的基石

与大模型交互时,最基础也最重要的原则就是 “指令明确”。一个模糊的提问,比如“帮我写篇文章”,AI只能给出一个泛泛的通用回答。而一个明确的指令,应该清晰定义任务的目标、边界和格式。例如,将指令优化为:“请为一个技术博客写一篇800字左右、面向初学者的、关于Python列表推导式的入门文章。文章需要包含语法说明、2个实用示例以及一个常见误区提醒,语言风格要亲切易懂。”

这种指令明确化了 “写什么”(Python列表推导式)、“写给谁看”(初学者)、“写成什么样”(800字、含特定部分、风格亲切)。这极大地减少了模型的猜测空间,能直接产出更符合预期的结果。记住,你的提示词就是一个需求文档,文档越清晰,交付物质量越高。

提示:永远避免使用“写点什么”、“随便聊聊”这类模糊指令。把模型想象成一个能力很强但需要明确需求的下属。

二、角色设定:引导模型的“人格”与“知识库”

通过 system 消息或直接在提示开头为AI设定一个 “角色”,可以有效地引导其回答的风格、语气和知识侧重。比如,你可以设定“你是一名资深的后端架构师”、“你是一个充满耐心的少儿编程老师”或“你是一个精通古典文学的诗人”。

这个技巧的底层原理是,它将模型的注意力引导到了与该角色最相关的知识域和语言模式上。例如,让AI扮演“架构师”讨论数据库设计,它会更倾向于使用专业术语并考虑性能、可扩展性;而让它扮演“老师”,则会把概念解释得更通俗,并关注学生的接受度。

# 一个简单的角色设定示例(使用OpenAI API格式)
messages = [
    {
        "role": "system",
        "content": "你是一名资深的技术博主,擅长将复杂的AI技术讲得通俗、准确、有干货。你的文章风格严谨但不枯燥,善于使用类比和例子。"
    },
    {
        "role": "user",
        "content": "请用比喻的方式,简要解释什么是Transformer模型中的‘自注意力机制’。"
    }
]
# 将这个messages列表发送给模型,它会以“资深技术博主”的身份和口吻来回答。

三、结构化输出:获得机器可读的结果

在实际开发中,我们往往需要AI返回结构化的数据(如JSON、XML、Markdown表格),而非一段连续的散文。在提示词中明确指定输出格式,是提升开发效率的利器。

你可以在提示中直接声明格式要求。例如:“请以Markdown表格的形式列出Python中5种常见的数据类型,表格列包括:类型名称、关键字、示例值、是否可变。” 或者更复杂地:“分析以下用户评论的情感(积极/消极/中性)和核心诉求,然后以严格的JSON格式输出,包含sentiment和core_demand两个键。”

通过这种方式,你可以轻松地将AI的输出集成到后续的程序处理流程中,实现真正的自动化。

# 要求结构化输出的提示示例
prompt = """请根据以下用户反馈,生成一份结构化报告。
用户反馈:“App每次启动都慢得要命,而且新版本后通知总是莫名其妙地消失,太影响体验了!”

请严格按照以下JSON格式输出你的分析结果:
{
    “sentiment”: “(在此填写积极、消极或中性)”,
    “issues”: [“(问题1描述)”, “(问题2描述)”],
    “urgency”: “(在此填写高、中、低)”
}"""

# 模型将尝试返回一个规范的JSON字符串。

四、思维链:让复杂推理“可见”

当遇到需要逻辑推理、数学计算或多步骤分析的任务时,直接要求AI给出最终答案,错误率可能很高。思维链 技巧的核心是让模型“一步一步思考”并将其过程展示出来。这不仅能提高准确性,也方便我们调试和理解模型的推理路径。

最简单的实现方式,就是在问题末尾加上一句 “请一步一步地思考” 或 “Let’s think step by step”。对于更复杂的任务,你可以给出一个思维链的范例。例如,在解决一个数学应用题时,你先演示如何拆解题目、建立等式、求解并验证,然后再提出你的问题,AI就会模仿这个“思考”过程。

提示:思维链并非万能药,对于过于简单或需要快速回答的问题,使用它反而会增加延迟和token消耗。它主要用于复杂推理任务。

五、少样本学习:用例子定义任务

对于一些新颖、特殊或格式固定的任务,仅用语言描述规则可能不够直观。少样本学习 就是在提示中直接提供少量(通常是2-5个)高质量的“输入-输出”示例,让模型通过模仿来理解任务的模式。

这是零样本和微调之间的一个绝佳平衡点。例如,你想让AI用“XX体”的风格改写句子,可以先提供2-3个原句和对应的“XX体”改写结果作为示例,然后再给出你想要改写的句子。模型会快速抓住风格的精髓进行模仿。

这种方法的关键在于例子要清晰、准确、有代表性。如果例子本身有噪音或不一致,模型学到的模式也会出错。它特别适用于文本风格转换、数据格式化、特定领域的问答等场景。

六、迭代优化:把提示词当成代码来调试

没有哪个提示词是一次就能写到完美的。Prompt Engineering 的过程本质上是一个 “测试-分析-优化” 的迭代循环。你需要像调试代码一样调试你的提示词。

例如,一个生成会议摘要的提示,最初可能输出过于冗长。你的优化路径可以是:1)添加长度限制(“总结为3-5个要点”);2)指定摘要焦点(“重点突出决策项和待办任务”);3)尝试不同的动词(从“总结”改为“提炼出核心决策”)。持续的迭代是获得满意结果的不二法门。