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

为 AI Agents 入门课程做准备 ​

构建一个 agent 需要的准备工作少得惊人。你需要一个地方来发送请求,有权限发送请求,以及另一端有一个能调用工具的模型。

这就是三个值。本指南的其余部分就是帮助你第一次就设置正确,这样课程中就不会因为与 agent 无关的原因而失败。

这些页面是对 Scrimba 的 Intro to AI Agents 课程的补充,也能独立使用。如果你在浏览器中学习这个课程,你只需要前三页。如果你想把代码放在自己的机器上,最后一页也有说明。

课程代码是 JavaScript,如果你需要先补充一下相关知识,JavaScript 手册在这里。

你将设置什么 ​

三个环境变量包含了课程代码与模型通信所需的全部内容:

变量作用
AI_URL服务商的 API 基础 URL,请求将发送到这里
AI_KEY你的 API 密钥,用于授权这些请求
AI_MODEL你想要对话的特定模型的 ID

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

来自 Intro to AI Engineering?

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

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

它们只有作为一个匹配的整体才能工作,所以每当你切换服务商时要同时修改这三个值。混用一个服务商的密钥和另一个的 URL 是几乎每个人都会犯一次的错误!

Juno你将设置什么 这三个值是一个匹配的整体,而你实际会遇到的错误不是其中任何一个的笔误。而是遗留问题:你上个月用的服务商的密钥被发送到了你今天配置的 URL。

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

Juno你将设置什么 之所以值得费这么多篇幅关注不匹配的问题,是因为错误信息会欺骗你问题出在哪里。一个密钥被发送到错误的基础 URL 会返回 401,看起来像"你的密钥坏了",但密钥其实没问题。一个你的服务商不提供的模型会在模型名称上返回 404,看起来像一个笔误。

两者都是同样的根本问题,但错误信息都指不到它。把这三个值在脑子里作为一个整体来看待,这样就能省去半小时的调试。

按顺序阅读的页面 ​

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

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

Chat Completions 和 Responses解释了你会在野外看到的两个 OpenAI API,它们的请求和回复格式如何不同,以及为什么这门课程使用 Responses。

本地运行代码是为了当你想把项目从 Scrimba 转到自己的机器上时使用,涵盖了下载、.env 文件、安装依赖,以及容易让人掉坑的端口冲突问题。

需要提前决定的一件事 ​

这门课程中的几乎所有内容都适用于任何支持 OpenAI API 格式的服务商。唯一不变的要求是你的模型能够调用工具。

Agent 是一个能决定使用工具的模型,所以一个不能调用工具的模型无论代码怎么写都成不了 agent。如果你去探索推荐列表以外的模型,记住这一点,因为模型的限制和代码中的 bug 在控制台中看起来是一样的。

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

Agent 是一个能让你的代码去执行某些操作的模型,所以一个不能发出这个请求的模型根本成不了 agent。模型页面上的简明列表已经检查过这一点了,所以你不用自己去验证。

Juno需要提前决定的一件事 工具调用是硬性要求,当你去看推荐列表以外的模型时,这是首先要检查的。模型卡片会说明这一点,通常写的是"function calling"或"tools"。

现在就养成习惯:当某节课的代码出现问题,而你的代码又和解答一致时,先换一个已知可用的模型试试,然后再重读自己的代码。这是一个三十秒的测试,能排除大家最后才检查的原因。

Juno需要提前决定的一件事 工具调用是服务端点的一项能力,不只是模型的能力,这正是容易坑人的地方。同样的模型权重在不同的路由后面可能会返回不支持工具的结果,免费层可能会提供一个量化的或其他被精简的变体,缺少这个特性。

这就是为什么简明列表指名路由而不仅仅是模型系列。当一个本应支持工具的模型看起来不支持时,检查你实际在使用哪个路由,然后再得出结论说是模型的问题。

Scrimba 的其他 AI 课程 ​

其他每一门 AI 课程和项目都有自己的本地设置指南。本地运行 AI 课程项目是这些内容的索引,涵盖 AI Engineer Path、Chef Claude 和 Intro to Mistral AI。

在 Scrimba 上学习 AI Engineer PathScrimba 的 AI Engineer Path 通过九个交互模块带你从首次调用 LLM 到 agent、RAG 和 MCP。