Skip to content
This page has been auto-translated and may contain errors.View in English

Learn AI Agents 的设置 ​

构建一个 Agent 需要的准备工作出乎意料地简单。你需要一个地方来发送请求,有权限发送请求,以及一个能够调用工具的模型。

就这三个值。本指南的其余部分是为了确保你一次就把它们设置正确,这样课程中的任何问题都不会是因为设置导致的。

这些页面配合 Scrimba 的 Learn AI Agents 课程,也可以单独使用。如果你在浏览器中学习课程,你只需要前三页。最后两页是为了当你想在自己的机器上运行代码,然后上线部署时使用的。

课程代码是 JavaScript,如果你想先补习一下,JavaScript 手册就在那里。

你将设置什么 ​

三个环境变量承载了课程代码接触模型所需的一切:

变量作用
AI_URL服务商的 API 基础 URL,请求会被发送到这里
AI_KEY你的 API 密钥,用来授权这些请求
AI_MODEL你想交互的具体模型的 ID

它们必须相互匹配。一个有效的密钥指向错误的服务商 URL 会失败,一个正确的服务商配上它不提供的模型 ID 也会失败。每当你切换服务商时,要同时改变这三个值。

从《AI 工程入门》课程过来的?

这些就是那个课程用过的同样三个变量。如果你已经在 Scrimba 中保存了它们,你可以直接跳到推荐的模型并确认你的模型支持工具调用。

Juno你将设置什么AI_URL、AI_KEY 和 AI_MODEL 是一个分三部分的设置。URL 说明你在和哪家公司交互,密钥证明你有权限这样做,模型说明哪个模型来回答。

它们只能作为一个匹配的整体工作,所以每当你切换服务商时,就要同时改变这三个。一个服务商的密钥配另一个服务商的 URL 是最容易犯的错误。

Juno你将设置什么 你最可能遇到的失败不是某个值中的笔误。而是遗留:来自你上个月用过的服务商的密钥,发送到你今天配置的 URL。

所以要把切换服务商当作一个三部分的编辑。如果你遇到认证或模型未找到错误,在阅读自己的代码之前,先重新检查这三个值。

Juno你将设置什么 这个不匹配值得这样的关注,因为错误信息会把你引到别处。一个收到它从未签发的密钥的服务商会回应得就像密钥本身有问题一样,一个被要求提供不在其目录中的模型的服务商会回应得就像你拼错了名字一样。

两者都是同一个问题,即配置不一致,但都没有明确说出来。

页面顺序 ​

服务商设置逐步讲解如何创建 OpenAI 或 OpenRouter 账户,生成 API 密钥,以及存储这三个值。

推荐的模型涵盖了一项硬性要求(工具调用),并提供了一份测试过的精选列表,这样你就不用猜测了。

Chat Completions 和 Responses解释了你在实际应用中会看到的两个 OpenAI API,它们的请求和回复结构有什么不同,以及为什么本课程使用 Responses。

在本地运行代码是当你想把项目从 Scrimba 搬到自己的机器上时的步骤,涵盖下载、.env 文件、安装依赖,以及让人们容易遇到的端口冲突。

部署你的 Agent 应用是课程之后的步骤:把完成的 OpenSwap 应用或你的 Charta 个人项目上线,带上生产构建和主机。

Juno页面顺序 在浏览器中,前三页就是你需要的全部:设置一个服务商,选一个模型,然后看到课程发送的请求。

最后两页可以等到你想把项目搬到自己的电脑或上线时再看。

Juno页面顺序 每一页都依赖前一页。变量先来,模型放进其中一个,API 页面展示这些值产生的请求。

这同样的三个值会跟着你离开 Scrimba:当你在本地运行时进入 .env 文件,当你部署时进入主机的设置。

Juno页面顺序 最后两页基于一个设计选择:Express 服务器持有你的密钥并发起每一个模型请求。

这就是为什么同样的代码可以在 Scrimba、你的机器和主机上运行,只改变环境。

需要提前决定的一件事 ​

课程代码使用指向你设置的任何 AI_URL 的 OpenAI 客户端,并调用 Responses API。所以一个服务商不仅要接受 OpenAI 风格的请求。它必须提供 Responses,其后面的模型必须通过它可靠地调用工具。推荐模型页面上的路由已经以这种方式测试过了。

工具调用是不能妥协的要求。本课程的 Agent 构建在模型的原生工具调用上:模型返回一个结构化的请求来运行你的某个函数,你的代码运行它。Agent 可以用其他方式构建,但这门课的代码没有它就无法运行,无论其他部分如何编写。

如果你探索推荐列表之外的模型,请记住这一点,因为模型限制和你代码中的 bug 在控制台中看起来是一样的。

Juno需要提前决定的一件事 工具调用是这里模型必须能做的一件事。其他一切都是偏好:它有多快、成本是多少、有多健谈。

这门课中的 Agent 通过请求你的代码运行某样东西来工作,所以一个不能发出那个请求的模型无法运行它。模型页面上的精选列表已经检查过这个了。

Juno需要提前决定的一件事 不在推荐列表上的模型,检查两件事:模型卡片列出工具调用,通常标记为"函数调用"或"工具",以及服务商提供 Responses API,而不仅仅是 Chat Completions。

当一节课表现不正常且你的代码与解决方案一致时,在重新阅读自己的代码之前,先换上一个已知良好的模型。这是一个快速的测试,排除了人们最后才检查的原因。

Juno需要提前决定的一件事 工具支持属于所提供的端点,不仅仅属于模型。在 OpenRouter 上,一个模型可以由多个上游提供商提供,目录列表并不能证明每条路由都通过 Responses 处理工具。

这就是为什么精选列表列出的是路由,而不是模型系列。当一个本应支持工具的模型似乎不支持时,在指责模型之前,先检查你在访问哪条路由。

其他 Scrimba AI 课程 ​

每门其他 AI 课程和项目都有自己的本地设置指南。在本地运行 AI 课程项目是这些的索引,涵盖 AI 工程师路径、Chef Claude 和《Mistral AI 入门》。

Juno其他 Scrimba AI 课程 为另一门课程而来?在索引中选择它,按照那份指南代替。
Juno其他 Scrimba AI 课程 每份指南都跟随自己的项目,所以不要在它们之间混淆步骤。
Juno其他 Scrimba AI 课程 有些项目用自己的变量名调用服务商,所以从每份指南中取名字。
在 Scrimba 上学习 Learn AI AgentsLearn AI Agents 带你从单一模型调用到一个调用工具并对结果进行操作的 Agent。