前一节说了怎么在大模型里面通过预留的 function call
机制来让大模型自己判断是否要调用工具方法。这一节我又跟着教程学习知道了 agent ,过渡非常丝滑。我加上我自己的一些理解,可能更加“德芙”吧。这节原文 https://edu.aliyun.com/course/3126500/lesson/342570389
大模型之外的 agent
其实我们天天都在用 agent ,当我们浏览网页的时候,需要使用浏览器,不管是在 chrome 里面还是 weixin 里面在打开网页的时候,都会在 http 请求头里带上User-Agent
# 浏览器
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36
# 微信
Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1 WeChat/8.0.4
浏览器就是我们访问网站的agent
(代理人),如果说现在有个特别高安全环境要求定制一款浏览器,只能做纯文本解析,只支持换行、制表符等,不能执行 js,是不是超级 low ,但是也是一款浏览器。
大模型的 agent
就像一个网站只有一张“重金求子”的海报,算不算钓鱼网站?再简单也是个网站吧,所以大模型的 agent
也不用被网上那些牛逼哄哄的架构图吓着了,agent 就是帮我们更方便使用大模型的,所有我们使用大模型过程中复杂的问题可以通过它来简化的能力,都可以集成到 agent 中来。
所以上节中的问天气也是一个最简单的 agent 实现,就是有太 low。我们的代码太少也不够结构化,别人开源的 agent 等价于我们开发网站的框架,这不,已经有很多开源的 agent 框架了,比如 modelscope-agent。
https://mp.weixin.qq.com/s/L3GiV2QHeybhVZSg_g_JRw
一个典型的 Agent
知己知彼,百战不殆。天下文章一大抄,一定得看看别人 agent 开发到什么水平了。
假设你有一个智能家庭助理,它可以帮助管理家庭中的各种事务:
- 感知(Perception):
- 家庭助理通过摄像头、麦克风、传感器等设备获取家庭成员的活动信息和环境状态。例如,它可以“看到”房间里的光线情况,听到你和它的对话,感知到家里的温度等。
- 思考(Deliberation/Reasoning):
- 家庭助理根据获取的信息来“思考”下一步应该做什么。如果你说“我有点冷”,它会从数据库中查询当前的温度数据,结合你的偏好(已存储或通过对话学习得来的),决定是否应该调整温度。
- 如果它检测到今天是垃圾回收日且垃圾桶已满,它会提醒你或自动安排机器人将垃圾桶移到指定位置。
- 行动(Action):
- 家庭助理可以执行一些具体的行动来响应你的需求。例如,它可以调整温度,打开或关闭窗帘,启动车库门,甚至下单购买你常用的家庭用品。
让Agent具备记忆能力
记忆我理解就是说话要带着上下文,不能单独成篇对话,粗糙点理解,短期记忆(Short-Term Memory)对应内存存储;长期记忆(Long-Term Memory)对应磁盘存储。不细看了。
让Agent具备规划能力
这个很重要,这样才是大模型 agent 的核心,其能翻译为“智能体”的根本。涉及的点有任务分解、思维链(Chain of Thought,CoT)、思维树ToT(Tree of Thought)、思维图GoT(Graph of Thoughts)、自我反思。这里没有什么笔记,全是课程里面的内容,大家查看原文吧。