Prompt Engineering 入门和实战 电脑版发表于:2025/7/16 11:24  >#Prompt Engineering 入门和实战 [TOC] 什么是 Prompt? ------------ tn2>Prompt(提示语):给人工智能模型输入文本或指令。这些指令引导模型生成特定的输出; Prompt engineering:指的是在使用生成式人工智能模型(如GPT-4)时,设计和优化输入文本(即prompt)的过程,以便获得期望的输出。 好的 Prompt engineering = 提好的问题 = 包含好答案的上下文(参考)= 好的答案 tn>Prompt 决定模型输出质量 实际的例子 ------------ tn2>通过输入识别用户的意图,以下是一些参考例子: ```bash Example1: 输入:日志里有多少包含 Error 关键字的日志? 意图:查询日志 Example2: 输入:当前 QPS 是多少 意图:查询指标 Example3: 输入:帮我把服务重启一下 意图:运维操作 ``` tn2>现在,输入是:帮我删除一个工作负载 意图是(输出): Token ------------ tn2>大语言模型通过 Token 来处理文本,模型理解了Token之间的统计关系,并基于已输出的Token 计算下一个Token 的概率分布,并选择概率最高的Token作为预测结果。 tn>Token 统计包:https://github.com/openai/tiktoken  tn2>需要注意的是空格也会占用 Token。  模型的上下文长度 ------------ tn2>Token 的输入(上下文窗口)和输出都是有限的 不同模型的限制不同 Token 越大,可输入的内容越多 模型回答效果并不会随着输入 Token 数量线性增长,可能会有相反作用  Prompt Engineering ------------ tn2>尽量给出具体的描述,避免说“不要做什么” 而是具体说明“要做什么” 对重要事项进行排序 标准的格式,例如 markdown 语法 拆解任务,给出思路 Zero-shot VS few-shot ------------ tn2>Zero-shot 模型单纯通过自然语言描述任务来回答问题  tn2>Few-shot 除了自然语言描述以外,再给模型一些例子参考  思维链 Prompt ------------ tn2>Chain of Thought(CoT) 让模型做出一步一步的思考,生成更具备解释性的答案,一般来说可以提高问题的准确率,对于 Zero-shot 和 Few-shot 均有效  通用知识 Prompt ------------ tn2>Generate Knowledge Prompting 在上下文中提供额外的知识来改善推理结果,比如把运维专家知识库的部分内容放在 system prompt 中进行问答  Prompt 分片(Token 长度限制) ------------ tn2>例如,对于长文本的总结,先分片总结,然后再汇总进行总结  程序辅助 Prompt ------------ tn2>Program-aided Language 对于复杂的任务,可以让 LLM 生成程序并运行得出结果,一般是 Python 代码 