# 热门搜索 #
搜索
关于 Agent 开发的一些思考
3375点击    2023-11-13 21:23


最近一直投入精力到我的 Sheet Chat 上,对系统进行了一些列的改造,将插件的概念升级为 Agent, 同时尝试开发多 Agent 协作,这篇文章主要是对 Agent 开发的一些思考。


什么要有 Agent


Agent 相对于大语言模型,就相当于人类的大脑和双手,现在大语言模型在智力,知识储备上已经超越了99%的人类,但是它如果没有双手,你就只能和他聊天,所有必须借助 Agent 去完成具体的任务,而人类,最终也可能是 AI 的 Agent,你能想象吗,群里有位领导@你,让你执行某个任务,排期也定好了,他了解任务的各种细节,还能给你具体的指导,你都不能反驳,卷不卷?


前端同学如何开发 Agent


首先要强调一下 UI 对 Agent 的重要性,可以类比早期 DOS 操作系统,人们只能通过命令和他交互,直到图形用户界面,才带来计算机应用的大规模普及,提示词就是命令,现在只是聊天,远远不够,要让更多的人进来,给大语言模型开发 UI,扩大的应用场景,这样才能让大语言模型发挥更大的价值。


但是,现在有个矛盾,现在大量的的 UI 的都是前端和客户端同学开发,而大语言模型的框架,大多都是基于 Python 的,比如 LangChain,虽然也有 Js 版本,但是设计思路都基于 Python 版本的,微软推出 semantic-kernel,支持 Python 和 C#, 社区也有很多开源应用,基本都是 Python,也有 NodeJs 的,核心流程基本是跑在客户端或者服务器端,大模型应用执行流程一般是比较长,应用的状态管理就会比较复杂,不是提供一个接口的事,前端要实时获取服务器端的状态,架构上就会比较复杂,在真正开始开发 Agent 之前,你要先完成如下的工作:


服务器端跑 Agent


搭建一个 IM 服务器,也就是一个消息总线,有基于XMPP/Matrix/MQTT开源IM协议的开源项目可以自行部署,如果 IM 没有自己的UI,需要找个开源的 IM UI 框架,如果自己不搭建 IM 服务器,可以使用现有的,比如微信,钉钉,飞书提供 Hook 接口提供聊天机器人

搭建一个 Agent 服务器,接收消息,唤起 Agent 提供服务,用 Python/C#/NodeJs 等等都行

完成以上工作,你才能去写 Agent,在IM的聊天系统里,响应消息,开发UI。


客户端跑 Agent


使用 Python 开发客户端应用,Python 的客户端 UI 不太了解怎么做,但是 Python 的 Web 框架很成熟,UI 用前端的技术栈,加上 Python 的 Agent 开发框架,套上一个跨平台框架,比如 Electron ,应该是最好的客户端选择,这个方案适合算法/数据工程师,补充一下前端知识就可以搞起来。


或者全栈使用微软的跨平台方案 MAUI,使用 C# 版的 semantic-kernel 开发应用,这个方案适合 C# 工程师,也是很好的选择,毕竟有微软大力支持的 semantic-kernel 框架。


NodeJs 跑 Agent,以上的方案对前端同学都有一定的学习成本,对于前端工程师,要怎么搞呢?不想用 Python,可以用 NodeJs 版本 LangChain.js 提供 Agent 开发能力,然后需要一个 NodeJs 版本 IM 服务,提供消息总线的能力,前端用一个 IM UI 框架比如 chatui,这样也是可以的。 babyagi-ui 这个开源项目给 BabyAGI 加了 Web UI, 把 Python 版本 BabyAGI 迁移到 NodeJs版本,使用 LangChain.js 库,可以参考一下。还有OpenAgents 这个开源项目,可以上手试试。


浏览器跑 Agent


在我的项目里,没有用 NodeJs 运行 Agent 的方案,因为资源有限,只有一个免费 Vervcel 服务器,NodeJs 版本 IM 服务也没有找到合适的,所以的我的 Agent 是跑在浏览器里的,近乎是 0 成本,前端是用蚂蚁开源IM UI 框架chatui,Agent 的其他能力可以通过其他接口来支持,但是,如果用户关掉浏览器,Agent 执行就中断了。如果套上 Electron,加上 Node 来提供底层服务的接口,对于小规模的服务,这个客户端方案应该也是可以的。


是否要用 GPT-4


AutoGPT 和 BabyAGI 都是用 GPT-4 来支持的,我的项目是用的 GPT-3.5 的 API,拆任务偶尔会让人无语,所以加了一个UI提示框让用户去确认一下,其他的任务还好,个人感觉,用 GPT-3.5 需要很强的提示词功底,如果用 GPT-4 应该是没问题的,如果用 GPT-3.5, 其他的能力需要用 Agent 来弥补,GPT-4 相当于是架构师,有比较好的任务规划、拆分、协调能力,GPT-3.5是程序员,可以完成架构师拆好的具体的可执行的任务,这就是《人月神话》中关于主刀医生和助理医生的关系。


未来的系统,可能会用一个超级大模型做大脑,比如 GPT-4来做核心任务规划,加一群垂直小模型来提供具体服务,也就是 HuggingGPT 的思路.


总结


本文介绍了一下我在 Sheet Chat 我咋开发 Sheet Chat 过程中的一些思考,为什么要有 Agent、前端如何给 Agent 开发 UI ,以及是否一定要用 GPT-4,如果大家觉得还不错,麻烦点赞,关注,收藏三连,谢谢~


参考

大模型智能体 LLM Agent

XMPP vs Matrix vs MQTT: which instant messaging protocol is best for your chat application?

什么是 .NET MAUI?

semantic-kernel

chatui.io

OpenAgents

babyagi-ui



文章来自 “ 知乎 “,作者 Refector 专注 Agent 开发




关键词: Agent , AI研发 , Sheet Chat
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md

2
prompt

【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。

项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md

在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0