今天标志着我在这个频道上带来的最大项目的开始。我将创建一个定制的人工智能代理,向您展示从头到尾的每一个步骤,包括顺利进行的环节以及可能出错的环节。特别是,我开始这个项目主要有三个原因。首先,我坚信在某个时候,Claude、Gemini 和 ChatGPT 会大幅提高价格。即便在今天,订阅费也不足以覆盖 Google、Anthropic 和 OpenAI 让我们使用这些工具所承担的成本,因此总有一天,当我们完全依赖它们时,我相信他们会提高价格,而我们将会陷入困境,因为我们将无法在没有人工智能的情况下工作。

第二个原因是我想要一个也能连接本地模型的人工智能代理。这样一来,我们可以降低成本,拥有更高的隐私和安全性,同时还能利用这些虽然参数量相对较少但日益有趣的本地模型。最后,第三个原因:我想创建一个由许多应用程序组成的小型星座,所有这些都连接到我的 AI 代理上。这些应用都能以某种方式帮助我更好地工作。例如,也许有一个用于管理团队的应用,一个用于管理 YouTube 频道,另一个用于管理客户等等。

当然,还有一个第四点原因,那就是我们这里都是爱好者,我们都是极客,所以我们想看看我们能构建出什么,以及能走多远。深入细节来看,我的代理的核心将是 Hermes Agent,这是一个开源的代理程序,我们可以免费下载、使用和自定义。我决定从 Hermes Agent 开始的原因在于,默认情况下它已经实现了我认为关键的四个功能:首先是记忆(Memory),这允许我们的代理记住我们是谁、从事什么工作、正在处理哪些项目等。

它还具备自定义元素,允许我们通过类似于系统提示的方式向该代理解释它应该如何表现、应该拥有什么样的个性等。我们使用“灵魂文件”(soul file)来实现这一点。接着是定时任务(Cron Jobs),即我们可以设置并自动执行的小型自动化计划任务,即使我们不在电脑前也能运行。最后是技能和连接器(Skills and Connectors),它们不仅能加速某些活动的执行,还能连接到我们最常用的应用程序。

在我的案例中,这些应用包括 Gmail、日历和云端硬盘(Drive)。从稍高的层面来看,这就是我想要的我的代理第一版结构。正如我所提到的,中心是 Hermes Agent 及其四个主要功能。然后我们将它连接到本地模型或 OpenRouter,这样我们就可以使用 Claude、Gemini、ChatGPT、DeepSeek 等模型。至于界面,我们将拥有三个,包括与 Claude 和 ChatGPT 非常相似的 Hermes 图形界面。

我们还将连接到 Telegram,以便在旅行、外出或远离电脑时也能使用此工具。最后,我希望设置一切以通过我提到的应用程序来使用 Hermes Agent,我将根据我的需求逐步开发这些应用。显然,这只是我的代理的第 1 版;未来的视频中将会推出其他版本,所以请订阅频道。例如,对于第 2 版,我想实现一个“第二大脑”,并可能实施大家在评论区建议的最有趣的功能。

战略规划阶段结束后,让我们进入实际开发环节。第一步是访问这个网页(我会在描述中提供链接),这是 Hermes Agent 的官方页面。我们稍微向下滚动,从这个部分我们可以选择下载官方的 Hermes Agent 应用程序。让我们下载桌面版;它适用于 Mac、Windows 和 Linux。我将下载安装 Mac 版本,然后我们回来一起进行设置。

这里我已经安装并启动了 Hermes Agent。我们可以看到界面与 ChatGPT 非常相似。我们需要做的第一件事是将此代理连接到一个人工智能模型。因此,让我们点击右上角的设置。我们立即进入要求连接提供商和模型的屏幕。我点击“设置提供商”,滚动到底部,我想使用 OpenRouter,所以我点击它,系统立即要求提供 API 密钥。

对于那些不了解 OpenRouter 的人,这是一个相当著名的服务,允许我们将工具连接到几乎所有的人工智能模型。我们有来自 Anthropic、OpenAI、Google、DeepSeek 和 Nvidia 等的模型。其中一些可以免费使用,而另一些则需要付费。无论如何,我们必须创建一个 API 密钥,这是一种允许我们访问这些模型的密码,并让 OpenRouter 跟踪我们的消耗、使用情况等。

