前言
Prompt Enginnering 是打开LLM宝库的一把金钥匙,如果prompt得法,并能将其技巧与某项工作深度结合,那必将大大增效。今天我们来聊聊如何优化Prompt设计、Prompt Template管理等技术和体力活,并赋能老喻干货店的营销活动。
LLM Prompt
有没有可能让LLM为了某个任务尝试自己组装Prompt Template,优化Prompt过程呢?
CAMEL
来自阿卜杜拉国王大学的CAMEL,提出了一种基于“角色扮演”的LLM交流方式,让不同的的AI Agent扮演不同的角色,相互聊天把活给整了。这不就是AutoGen吗?欢迎大家看我的[AutoGen]系列文章。
CAMEL是头骆驼,英文全称是Communicate Agents for Mind Exploration of Large Scale Language Model Society
。CAMEL是Communicate(沟通)、Agent(代理)、Mind(心智)、Exploration(探索)和LLM(大模型)的首字母缩写集合。
- 聊天式代理
每一次和大佬聊天,都是成长的机会,Communicate Agents大概就是这个意思。起初的交流是用户与Agent的交流,让用户的需求通过Prompt
的方式清晰和完整的交给AI Agent。之后这个用户代理Agent和其它AI Agents交流,交换信息、解决问题,待解决完成后,最后汇报给用户。多么和谐的国王朝会场景啊。
- 角色扮演
role-playing。国王朝会,大臣是AI Agents,当然各司其职,各有角色。所谓鸡鸣狗盗者,都有其用武之地。AI应用开发,在CAMEL的设计模式下,就变成了以开发各种不同的Agent为主。不同角色,所有角色的Agents到齐后,聊天式做完工作。
- 启示式提示
inception prompting。让不同角色的Agent完成工作,我们需要给每个Agent以清晰的提示,即Prompt。而且这个Prompt 即Agent聊天的内容,除最初用户的交待外,其余的由Agent自己生成,通过聊天的方式交给其它Agent。
CAMEL 股票交易
CAMEL论文中提了一个股票交易的例子。
- 场景
即股票交易
- 角色
用户
有开发股票交易软件的需求,但不知道怎么做。就好像马云不会写代码和财务一样,他只要有让天下没有难做的生意
这个场景和需求,它只要找来程序员Agent和财务Agent就可以了。喔,和AI Agent一起共事或创业是未来的主旋律。
任务指定代理
(Task Specifier Agent)。用户的需求和想法可能比较模糊,任务指定代理负责将其细化,那么Task Sepcifier Agent大概会生成这样的启示式提示:
开发一个股票交易robot,收集社交媒体上特定股票的信息,并根据情感分析执行交易。
这样,其它Agents就得到了清晰的任务,可以开始执行,并且需要的AI角色有:
- 一个会写Python的AI 工程师助手
- 一个懂股票交易的AI 证券师
接下来,它们两位会经过多轮对话,直到将任务完成,我们不需要有任何介入,这就是CAMEL的魅