通过前面两章的学习,大致了解了大模型的工作原理以及如何跟chatGPT进行交互。
作为一个程序员肯定不满足于问答这种简单的聊天,我们肯定想做更多的事情。
你可以想一下,大模型是不是有这些问题:
-
你上周和它聊过的消息,它是不是记不住?
-
你让它帮你访问一个网页,做一些事情,它是不是只能告诉你思路让你自己做?
-
你想让它基于你公司内部的私密文档来做一些解答,它是不是不知道那是什么?
-
你问他刚发生的一个新闻,它是不是不知道?因为它训练的时候没这些数据。
这些问题的解决就需要分别给大模型加上 Memory 记忆能力、Tool 工具调用能力、RAG 文档查询能力等。
不管大模型怎么发展,它都没法解决这些:
-
它的记忆总是有限的,需要开发者做 Memory 管理
-
它可以调的特定领域的工具,需要开发者开发好 Tool 交给它
-
它没办法对不知道的私密文档做解答,需要扩展 RAG 知识库查询能力
这些就是我们要学的 AI 技术,也就是 AI Agent 的开发能力。
Agent 是什么?
其实就是给大模型扩展了 Tool 和 Memory。它本来就可以思考、规划,你给他用 Tool 扩展了能力,它就可以自动做事情了,用 Memory 管理了记忆,它就可以记住你想让它记住的东西,还可以用 RAG 查询内部知识库来获取知识。
这样一个知道内部知识、能思考规划、有记忆,能够帮你做事情的扩展后的大模型,就是一个 Agent。
你每天用的 Curosr 等 AI IDE,它是怎么读写文件、执行命令的?比如,它改代码需要读写文件,帮你运行代码需要执行命令。
如何实现的这些功能呢?很明显是扩展了 Tool。
还有,帮你做各种事情的 Manus,是怎么唤起浏览器来自动访问一些网页,怎么执行命令,怎么帮你操作各种软件的?
也是扩展了 Tool。
支付宝里的理财助手,可以帮你分析基金,推荐基金,它是怎么知道这些基金的数据的?
是大模型本身就知道么?
肯定不是啊,是基于 RAG 来访问了内部的知识库。
类似的各种需要给大模型扩展能力的场景太多了。光会和大模型聊天不行,你得能给它扩展各种能力,这样才能满足各种 AI 需求。
这就是我们学习 AI 技术的目标。
那 RAG、Memory、Tool、Agent 等用什么框架呢?
最常用的就是 LangChain,它对这些能力封装好了各种 api,可以直接用。它有 python 和 node 版,前端肯定用的是 node 版。
LangChain 是用来开发单个 Agent 的,每个 Agent 做一件事情。
但涉及到多个 Agent 协作,用 LangChain 自己维护多 Agent 的交互就比较麻烦了,这时候我们就要学习 LangGraph。
它是基于 LangChain 封装的,用于多 Agent 交互的框架。
学 AI 不要只学用 AI 做一些工具,最好是结合后端技术一起学,也就是 AI 全栈。
因为 AI 代码是在后端跑的,这时候你需要用 redis 存记忆、用 mysql 存知识等,这种就需要后端的知识了。