“ 大模型就是大模型,它和具体的应用场景无关,唯一有关的就是提示词。”
关于大模型应用开发有几个不同的方向,但从本质上来说大模型应用开发就是在封装提示词;原因就在于从用户的角度来说,提示词是与大模型交互的唯一接口;因此也有人说提示词就是针对大模型的编程语言。
下面我们以智能体为例,解释说明一下为什么说大模型应用开发就是在封装提示词;当然,这句话并不是很准确,更加准确的说应该是:
大模型应用开发的核心是围绕提示词进行业务能力封装,但提示词只是应用开发的底座。完整的大模型应用开发还包括上下文管理、工具集成、结构化输出、状态流程管理和性能优化等工程化工作。

大模型应用开发与提示词封装
开发一个智能体一般需要那几个模块?
首先要有大模型,提示词,工具集,记忆,结构化输出,用户输入处理等;但如果我们仔细观察或分析就会发现,除了大模型和提示词之外,其它所有功能处理的结果最终都是要带入到提示词中,原因就在于大模型只接收几个固定输入;而提示词是大模型处理的基础,大模型的所有操作都是基于提示词开始的。
工具集
在智能体开发中,如果需要使用外部工具,首先需要给大模型配置几个工具集,也可以说是函数;而形式即可以是本地的函数,也可以是远程的MCP服务;通过函数签名的方式告诉大模型这些工具的参数和作用。
而对大模型来说,大模型并不会真正执行这些工具的代码,大模型需要做的是根据用户需求,理解用户需求,然后再根据工具的描述去选择合适的工具来解决用户的问题;其对工具的处理,实际上是输出需要调用那个工具,以及生成工具所需要的参数列表。
最后由代码执行器去执行具体的函数代码并获取结果,然后再把返回结果输入到大模型中。

记忆
由于大模型是无状态的,因此每次对话对大模型来说都是一次全新的对话,因此就需要一种方式给大模型增加记忆功能。而这种方式就是把每次的对话内容保存下来,然后在下次对话中把保存下来的对话记录插入在上下文中。
结构化输出
在一些日常对话场景中,确实不需要结构化输出,但在一些工具使用和一些业务场景中,结构化输出就变得很重要;比如说,你想让模型根据你提供的资料生成一份图表数据,而这时如果不是结构化数据就没办法处理。
但我们也知道大模型的输出是不稳定的,因此我们需要有一种方式来约束大模型的输出;而这就是结构化输出,简单来说就是给大模型一个输出模板,然后让大模型按照这种模板格式进行输出,而不是让大模型随意进行输出。
结构化输出的好处就是,可以让大模型与我们的业务系统相切合,并且更加方便处理。

用户输入
至于用户输入就更简单了,只需要把用户问题和一些可变参数进行拼接即可。
然后我们仔细观察后会发现一个问题,那就是以上所有的操作并没有和大模型直接交互,而是把所有的结果都拼接到提示词中,最终再把这拼接完成的提示词输入到模型中。
所以,在这里得出一个结论,那就是大模型应用的开发就是在封装提示词。
大模型的“智能”完全由提示词引导,提示词相当于大模型的“软编程接口”。
在实际应用开发中,大部分时间都在:
优化提示词
设计提示词结构
进行提示词版本管理
根据不同场景切换提示词
(文:AI探索时代)