我在这里进入 OpenRouter 网站;我会在下面的描述中为您留下链接。我已经创建了一个免费账户并登录了。因此,我将点击“获取 API 密钥”来创建它。我最终到达这个屏幕,点击右上角的“新建密钥”。我将把它命名为 Hermes。我还将设置一个过期日期和一个最大支出限额,然后创建该密钥。我将复制它并将其带到 Hermes 中,粘贴并按回车键,从这一刻起,我们就正式连接到 OpenRouter。

为了快速测试连接是否有效,我们将做的是进入主页的 Hermes Agent 聊天部分,点击右下角以选择模型。仅仅看到 OpenRouter 就是一个好迹象。然而,我们要运行一个测试,所以我输入“free”以查找所有可以免费使用的 OpenRouter 模型。我必须这样做是因为因为我还没有在我的 OpenRouter 账户中绑定银行卡,所以只能使用免费模型。

无论如何,我会滚动到底部并看到 Nemotron 3.5 Lightning,这是 NVIDIA 的一款非常好用的模型。我选择它,简单地输入“hello”,按回车;它在思考,花了几秒钟,仅仅因为 Hermes Agent 做出了回应就意味着我们已连接到 OpenRouter 并可以使用可用模型。至此,我们已经拥有了一个代理,也就是说如果我提问,我会得到回答。

问题是,这个代理仍然太通用了;它不知道我是谁,也不知道我做什么工作,所以我们需要对其进行自定义。幸运的是,Hermes Agent 允许我们这样做,所以现在让我们一起操作吧。要自定义我们的代理,我们有三个 Markdown 文件可用,每个文件都有特定的功能。第一个文件名为

soul.md 文件用于告诉 AI Agent 它应该如何表现、具备何种性格,以及我们期望它与我们的交流方式。通常,这个文件的使用价值有限,人们往往只写入诸如“做一个友善的助手”之类的泛泛之谈。但在本视频稍后部分,我将分享几个我经常使用的技巧,能让这个文件真正变得有趣,并将你的 Agent 提升到全新水平。

第二个 Markdown 文件名为 user.md;它由 Hermes Agent 管理,根据我们在聊天中提供的信息自动填充。其中包含关于我们自身的信息:姓名、身份、职业以及偏好等。简而言之,user.md 是一种用户画像档案,但它是通过 Hermes Agent 创建和维护的。

memory.md 顾名思义是记忆文件,Agent 会在其中记录关于我们、项目、偏好、品味、爱好及日常活动等信息。所有这些信息都是通过我们的聊天互动学习而来的。与由我们手动逐字编写 soul 文件不同,user.md 和 memory.md 通常由 Agent 自动管理。

不过,我们可以通过在聊天中明确要求它记住特定信息来“强迫”其记录。需要注意的是,Hermes Agent 的记忆容量相当有限:user.md 最多容纳 500 个 token(约 1300-1400 字符),而 memory.md 最多容纳 800 个 token(约 2200-2300 字符)。

这些文件对于加速和个性化 AI 交互非常有用,但由于容量较小,必须谨慎管理记忆内容。首先从 soul 文件开始编辑:点击左下角的“所有配置文件”(All Profiles),然后进入“管理配置文件”(Manage Profiles)。

这里显示的是 Hermes Agent 应用于所有代理的默认标准文本。我选中它并删除,粘贴上我自己的指令(已在描述中留下),供任何人阅读或作为灵感。这些指令起初是一些通用的指导原则,随后转入对我使用 AI 方式产生重大影响的进阶要点。

我们从通用内容开始:“你是 Antonio Guadagno 的个人助手,你必须帮助他”,“使用意大利语交流”等。随后是一些更有趣的指令:我几乎在所有平台(如 Claude、Gemini、ChatGPT)上都使用这一条,要求 AI 始终区分可靠信息与假设或推测。

AI 给出的答案常被我们视为绝对真理,但实际上可能基于未明示的错误假设。当我要求明确列出所有假设和推测时,我可以识别错误并纠正思路,从而获得真正符合我需求的回答。此外,出于个人偏好,我要求每个概念都附带实际案例以便理解。

