从滑雪事故到精准理赔:一次 Prompt 工程实战大师课 • Anthropic
本文来自于 Anthropic 组织的线下分享会,从时间上看应该是 5 月前组织的线下分享会,里面不仅有 Claude 工程和算法团队的分享,还包括 Google、Amazon、Manus 甚至是创业者和学生的分享,特别值得观看,这里把其中我认为比较优质的视频内容整理出来分享给大家。本篇文章来自于视频 Prompt 101,以下为原视频精华。 你有没有过这样的经历:想让AI帮你做点事,结果它却给出了一个让你哭笑不得的答案?别担心,你不是一个人。这恰恰说明了“提示词工程”(Prompt Engineering)的重要性。 简单来说,Prompt工程就是我们与大型语言模型(比如Claude)沟通的艺术。它不仅仅是下达一个命令,更是关于如何清晰地描述任务、提供足够的上下文、并巧妙地组织信息,从而引导AI交出我们真正想要的完美答卷。 理论听起来有点枯燥,对吧?最好的学习方式永远是亲自动手。所以,今天我们不聊空泛的概念,而是跟着Anthropic应用AI团队的专家Hannah和Christian,通过一个真实的客户案例,一步步搭建一个高质量的Prompt。 初始挑战:一张瑞典语的事故报告单 想象一下,你是一家瑞典保险公司的理赔员。每天,你都要处理大量的汽车保险索赔。今天,你手上有两份材料: 一份手填的事故报告表:上面用瑞典语写着事故发生的各种情况,勾选了一些选项。 一张手绘的事故草图:潦草地画着两辆车是怎么撞上的。 我们的目标是让Claude分析这两份图像材料,搞清楚事故经过,并判断谁是责任方。听起来是个不错的自动化方案,对吧? Round 1: 最天真的尝试——直接把图片丢给AI 大多数人刚开始可能都会这么做:把两张图片上传,然后给一个超级简单的指令,比如: “请审查这份事故报告和草图,告诉我发生了什么,以及谁的责任。” (示意图:简单的指令界面) 结果呢?Claude的回答让人大跌眼镜。它认为这是一起发生在瑞典一条著名商业街上的滑雪事故。 等等,滑雪? 这当然是个无辜的错误。在我们极其简单的指令里,没有给AI任何场景信息。它看到了模糊的手绘线条和表格,做出了一个不那么离谱的猜测。这个结果虽然不对,但它告诉我们一个关键道理:你不能指望AI读懂你的心思,你得把舞台先为它搭好。 Prompt工程的核心:迭代与优化 这次失败恰恰是Prompt工程的起点。它就像一门实验科学,你需要不断尝试、观察结果、然后迭代优化你的指令。我们的第一个优化目标很明确:得让Claude知道,我们处理的是车辆事故,不是什么滑雪运动。 为了做到这一点,我们需要一个更专业的Prompt结构。Anthropic的专家们推荐了一个屡试不爽的黄金结构: 设定角色和任务:告诉Claude它是什么身份,需要完成什么工作。 提供上下文/文档:给出完成任务所需的背景信息或固定文档。 动态内容:这是每次请求都会变化的部分,比如我们这次的事故报告图片。 详细步骤/指令:像写SOP一样,告诉它一步步该怎么做。 提供范例 (Few-shot):如果可能,给一两个已完成的“标准答案”作为参考。 最后提醒和输出格式要求:在最后,再次强调关键规则,并指定你想要的输出格式。 听起来有点复杂?别急,我们一步步来拆解。 Round 2: 设定角色与基调——“你是专业的理赔助理” 在第一次失败的基础上,我们来丰富一下指令,加入“角色设定”和“基调要求”。 你是一名AI理赔助理,正在帮助人类理赔员审查瑞典的汽车事故报告。你的任务是分析提供的事故报告表(手填表格)和事故草图(手绘图)。 你的分析必须基于事实,保持自信。如果你对信息不确定,或无法看清内容,请直接说明,不要猜测。你的目标是判断事故责任方。 这次,我们明确了几个关键点: 角色:AI理赔助理。 领域:瑞典汽车事故。 输入:手填表格和手绘图。 基调:实事求是,不确定就别瞎说。 再次运行后,结果好多了!Claude准确地识别出这是一起汽车事故,还看出了A车和B车分别勾选了表格中的第1项和第12项。 但是,它最后补充道:“由于信息不足,我无法自信地判断谁是责任方。” 这是一个巨大的进步!它没有再犯“滑雪事故”那样的错误,并且严格遵守了我们“不确定就不猜测”的指令。现在的问题是,如何给它足够的信息,让它变得“确定”? Round 3: 提供背景知识——把“说明书”喂给AI 那份瑞典事故报告表,虽然每次填写的内容不同,但表格本身的格式和每个选项的含义是固定的。这部分信息就是完美的“背景知识”,可以预先提供给Claude。 我们决定把这份“说明书”放进**系统提示(System Prompt)**里。这样,AI在处理任何请求前,就已经把这份知识内化于心了。我们还使用了XML标签(比如``)来组织信息,这能让AI更好地理解不同信息块的作用。 系统提示词(System Prompt)里大概是这样写的: 点击查看系统提示词精简示例 我们在用户指令(User Prompt)中保持不变,但现在Claude有了这份“说明书”撑腰。它不再需要每次都费力地去现场解读表格上每个瑞典单词的意思,而是可以直接调用这些预置知识。 再次运行,奇迹发生了! Claude不仅准确识别了勾选的选项,还结合“说明书”理解了它们的含义。最重要的是,它自信地给出了结论:“根据表格和草图,车辆B明显是责任方。” 这和人类理赔员的判断完全一致。 (示意图:成功分析并判断责任方的结果) 迈向完美:精细化指令与格式化输出 我们已经得到了正确的答案,但这还不够。在真实的业务流程中,我们可能需要AI遵循特定的思考路径,并以固定的格式输出结果,方便后续的程序调用。...