微信扫码
与创始人交个朋友
我要投稿
全自然语言编程。
没有后端逻辑,全部交给大模型处理。
也没有前端渲染,全部实时生成。
也许这种感觉就像当年第一个www网站诞生时的感觉。我把它看做是一个Super Agent 应用的萌芽,ta会持续学习我们的使用习惯、思维逻辑,并与我们进行更自然的人机交互。
但今天更重要的是想和大家聊聊支撑这个super Agent的Software2.0架构,以及我们如何用Software2.0的思维来构建AI agent。
简单来说,Software2.0就是完全基于神经网络的软件。
2017年, OpenAI 创始人Karpathy 在博客中第一次提到Software2.0的概念,他说
如果把软件当做一个函数,在Software1.0时代,我们用if.. else.. 的规则来定义函数,比如if 红灯: then stop;else if 绿灯: then Go。在过去的几十年中,无数程序员在代码中定义了无数个类似的规则。
而在Software2.0 时代,所有的软件都拥有同一个结构,即神经网络。程序员们无需再在函数内部写逻辑,而是用一万个诸如“ red:Stop;green:Go” 这样的数据对喂养给软件,使ta自己能习得“红灯停,绿灯行”的认知,在这里,软件是被数据和神经网络定义,而不再是被代码规则定义。
这种范式的改变,衍生出以下一些零散的、不成框架的思考。
套用函数思维,我们可以把软件当做一个函数Y=F(x),如果想控制软件的输出值Y:
在Software1.0,我们通过更新代码完成。
在Software2.0,需要通过控制提示词和数据来完成。
提示词方法包括更新提示词的内容、形式、顺序,ta比我们想象中重要。
数据方法就是通过合理、有效的数据来改变参数,这便是微调。
如果你接纳或者选择跟随Software 2.0观点,那么构建数据集会变得非常重要。
对于Agent开发者来说,我们也多了一项控制Agent的方法,那就是通过构建面向Agent开发的数据集来提升Agent的专项能力。
而这三种形式的数据逐步让神经网络拥有了识别能力→对话能力→工作执行能力;
也对应着三种产品形态:识别式产品 → ChatBot对话类产 → Agent思考+执行类产品。
其中Agent workflow式的数据集是专为Agent而生,用Agent workflow式的微调称为”Agent tuning”。如果说Agent是比Chatbot更具想象力空间,那么Agent tuning在不久的将来也可能会成为提高Agent能力的主流手段之一,之所以说可能,是因为目前Agent tuning主要在学术界活跃,还没有什么实际应用(已经整理好的Agent tuning相关论文、代码、数据集等资料,公众号回复“Agent微调”即可获得飞书链接)。
那么Agent tuning的数据长什么样呢,我们把上图的数据样例理解一下:User 与 Assistant 之间产生了多轮对话,最后一次回答就是这组数据的标签。而这种对话正是遵循着Re-Act模式展开(什么是Re-Act模式参考产品经理研读:Agent的九种设计模式)。
数据集来自:https://huggingface.co/datasets/THUDM/AgentInstruct/viewer/default/webshop
实际上Agent workflow式的数据集里,每一组训练数据就是提示词中的one shot。当你有1000个类似的样本时,就可以把它作为训练数据集来微调模型。
那么,Agent tuning的效果如何呢?在查阅了相关的论文和开源项目后发现:
在我们的实践中,Agent tuning的效果也是忽上忽下,这一进程仍然在艰难的探索之中,只能说目前没有定论:按照Software 2.0的理论是正确的,但这往往需要时间来实证,也可能我们还没有找到正确的方法。
如果你或者你所在的企业恰好也在探讨这一块,欢迎评论区留言一起来聊一下。
最后附上已经整理好的Agent tuning相关论文、代码、数据集等资料,公众号回复“Agent微调”即可获得飞书链接,希望能为你的前沿探讨省点力。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-28
2024-04-26
2024-08-21
2024-04-11
2024-08-13
2024-07-09
2024-07-18
2024-10-25
2024-07-01
2024-06-17