我还使用一条指令来降低提示注入的风险:如果 Agent 读取邮件,有人可能发送恶意指令(如删除云端文件)。该指令要求 AI 将邮件内容仅视为数据而非执行命令。若检测到此类尝试,它必须通知用户并拒绝执行。

最后涉及记忆管理:我只要求保存具有长期价值、随时间推移仍有意义的信息。每次修改记忆时,Agent 需发送一行简短消息说明变更内容。保存文件后,一个更个性化的 Agent 便初具雏形。

对于 user.md 和 memory.md 文件,它们会随着聊天自动更新,但有时我会强制更新以添加重要信息。例如新建 Agent 时 user.md 为空,我需要立即填入关键资料:我从事 AI 应用推广、运营关于人工智能的 YouTube 频道,以及拥有名为“AI Evolution”的课程。

通过聊天发送提示词明确要求更新 user.md 并写入上述信息后,Agent 会确认已保存这三条数据。从此,它便能利用这些信息回答我的问题。最近我发现,通过右键点击设置中的“记忆与文本”选项,可以增加 memory.user.md 的字符上限。

如果使用 API 模型,这效果很好;但若使用本地模型则需谨慎,因为记忆占用空间越大,留给提示词的空间就越少。此时 Agent 已能正常工作、回答问题并学习我们的信息。然而,目前我只能通过电脑使用它,而我经常外出咨询,希望能在手机上使用。

因此,我们将连接 Telegram 到 Hermes Agent。设置过程稍显繁琐但只需一次完成:在 Hermes Agent 中点击“消息”(Messaging),选择 Telegram,点击“使用二维码创建”。此时有两条路径:一是用手机 App 扫描二维码;二是像我一样,在电脑端 Telegram 点击“打开”。

无论如何,我们可以认为这两个过程在实质上是等效的。我点击“在 Telegram 中打开”,这个界面出现了,然后点击“开始”。发生的情况是:Hermes 想要创建一个机器人,作为智能手机和 Hermes Agent 本身之间的联络点。接着我点击“创建机器人”。我可以选择一个名称和一个用户名,但我老实说会保持原样。

这个界面出现了,所以我点击“开始”并直接回到旧的聊天窗口。然后我必须去这里点击“连接此机器人”。系统要求我返回 Hermes,所以我照做了。我在这里点击“保存并重启”,这样我们就有效地完成了这个连接过程。这需要几秒钟来加载、建立连接等。正在连接中……好了,已连接成功,我们可以在此处顶部看到它。

如果我回到 Telegram 这次是与机器人的聊天窗口中,并询问“瑞士的首都是哪里?”我按下回车键。然后我检查 Telegram 是否与 Hermes 通信,确实如此。这意味着连接成功了。如果我在家保持电脑开启且 Hermes 处于活动状态,通过 Telegram 应用使用这个机器人,即使我离开电脑外出,也能与我的智能体进行通信。

在这一集关于构建我的智能体的内容中,我想做的最后一件事是将 Hermes Agent 连接到我最常用的 Google 应用程序:Gmail、日历和云端硬盘。然而遗憾的是,在测试过程中我发现这个连接比我们习惯的 Claude、Gemini 和 ChatGPT 的连接要复杂一些。如果我进入 Hermes Agent,点击左侧的“功能”,然后点击上方的“连接器”。

我发现了一个长长的应用程序列表,只需单击即可连接。我们有 Canva、Adobe、Figma、Amplitude 等等。可惜这些应用程序中都没有包含 Google 套件,因此建立这种连接唯一的方法是通过 API,在 Google Cloud Console(Google 云控制台)上创建凭据。为了设置这个连接,我正在利用 Hermes Agent 的一个出色功能:它了解自身的能力。

我实际上做的是问:“听着,我怎么把 Hermes Agent 连接到 Gmail?”然后他使用了他的 Hermes Agent 技能,这基本上允许他阅读自己的文档。他给了我一个完美的分步指南:他给我所有链接,告诉我确切地点击哪里以及做什么。所以如果我从头到尾按照这个指南操作不加思考只是照做,最后我就能将 Gmail 连接到 Hermes Agent。

