无标题
发表于|更新于
|总字数:1.7k|阅读时长:5分钟|浏览量:
1、提示词正常来说有两种方式:
一种是结合xml格式,例如:
这是一份客服质检数据
一种是markdown结构,例如:## 背景 这是一份客服质检数据。
很多人有习惯让AI来帮我们写提示词,我也会这样做。
这里有个建议,去掉AI生成的提示词中的大量的**,之类的东西。
这些会占用大量的token,浪费钱,这些符号仅仅只是让我们在markdown渲染工具里面看起来更舒服而已,对大模型来说无所谓的。
我们用markdown或者xml是为了结构化,而不是复杂化。
2、生产级任务中,可以写一些示例,我们知道,大模型是非常擅长模仿的,但更适合用在你期望输出结果相对稳定、格式明确的情况。
示例要结合各种情况进行应用。
比如,你在每天的固定时间,系统要去固定查询一些数据,然后帮你生成一个邮件(html)。这种情况你期望的是一个极其相似的结果。那你就可以给个html模板或者html邮件示例。
当然html示例可能会很长,这个时候就别让模型生成了,写一个脚本,在这个节点接收模型产生的数据,直接将数据由脚本渲染为html(可以让AI来写,但是要调试)。
当然,或者是,编写产品需求说明文档(PRD),每个公司肯定都有自己的PRD模板,你期望的输出肯定是一个标准格式的文档,这种情况下提供示例也会比较合适。
或者是,我们期望输出某个固定的格式,比如json,那就多来几个示例,正常情况、异常情况,以强化模型对输出格式的遵循。
当然,最好加上禁止性语言:禁止输出思考过程,只需要按输出格式输出结果。
3、不管是串行的llm节点还是并行的llm节点,每个llm最好只干一件事,专注才能做得好。而且这样还能更好的控制context,因为每个llm只做一件事,所以只需要做这件事的context就可以了,不管是tools、数据、或者其他的什么。
4、在对LLM输入外部数据的时候,最好做一个条件判断,避免没有任何数据输入,LLM根据你的示例瞎搞一些数据。这种情况,在提示词中控制说没有数据就告诉用户没有数据,LLM是个概率结果,能用确定性判断的,就不要交给概率。
在确定性的任务里面,能将mcp当api用,就把他当api用,道理同上(大部分金融公司的LLM使用tools的能力都很差吧。
老师,你的模型版本是Deepseek最新版了吗,qwen最新版了吗)
有的mcp工具很多,你完全不知道用哪个工具。可以让外部模型,比如GLM或者其他的,帮你探索一条使用工具最快的路径,然后再生产环境,按照这个路径搞,确定性的,比不确定性的好。
5、错误的数据也非常有价值,是迭代提示词的宝贵资产。
1. AI加工版本
1、提示词在实践中通常有两种常见的结构化写法: 一种是偏机器可解析的 XML标签式结构,例如: <background_information>这是一份客服质检数据</background_information> 一种是偏人类可读的 Markdown / 标题式结构,例如: ## 2. 背景 这是一份客服质检数据 很多人会让 AI 来帮忙生成提示词,我自己也经常这样做。 但有一个经验是:不要无脑照抄 AI 生成的“好看版提示词”。比如大量的 **加粗**、装饰性符号、过深的层级结构, 这些内容对模型的理解价值非常有限,反而容易引入无效的上下文噪声。 我们使用 Markdown 或 XML 的目的,是帮助模型理解结构、约束语义边界,而不是为了让提示词看起来更复杂、更像一份文档。 2、生产级任务中,可以写一些示例,我们知道,大模型是非常擅长模仿的,但更适合用在你期望输出结果相对稳定、格式明确的情况。 示例要结合各种情况进行应用。 比如,你在每天的固定时间,系统要去固定查询一些数据,然后帮你生成一个邮件(html)。这种情况你期望的是一个极其相似的结果。那你就可以给个html模板或者html邮件示例。当然html示例可能会很长,这个时候就别让模型生成了,写一个脚本,在这个节点接收模型产生的数据,直接将数据由脚本渲染为html(可以让AI来写,但是要调试)。 当然,或者是,编写产品需求说明文档(PRD),每个公司肯定都有自己的PRD模板,你期望的输出肯定是一个标准格式的文档,这种情况下提供示例也会比较合适。 或者是,我们期望输出固定的格式,比如json,那就多来几个示例,正常情况、异常情况,以强化模型对输出格式的遵循。 当然,要加上约束条件:禁止输出思考过程,只需要按输出格式输出结果。 3、不管是串行的llm节点还是并行的llm节点,每个llm最好只干一件事,专注才能做得好。这样能更好的控制context,因为每个llm只做一件事,所以只需要做这件事的context就可以了,不管是tools、数据、或者其他的什么。 4、在对LLM输入外部数据的时候,最好做一个条件判断,避免没有任何数据输入,LLM根据你的示例瞎搞一些数据。这种情况,在提示词中控制说没有数据就告诉用户没有数据,LLM是个概率结果,能用确定性判断的,就不要交给概率。 在确定性的任务里面,能将mcp当api用,就把他当api用,道理同上(大部分金融公司的LLM使用tools的能力都很差吧。老师,你的模型版本是Deepseek最新版了吗,qwen最新版了吗) 有的mcp工具很多,你完全不知道用哪个工具。可以让外部模型,比如GLM或者其他的,帮你探索一条使用工具最快的路径,然后再生产环境,按照这个路径搞,确定性的,比不确定性的好。 5、错误的数据也非常有价值,是迭代提示词的宝贵资产。
|