语音摘要 — 点击播放以跟读:正在朗读的行会保持在顶部附近。
向Claude问好或许能温暖你的心,但这并不实用。本节课我们将发送真实内容给Claude,并获取结构化反馈——只需不到20行代码。
准备工作
首先,从platform. claude. com获取API密钥。你需要先购买一些额度。
Claude控制台对话框显示新创建的API密钥,带有复制按钮和密钥仅显示一次的警告
获取API密钥后将其存储在. env. local文件中,避免进入版本控制系统。将密钥硬编码在源文件中会导致它们泄露到GitHub上——应该存储在环境文件中。
接下来安装SDK:
npm install @anthropic-ai/sdk
请求结构剖析
每个API调用都通过**messages. create**函数完成。你需要指定三个要素:
- 模型——处理请求的Claude模型版本
- 最大token限制——响应长度的上限
- 消息列表——包含user或assistant角色的对象,结构类似于你与Claude对话的形式
基础形式如下:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const msg = await client. messages. create({ model: "claude-opus-4-7", max_tokens: 1024, messages: [{ role: "user", content: "你好,Claude", }], });
实际案例:审查问题代码
让我们给Claude一些比"你好"更有趣的内容。我们将提供一段问题代码并要求审查。完整代码如下——单个文件,约20行:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const buggyCode = ` function add(a, b) { return a - b; } `;
const response = await client. messages. create({ model: "claude-opus-4-8", max_tokens: 1024, system: "你是一位言简意赅的高级代码审查员。用一段话给出反馈。", messages: [ { role: "user", content: Review this code:\n${buggyCode} }, ], });
for (const block of response. content) { if (block. type === "text") { console. log(block. text); } }
注意两个要点:
- system提示词用于塑造角色性格。我需要简洁的高级审查员,所以直接说明。
- 响应中的**message. content是一个区块数组**而非字符串。基础文本回复通常只有一个text类型的区块,但Claude可能返回多种区块——文本、工具调用、思考过程——所以需要循环检查类型。
运行后,Claude会指出add执行的是减法操作,并用一段话告诉你问题所在。这就是完整的API调用。
脚本运行的终端输出:Claude指出函数名为add但执行减法操作,建议将return a - b改为return a + b
从脚本到产品
在实际产品中,相同的messages. create结构可以成为功能引擎。比如从数据库提取会议记录,配合"提取洞察和风险"的系统提示词交给Claude处理,将结果保存后返回给用户界面。本质上是相同的API调用——只是包装在路由处理器中。
演示网页应用中的会议仪表板,列出已记录的项目会议,每个会议都有文字记录预览和由相同API调用驱动的生成摘要按钮
要点回顾
- 你的第一个API调用是包含模型、token限制和消息的**messages. create**函数。
- 将API密钥存储在. env. local文件中避免进入版本控制。
- 添加系统提示词来塑造Claude的行为模式。
- 响应中的content是区块数组——需要循环检查每个区块的type类型。
- 所有进阶应用都基于这个模式构建。