在社交媒体上,我关注了数十个不同的AI频道以及许多研究人员,他们经常每天或每周发布新的研究论文或视频。但我无法花费大量时间观看并弄清楚最新的趋势是什么。因此,我做了一件事:设计AI代理,以便每天早上它们能自动总结信息并发送到我的消息应用中。这样我就知道研究人员或AI社交媒体频道在讨论什么,以及他们涵盖了哪些话题。
在本视频中,Dung将指导大家完成设置这样一个代理的整个过程。从租用服务器开始配置AI代理。Dung还将向大家解释这个EMS代理实际上能做什么。即使你没有技术背景,也能做到。EMS Agent是Noes Research推出的开源代理,这是一个帮助AI执行多个步骤的代理,你只需像对待真实员工一样直接与它聊天进行配置。
你可能会问,这个代理与其他AI有何不同?当你使用Claude或ChatGPT等其他AI时,它们只是大脑:你输入文本数据,它们返回文本。例如,如果你告诉它你需要一个计划来在不同的社交媒体频道上执行一些步骤以查看新帖子。找出研究人员在说什么,并给你发消息。所有这些都需要不同的代理来完成,这就是它的角色所在。
它不仅为你提供在服务器上运行命令以搜索网站的工具。你可以读写新文件。你指示它完成的任何任务,它都能自动创建为新技能并保存到其记忆中。例如,你可以告诉它创建一个程序,它会保存该程序并在需要时使用。你无法用其他工具做到这一点。此外,还有许多更高级的功能。
例如,你可以设置任务以每周、每天或每天早上运行。或者,当你收到新Gmail时,EMS Agent能确切知道那封新邮件是什么。从技术上讲,这称为接收钩子或Webhook,因此当你收到新的通知或传输时,这个EMS代理可以立即执行相应的操作。这是Claude等其他AI无法做到的事情。
因为这个代理需要持续运行,类似于Open Interpreter。所以你需要设置一台服务器来运行该代理。我可以使用普通句子向这个代理分配任务。例如,“检查人们在今天最新的社交媒体视频中发布的主题”,或者在它给我列表后,我可以立即说:“分析这个视频看看它是关于什么的。”
由于它必须持续执行这些任务。你需要一台始终开机的机器来运行,换句话说,托管那个代理。因此你的第一步将是创建你自己的服务器。你可以在自己的电脑上完全运行EMS Agent,但你必须始终保持它开机,这有时可能会妨碍你的其他工作。所以在这样的情况下你需要租用VPS。
这只是租用在别处的一台始终开机的电脑。本视频由Hostinger赞助,我正在使用他们的AI托管VPS系列。该机器运行速度快且具有DDoS防火墙,可防止旨在使服务器崩溃的大量虚假流量洪水。当你使用Hostinger VPS时,你拥有完全的管理员权限(root access),这是机器上的最高控制级别。你可以做任何事情,并且数据中心遍布全球各地。
我选择它的另一个原因是可以一键部署访问密钥以获取Gemini API或Claude API等AI服务。而且你的数据也将驻留在你自己的机器上。这意味着你的数据安全。当然,如果你想要更多的安全性,你可以使用本地大语言模型而不是外部API。我选择的套餐是KVM2包。ERMS在容器中运行,这是一个封闭的环境。
内部已经预打包了所有必要的软件。它将使用约1GB的RAM——即计算机的工作内存,当你打开浏览器时可能会增加到2到4 GB。KVM2计划提供8GB的RAM。如果你注册KVM1包,它只有4GB,这相当紧张,因为打开浏览器已经消耗了近4GB。你可能会问为什么我在运行AI时使用这么少的RAM?
虽然其他地方需要GPU,但答案是我利用了第三方AI服务。这意味着我调用Gemini、Claude或OpenAI的API。而VPS,我的服务器,只是运行earnest代理(注:此处原文为earnest agent,结合上下文应为EMS Agent),协调第三方AI请求的所有任务。这就是为什么它只使用那么多内存。
它仅执行运行浏览器、在机器上执行文件以及发送文件等任务。这些是消耗RAM的事情。当你以这种方式操作时,仅在打开浏览器、运行代码或处理数据文件时才消耗RAM。至于任何与调用外部大语言模型相关的任务,完全无关紧要。
选择KVM2包后,在操作系统选择步骤中,我将打开应用程序选项卡并选择EMS Agent。之后我进入购物车,记得输入优惠券代码DUNG10以获得折扣。我会将代码和链接放在描述中。我将勾选框以接收1000个免费的Oxyab积分。Oxyab是一项服务,可帮助你的代理阅读具有代码片段、阻止其他机器人或需要额外脚本来显示内容的页面。
现在是时候在VPS上部署代理了。我将进入Hpanel,这是我Hostinger KVM2计划待设置的页面。我将点击设置。第一部分是选择离我最近的服务器位置,因为越近延迟越低。接下来打开应用程序选项卡并选择Ems Agent。这是一个预安装版本。因此,Docker、Python和环境变量都已预先配置好。
你不需要访问服务器,或者人们所说的SSH进入服务器来运行任何命令、移动文件或做其他任何事情。下一个屏幕只有两个字段需要填写:Ems管理页面的用户名和密码。我将保留另外两项不变,然后点击部署。Hostinger将构建包含Ems的容器。当EMS Agent项目状态变为运行时,我将点击打开。
页面出现后,我将使用刚才设置的用户名和密码登录。现在是最重要的部分,即给它一个大脑。换句话说,我将为它提供来自第三方大语言模型的API。在这里,我使用Gemini。我在内部打开聊天部分,看到一条红色错误消息指出没有连接AI提供商。AI提供商是Gemini、Claude或ChatGPT等AI模型所在的地方。
托管页面中,我将进入密钥部分,那里已经列出了 Anthropic、DeepSeek 或 Gemini 等提供商列表。我选择 Gemini,点击获取密钥以进入 Google AI Studio 创建 API 密钥。API 密钥就像密码一样,允许你的程序调用第三方服务(如 Google)。创建完成后,我会将其粘贴到“Google API 密钥”框中并点击设置。还有一件事必须做,即为该密钥启用计费功能,从免费计划升级为预付费模式。
免费计划限制了每分钟调用的次数,而 Hermes 是一个会进行大量连续 API 调用的代理。因此,请务必在此部分添加你的支付信息。现在返回聊天部分,点击右上角的模型名称以更改模型。我将选择 Google AI Studio 和 Gemini 1.5 Flash 作为最新模型,然后点击切换。我试着说“你好”,看到它正常响应了。
之后,我输入“Hermes Doctor”(原文误拼为 Ermes),这是一个让它自检的命令。这里最重要的一行表明 Gemini 已成功连接。至于它提到的其他项目,我稍后再处理。为什么要从一开始就检查?Hostinger 建议你通过聊天进行测试。在添加功能之前,你应该像这样逐步测试。
因为稍后如果我要连接到 Telegram 等消息应用或安排定期运行的任务且失败时,我会知道模型部分没问题,错误出在其他地方。既然代理已响应,它就准备好了。我将给它一个渠道,这是它向我发送消息的方式。现在我要将它连接到 Telegram。
我输入“Hermes Gateway Setup”(原文误拼为 Ermes)。网关是一个消息门户,充当与 Telegram 等应用程序的桥梁。Hermes(原文误拼为 EMS)会询问你要连接哪个平台,我选择 Telegram。这也是使用 Hermes Agent 或 OpenCA(原文误拼为 EMS)时的一个亮点,因为如果你使用 Claude 等其他 AI,它们没有任何方式向你发送通知。
在我教授跨工作流(cross-work)的 Cloud AI 培训课程中,一些学生经常做类似的事情:在 Gmail 中创建草稿。这意味着包含摘要或报告的预写消息。然而,这不如代理直接给你发消息有效。如果你想命令那个 AI 做其他任务,在其他工具中你必须使用它们特定的功能,这些功能极其滞后且耗时。
而在这里,你可以通过消息直接与它聊天。接下来,AI 非常智能地告诉我需要两样东西:首先是机器人令牌(bot token),其次是我的用户 ID。我都在 Telegram 上获取了这两条信息。这部分有点技术性,我想快速过一遍。但是,当你使用 AI 代理时,无论你需要做什么,都把它当作支持工具来用。
你在其他应用中需要做的任何事情,都可以直接与你正在使用的代理聊天并询问它。在我的手机上,我给 BotFather 发消息并输入“new bot”命令来创建新机器人并命名。之后,我会收到一个令牌(token)。这个令牌是机器人的钥匙,你必须保密。
只有拥有该令牌才能访问此机器人。所以请保管好这个令牌。此外,你可以给 UserInfoBot 发消息以获取你的用户 ID。回到应用程序中,我将这两者粘贴进去。Hermes(原文误拼为 Emas)会自动保存配置,将用户 ID 添加到允许列表并重启网关。
最后,希望你能看到显示“Telegram connected”(已连接 Telegram)的行。如果遇到任何错误,只需直接与你正在使用的代理聊天即可。Telegram 机器人令牌是程序连接到机器人的代码,而用户 ID 确保只有你能使用和命令该机器人。
现在我将打开 Telegram,找到机器人并发送测试消息。机器人会立即回复。我会发送“set home”命令来指定接收最终操作结果的位置。如果你创建每日、每周或定期运行的任务,并希望将它们发送到 Telegram,请记住进入 Telegram 并输入“set home”命令来设置那些定时任务的目的地。
接下来是关于教代理观看视频的部分。Hermes Agent 是一个配备了任务编排、记忆管理、工具安装和执行组件的代理。但是,每当你想教它一项新技能(如在社交媒体上观看视频并总结其内容)时,该怎么做呢?Hermes 没有内置观看视频的工具,所以我将教它如何做到这一点。
第一次使用时,我会要求 Hermes 将 Gemini 密钥保存到 .env 文件中(这是一个环境变量文件),秘密密钥就存储在这里。之后,我将在配置部分声明它。我必须这样做是因为当你创建定时任务时,运行这些任务的脚本不会继承主密钥,并需要自己的变量。
我还会将这个变量命名为与主键不同的名称。因为 Hermes 会拒绝传递它自己管理的密钥。对于第二个提示,我会要求 Hermes 编写一个代码片段(脚本),以便 Gemini 可以观看视频。脚本只是一个包含机器自动遵循步骤的小文件。
我会更仔细地编写这个提示,告诉它直接调用 Gemini 并输入 YouTube 链接。因为如果我不指定应使用 Gemini API 读取视频,有时 Hermes 可能会尝试自己下载视频或其字幕。而这种方法经常被第三方服务阻止。
Hermes Agent 将编写文件,运行测试并返回我刚才提供的视频的五要点。在这里,Gemini 将通过链接直接观看视频,理解音频和视觉内容而不需要字幕。完成后,我会要求它将其打包为一个名为“YouTube Watch”的技能,这样下次我只需要提供链接,它就会知道调用此技能按照我之前给出的说明读取这些视频。
接下来,我会要求它编写一个脚本来检查不同 YouTube 频道上的新视频。要做到这一点,你不需要打开网站并逐一访问每个 YouTube 频道。每个 YouTube 频道都有一个 RSS feed(订阅源),这是该频道发布的最新视频列表。你可以免费阅读此列表,无需 API 密钥。
为此,你只需要保存每个频道的 RSS feed 列表并使用代码逐一检查它们。如果没有新视频,它会报告没有新视频。但如果有,它将使用我们在上一步创建的技能来读取视频内容并总结它。你的 Hermes Agent(原文误拼为 EMS)生成的代码可能与我创建的代码不同,但是你需要检查的是它是否
功能正常运作,是通过读取视频、使用 Gemini API 密钥以及利用 RSS 订阅源来实现的。你无需过于担心它是如何具体操作的细节。如果代理生成错误,只需告诉它修复该错误即可。最后,我们将使用 cron create 命令执行定时任务分配,也就是创建 Cron Job(计划任务)。在这里,我将其设置为每天早上 7:00 自动检查新视频并发送报告给你。
每当你创建一个定时任务(Cron Job)时,请记住编写一个完整的提示词(Prompt)。因为当你调用例如每天早上 7:00 运行的任务时,它是一个独立的提示词。它不会记住你之前进行过的任何对话内容。因此,提示词必须足够全面,以便让它清楚自己需要做什么。
当你的代理扫描许多不同的 YouTube 频道时,可能需要长达 3 到 5 分钟。在这里,为了速度起见,我使用了三个不同频道的示例。然而,在现实中,你可以包含更多的频道,但执行时间会更长。此外,如果你希望超越扫描 YouTube 频道的内容,想要去扫描新的科学论文或其他平台上的新推文,你需要创建其他技能(Skills),并为这些扫描任务编写单独的代码。
以上就是创建一个代理的所有步骤,该代理可以扫描关于某个主题的各种 YouTube 视频信息,并按预设的时间表向你发送报告。从一个空白服务器开始,我可以拥有一个全天候运行 24/7 的代理,每天早上将摘要发送到我的手机上。简而言之,要做到这一点,你只需要选择 Hostinger 的 KVM2 计划中的代理模板,并输入代码 Dung10 以获取折扣。
Hostinger 提供 30 天退款保证,因此你面临的风险较小。我会将链接和折扣代码放在描述中。去看看吧,尝试构建你自己的代理。这将是未来几年的新趋势。我们在下一个视频中再见。感谢大家的观看。