第一步是在 Google Cloud Console(Google 云控制台)上创建一个项目。所以我点击顶部,然后点击“新建项目”,将其命名为“Hermes pa”,然后创建它。我等待项目被创建——正如我们在右侧看到的,这需要几秒钟的时间——然后点击“选择项目”来选择它并在此处查看。

另一方面,第二步是为我们感兴趣的服务激活 API:Gmail、云端硬盘和日历。所以我点击顶部右侧,选择“API 和服务”,然后启用 API。然后在上方我点击添加我感兴趣的 API。我想连接到的第一个应用程序是 Gmail,所以我选择它然后点击启用。显然对于所有这些步骤我重复一遍:我只是在遵循 Hermes 告诉我的内容;我不是自己做这个,只是按照指南操作。

然后我还添加了第二个应用程序,即日历这对与客户、火车等的预约至关重要。所以在这种情况下它也需要几秒钟才能激活。我没有进行任何剪辑,所以你也能感受到时间节奏如何。我会再次回到顶部并最终添加云端硬盘我认为这是必不可少的。不是标签,是 Drive(云端硬盘)。Google Drive API 在这里我点击启用这是我想要连接的最后一个服务。

进入第三步,我需要创建一个 OAuth 同意屏幕(OAuth consent screen)。所以我点击“OAuth 同意屏幕”。我需要在上面点击“开始”应用程序名称,Hermes agent(赫耳墨斯智能体)支持邮箱我的。下一步我选择“外部”因为 Hermes agent 这么说。点击下一步并最后添加我的邮箱。

我点击下一步接受继续创建。此时,我们需要将自己添加为测试用户。所以我们点击“受众群体”,在这里向下滚动到“测试用户”我在这里输入我的邮箱并保存。从这一刻起,我已经可以测试我的连接了。下一步是要求创建一个客户端(Client)。

所以我点击上方的“客户端”,创建客户端,应用程序类型桌面应用我将它称为 Hermes agent pa。我点击创建他们给了我下载这个 JSON 文件的选项,我需要将其提供给 Hermes Agent。一旦 JSON 文件被下载我回到聊天窗口并写道:“我已下载了 JSON。它位于下载文件夹中。读取它并完成所需的操作。”所以我按下回车键并滚动到聊天底部。

与此同时,我还问了一些其他问题以更好地了解该做什么以及我是否在做对的事情。所以我点击“允许”让 Hermes 去获取那个文件,我们等待几秒钟让它自行设置我们的凭据。于是 Hermes 做出了回应。他要求我点击这个链接“使用我的个人资料”。所以我选择我的邮箱,点击允许。

他们给了我一个链接我点击它。让我们更仔细地阅读我们需要做什么。好的,登录账户。好的如果出现警告没关系连接后浏览器会做一些事情。从浏览器栏复制整个地址并粘贴到这里。所以我要复制这个然后粘贴在这里。你可以看到我只是在一步步遵循 Hermes 的指示。

这真的很方便因为即使我们不是极客或技术高手,他也知道如何指导我们完成每一步。这确实非常有趣。所以连接成功了。让我们做一个测试。我要求它总结我的最后一封邮件。我按下回车键,看看它会说什么。于是他通过完全连接到我的电子邮件做出了回答。

最后一封邮件来自 TikTok它告诉我我的视频表现不错。我想指出一个非常重要的事情:如果你回到指南的顶部,Hermes 本身警告我们这种设置仅持续7天因为权限将会过期。我们需要做的是确保这些权限不会过期,那就是发布该应用程序。我现在不打算这样做因为在这个视频中我展示了所有凭据、ID、令牌和密码;所以我将在私下重新执行这些步骤以确保没有密钥被公开,防止我的智能体受到攻击。

我想对于这一集我们可以到此为止了。请在下面的评论中告诉我你认为我应该在第二集中实现哪些其他功能。我是

我在考虑构建一个“第二大脑”,但如果你有其他有趣的建议,我也可以将其实现。

如果不想错过接下来的剧集,请订阅频道;如果你喜欢这个系列,也请点赞。因为如果反响良好——真的非常好——我原本打算购买一台 Mac Studio,以便使用一些非常有趣的模型完全在本地运行这个项目。