AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


如何搭建一套Agent系统
发布日期:2024-05-30 23:26:32 浏览次数: 2252 来源:newtype 超级个体



我对自己的笔记系统做了一点小升级。

之前的系统只是“离线版”,只能根据已有的内容去生成新内容。

升级之后的系统就是“联机版”:增加了AI搜索、报告生成的功能。而且,全都搞定之后,还会自动生成一条笔记,省得我还要手动贴进Obsidian。

这些功能的背后,是Agent / AI智能体的能力。

我在上期视频介绍了Agent的基本概念。有些小伙伴说,想看看具体的案例。所以这期也算是一个简单的演示,让你知道Agent是怎么搭建的、怎么工作的。

现在虽然有不少工具,比如difi.ai之类的,能让你点几下鼠标就完成搭建。但是,要完全实现自己的需求,完全按照自己的心意来,还是得靠代码。

不过也不用担心,一是网上有很多现成的Python脚本,你稍微改一改、拼装一下,完全可以用;二是它也不要求你有多高的编程能力,看得懂就行。甚至你把它当成英语四级的阅读理解都OK。像我这种小学生水平都能上手,你肯定没问题。

OK,咱们进入正题。

Agent是用来干活儿的。所以,一切的出发点肯定是需求,越明确越好。

我的需求很简单,来自于我日常经常遇到的情况:

当我在Obsidian里整理笔记或者写东西的时候,经常会需要去查点资料。搜到好多个网页之后,我需要创建一条新笔记,把里边有用的内容提取出来,规整一下,变成一个比较有逻辑的东西,存在笔记里边,方便下一步处理。

这些繁琐的、技术含量不高的工作,我希望能交给几个Agent合作完成。

就像我在知识星球newtype里说的,搭建一套Multi-Agent System,最重要的是,你想让它怎么做。

所以,为了满足这个需求,需要三个角色,分别完成三个任务:

  1. Researcher:负责上网查资料,然后把找到的内容汇总成一份报告。
  2. Editor:它的内容能力强、文笔好,负责根据Researcher提供的报告,撰写一篇笔记。
  3. Note Taker:它的任务很简单,就是在Obsidian里创建一条新笔记,然后把Editor写好的东西贴进去。

这是一个非常简单的分工,很好理解。难点在于给Agent配什么工具。

你可以把大模型看作是一个单独的大脑,就像科幻电影里的那种。它只有“思考”能力,没有行为能力。所以,Agent除了装上大模型这个大脑之外,还得拿上工具——咱不能人家不能空手去干,对吧?

根据分工内容,Agent需要用到两个工具:

  1. 搜索工具。有了这个,Agent才能联网搜索。
  2. 笔记工具。Agent需要知道,笔记放在哪个位置,什么格式,以及新笔记的标题该叫啥。

关于搜索工具,今天已经有很多现成的了。比如Google、DuckduckGO,都可以直接用。我这边选择的是Tavily。他们提供的搜索API,专门为大模型和RAG优化过,效果挺好的。直接加两行代码就可以用。

关于笔记工具,这边需要动点脑子,因为Obsidian并没有提供一个接口让其它程序能够接入去创建笔记。不过,解法还是有的:

Obsidian的所有笔记都是md格式的。那么,咱们就直接在笔记所在的文件夹创建一个md格式的文件。也就是说,通过在外部创建笔记的方式,绕开在软件内创建的这一步。

所以,基于这个解法,就有了CustomTools这几行代码,指明了笔记文件夹的位置,以及文件名的规则——按照笔记创建的时间来命名。

当把这些组合在一起之后,就形成了这样一份脚本,包含这几部分:

  1. 基础设置,包括API Key是什么,具体的模型用哪个,以及工具的设置。
  2. 刚才介绍过的那三个Agent,它们分别负责干什么,以及允许它们使用什么工具。
  3. 分几个子任务完成,以及每一个子任务都由哪些Agent参与。

当把这些拼装完毕之后,运行脚本,等个十几秒,任务就完成了。

以后每次使用,我只需要把这一行修改了,也就是告诉Agent,让它帮我搜什么。

其实我也可以用Gradio添加一个可视化的界面。不过我自己使用就不讲究那么多了。

按照同样的逻辑,我们可以对这个脚本做一些修改。比如,输入一个公众号文章的链接,让Agent读取它,然后把内容全扒下来,做提炼和总结,最后存进笔记里,都可以。

我这边介绍的都是最简单的Workflow,主要是想让大家有个概念。真要是搞大一些的项目,整套系统设计会麻烦得多,会用到更多的工具和大模型,Agent之间以及Agent和用户之间的协作也会复杂起来。


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询