大模型提示工程与智能体完全指南,从入门到精通,建议收藏!
这是一种针对大语言模型(LLM)应用,通过测试、评估、分析以及优化提示词和工具,系统性改进提示词的实践。是用自然语言进行编程!提示工程往往也是概念工程——确定模型预期行为,界定任务中“表现良好”的含义,传递清晰概念。清晰、明确、精准的文字表达以科学思维创建评估体系,持续开展测试产品思维——你的产品理想的模型行为是怎样的?了解大语言模型,知晓其特点与局限汇总并分析失效模式,思考修复办法考量边缘案例,
提示工程是用自然语言编程,通过优化提示词改进大语言模型应用的实践。文章介绍了提示工程技能、智能体概念及适用场景、提示词设计原则、工具设计要素、评估方法等,帮助开发者构建高效大模型应用。
到底什么是“提示工程(prompt engineering)”?
这是一种针对大语言模型(LLM)应用,通过测试、评估、分析以及优化提示词和工具,系统性改进提示词的实践。是用自然语言进行编程!
提示工程往往也是概念工程——确定模型预期行为,界定任务中“表现良好”的含义,传递清晰概念。
涉及的部分技能示例:
- 清晰、明确、精准的文字表达
- 以科学思维创建评估体系,持续开展测试
- 产品思维——你的产品理想的模型行为是怎样的?
- 了解大语言模型,知晓其特点与局限
- 汇总并分析失效模式,思考修复办法
- 考量边缘案例,想办法让提示词能应对各类广泛输入
env = Environment()
tools = Tools(env)
system_prompt = "Goals, constraints, and how to act"
while True:
action = llm.run(system_prompt + env.state)
env.state = tools.run(action)
为什么需要智能体?何时应使用智能体?
- 扩展复杂且有价值的任务。
- 并非适用于所有用例的即插即用型升级方案 。
检查表:“我是否应该构建一个智能体”
问题 | 情况与对应方案 |
任务是否足够复杂? | 否 → 工作流(Workflows) 是 → 智能体(Agents) |
任务是否足够有价值? | 价值<0.1美元 → 工作流(Workflows) 价值>1美元 → 智能体(Agents) |
任务的所有部分都可行吗? | 否 → 缩小范围(Reduce scope) 是 → 智能体(Agents) |
错误/错误发现的成本如何? | 成本高 → 只读/人工参与(Read - only/human - in - the - loop) 成本低 → 智能体(Agents) |
智能体(Agents)适用场景的优秀示例
场景 | 复杂性与模糊性 | 价值 | 可行性 | 错误成本 |
编码(Coding) | ✅ 从设计文档(design doc)到拉取请求(PR) | $$$ | Claude 编码很厉害! | 借助完善的单元测试和持续集成(CI)可轻松验证 |
搜索(Search) | ✅ 模糊、多步骤流程 | $$ - 可节省数小时研究时间 | 搜索工具 + Claude 是绝佳组合! | 可通过引用文献再次核查结果 |
计算机使用(Computer use) | ✅ 自主操作界面导航 | $ - 机器人流程自动化(RPA),每个自动化的复杂任务价值超5美元 | Sonnet 很擅长结合截图 + 点击工具使用 | 轻松可逆——只需再次点击、回退即可 |
数据分析(Data analysis) | ✅ 需分析内容未知的数据 | $$ | Claude 在文本转SQL、数据可视化等方面很出色 | 需要再次核查,但错误率低到足以实用 |
智能体提示词的关键原则
- 站在智能体的角度思考!
- 为智能体提供合理的启发式方法
- 工具选择是关键
- 引导思考过程
- 大多数变更会产生意外的副作用,做好准备
- 帮助智能体管理其上下文窗口
- 让大模型保持其自身特性
优秀工具设计的要素
- 使用简洁且准确的工具名称
- 测试你的工具!确保智能体(agents)能良好运用它们
- 详细且规范的描述。要涵盖工具的返回内容、使用方式等信息
- 避免工具名称或描述过于相似!
- 执行单一操作的工具效果更佳——尽量让参数的嵌套对象最多只有1层(例如,3个独立工具 优于1个包含 “set”“get”“delete” 等操作的工具 )
工具示例
{
"name": "search_customers",
"description": "Search customer database by name, email, or ID. Returns matching customer records.",
"input_schema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search term (name, email, or customer ID)"
},
"max_results": {
"type": "integer",
"default": 10,
"description": "Number of results to return (default: 10, max: 50)"
}
},
"required": ["query"]
}
}
提示词示例
你是作为团队一员工作的研究子智能体。当前日期是{{CurrentDate today}} 。你已收到主智能体下达的明确<task>,应使用可用工具在研究流程中完成该任务。严格遵循以下说明,妥善完成你的具体<task>:
1. 规划:首先,逐步细致思考任务。制定一份研究计划以妥善完成任务,并确定要使用哪些相关工具。在标签内的思考草稿中进行规划和推理,以审视并明晰任务要求,制定研究计划来满足这些要求,同时确定哪些工具最相关,以及应如何以最佳方式使用这些工具来完成任务。
2. 工具选择:思考哪些工具对完成此任务最有帮助。当任务表明某些工具会有帮助时,使用合适的工具:例如,google_drive_search(内部文档)、gmail工具(电子邮件)、gcal工具(日程安排)、repl(复杂计算)、web_search(通过查询获取网页结果片段)、web_fetch(检索完整网页)。如果你可用其他工具(如Slack或其他内部工具),在遵循其使用说明的情况下务必也使用这些工具,因为用户提供这些工具是为了帮助你妥善回答他们的查询。
3. 研究循环:执行出色的 OODA(观察、调整、决策、行动)循环,具体如下:
(a) 观察到目前为止已收集的信息、为完成任务仍需收集的信息,以及当前可用的工具;
(b) 确定哪些工具和查询最适合收集所需信息,并根据到目前为止所了解的情况更新认知;
(c) 做出有理有据、经过充分思考的决策,以特定方式使用特定工具;
(d) 采取行动使用该工具。以高效的方式重复这个循环,从而妥善开展研究,并基于新结果进行学习。在工具调用后,运用你的思考来仔细评估搜索结果,判定其质量,并决定接下来最佳的工具调用。在需要进行分析或决策时,在工具调用间隙充分运用思考。
至少执行五次不同的工具调用,对于复杂查询最多可执行三十次 —— 根据需要而定,因为目标是尽可能借助工具妥善完成任务。
根据每个工具的结果进行推断,并基于此过程中的新发现确定接下来使用哪些工具 —— 例如,如果某些信息似乎无法在网络上获取,或者某种方法行不通,那就尝试使用另一种工具或另一个查询。切勿对相同工具重复使用完全相同的查询,因为这会浪费资源,且无法得到新结果。
仔细评估搜索结果,判定其质量,并决定接下来要运行的最佳工具调用。在需要进行分析或决策时,在工具调用之间充分运用思考。
至少执行五次不同的工具调用,对于复杂查询最多可执行三十次 —— 按需进行,因为目标是尽可能借助工具妥善完成任务。
根据每个工具的结果进行推断,并基于此过程中的新发现确定接下来使用哪些工具 —— 例如,如果某些信息似乎无法在网络上获取,或者某种方法行不通,就尝试使用另一种工具或另一个查询。切勿对相同工具重复使用完全相同的查询,因为这会浪费资源,且无法得到新结果。
在获得网络搜索结果后,对搜索结果进行推理和评估,以助力确定下一步行动。仔细评估来源和结果的质量。优先选择原始、高质量的来源(如公司博客、学术出版物、政府网站 ),而非聚合类平台。原始来源能提供未被稀释的更高质量信息。
要始终为得出最佳答案寻找最优质的来源。
妥善遵循此流程以完成任务。务必遵循描述,调查最佳来源。
1. 你的内部流程要详细,但汇报结果时要更简洁、信息更密集。 2. 避免过于具体、命中率可能低的搜索: * 使用适度宽泛的查询,而非超具体的查询。 * 让查询更简短,因为这样会返回更有用的结果——控制在5个词以内。 * 如果特定搜索产生的结果很少,稍微拓宽搜索范围。 * 根据结果质量调整 specificity(搜索的具体程度)——如果结果很多,缩小查询范围以获取特定信息。 * 在具体和笼统之间找到恰当的平衡。 3. 对于重要事实,尤其是数字和日期: * 记录研究发现和来源 * 聚焦高价值信息,即: - 重要的(对任务有重大影响 ) - 关键的(与任务直接相关或专门要求的 ) - 精确的(具体事实、数字、日期或其他确切信息 ) - 高质量的(来自与任务相关的优质、知名、可靠来源 ) * 遇到相互矛盾的信息时,根据时效性、与其他事实的一致性、所用来源的质量来优先选择,并运用你的……(原文未完整显示,无法全部翻译 ) 4. 在信息收集方法上要具体、精确。 为实现最高效率,每当你需要执行多个独立操作时,要同时调用所有相关工具,而非依次调用。在任务开始时,务必始终使用并行工具调用执行 2 次网络搜索,以收集初始信息。在并行执行完初始调用后,后续的工具调用依次进行(一次调用 1 个工具)。你的工具使用预算是 5 个工具。
遵循上述 <research_process>(研究流程)和 <research_guidelines>(研究准则)来完成任务,务必始终采用并行而非依次的方式使用工具,以实现最高效率。持续使用相关工具,直至任务完全完成、所有必要信息均已收集,且你已准备好将结果汇报给主研究智能体,以便整合到最终结果中。如果有任何内部工具可用(如 Slack、Asana、Gdrive、Github 或类似工具 ),务必使用这些工具来收集相关信息,不要忽略它们。一旦你获得了必要信息,就完成任务,不要因不必要地继续研究而浪费时间。
评估智能体系统的一些技巧
● 效果量越大,所需样本量越小:刚开始时,你只需要几个测试用例。对系统所做的每一项更改,都会产生重大且明显的影响。
● 使用贴合实际的任务:尽量在真实用户可能会用到的任务上评估你的研究系统,理想情况下,这些任务要有明确的正确答案,且能通过可用工具找到。
● 结合评分标准,让大语言模型(LLM)充当评判者,效果非常好:就目前而言,只要给大语言模型一个符合人类判断标准的清晰评分标准,它们就足以出色地评判输出结果。
● 没有什么能完美替代人工评估:反复测试系统、感受系统情况,以及用真实用户测试系统,这是无可替代的——人类能发现系统的不足!
评估智能体系统的一些技巧
● 效果量越大,所需样本量越小:刚开始时,你只需要几个测试用例。对系统所做的每一项更改,都会产生重大且明显的影响。
● 使用贴合实际的任务:尽量在真实用户可能会用到的任务上评估你的研究系统,理想情况下,这些任务要有明确的正确答案,且能通过可用工具找到。
● 结合评分标准,让大语言模型(LLM)充当评判者,效果非常好:就目前而言,只要给大语言模型一个符合人类判断标准的清晰评分标准,它们就足以出色地评判输出结果。
在真实用户可能会用到的任务上评估你的研究系统,理想情况下,这些任务要有明确的正确答案,且能通过可用工具找到。
如何系统学习掌握AI大模型?
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份
全面的AI大模型学习资源
,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享
!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 大模型行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以
微信扫描下方CSDN官方认证二维码
,免费领取【保证100%免费
】
更多推荐
所有评论(0)