Anthropic 学院中文导读 / 课程目录 / 11

用 Claude API 构建应用:提示词评估、工具、RAG、缓存、MCP 和代理模式全覆盖

路线 C · 在 Claude 平台上开发Building with the Claude API适合:后端、全栈、数据工程师;要把 Claude 集成进系统的人免费 · 英文 · 有结业证书
这是导读,不是翻译。先用 15 分钟拿到这门课的思想地图,再去 Anthropic Academy 原课程 → 注册学习(免费)。

一句话

Building with the Claude API 是 Academy 里内容最多的开发课,用 Python 讲完整条链路:基本请求与多轮对话、系统提示与输出控制、提示词评估、提示词工程、工具调用、RAG 检索、扩展思考与多模态、提示词缓存、MCP、Claude Code 与电脑操作,最后是工作流与代理的架构模式。Amazon Bedrock 和 Google Cloud 两门课结构几乎相同,只是接入方式换成各自的云平台。

这篇导读覆盖的课程

课程结构

用 API 访问 Claude
API 密钥、发请求、多轮对话、系统提示、temperature、流式输出、结构化数据。
提示词评估
典型评估流程、生成测试集、运行评估、模型评分与代码评分。
提示词工程技巧
清楚直接、具体、用 XML 标签组织、给例子。
工具调用
工具函数与 schema、处理消息块、返回工具结果、多轮多工具、细粒度工具调用、文本编辑工具、网页搜索工具。
RAG 与代理式搜索
文本切块、嵌入向量、完整 RAG 流程、BM25 词法检索、多索引 RAG 管线。
Claude 的功能
扩展思考、图像、PDF、引用、提示词缓存、代码执行与 Files API。
Model Context Protocol
MCP 客户端与服务器,工具、资源、提示三种原语(详见第 12 篇)。
Anthropic 应用
Claude Code 的设置与使用、用 MCP 增强;电脑操作(computer use)。
代理与工作流
并行、链式、路由三种工作流;代理与工具;环境检查;工作流和代理怎么选。

精华:这门课真正要你带走的东西

先评估,再调提示词。这门课把提示词评估放在提示词工程之前,这是它最值得学的地方。流程是:写一版提示词 → 准备一组测试输入(可以让 Claude 帮你生成)→ 批量运行 → 打分 → 改提示词 → 再跑。打分有两种:代码评分(检查格式、关键词、能否解析为 JSON)和模型评分(让另一个模型按评分标准打分)。没有评估,“改好了”只是感觉。

提示词工程的 4 个基本功。清楚直接:第一句就说要做什么。具体:说明受众、长度、格式、约束。用 XML 标签分隔不同内容,例如把资料放在 <document> 里、把要求放在 <instructions> 里,Claude 对这种结构很敏感。给例子:一两个高质量示例往往比一大段说明更有效。

工具调用的消息结构要吃透。Claude 的回复由多个内容块组成,可能同时有文字块和 tool_use 块。你执行工具后,要用 tool_result 块回传,并通过 id 对应到原来的调用。一次回复里可能有多个工具调用,要全部处理。课程用一个完整项目一步步演示,还介绍了官方提供的文本编辑工具和网页搜索工具。

RAG:先把资料切好,再谈检索。流程是:切块 → 每块生成嵌入向量 → 用户提问时检索最相关的块 → 把这些块放进提示词。课程强调两点。第一,语义检索(嵌入向量)和词法检索(BM25)各有盲区,组合成多索引管线效果更好。第二,切块时给每块补上它在全文里的背景(上下文检索,contextual retrieval),能明显减少检索失误。

提示词缓存:重复的前缀只付一次全价。如果每次请求都带着同样的长系统提示或长文档,可以把它标记为可缓存。后续请求命中缓存时,这部分读取成本和延迟大幅下降。规则是:缓存的是请求开头的固定部分,变化的内容要放在后面。

工作流优先,代理其次。课程最后一单元区分两种架构。工作流:步骤由你的代码预先编排。链式是一步的输出作为下一步的输入;并行是把任务拆成独立部分同时处理再汇总;路由是先分类,再交给专门的提示词处理。代理:由模型自己决定下一步做什么,更灵活,但更难预测和测试。能用工作流解决的问题,先用工作流。

云平台版本的差别。Bedrock 版用 AWS 的 boto3 客户端和 Bedrock 模型 ID 发请求,鉴权走 AWS 账号;Google Cloud 版通过 Vertex AI 接入,鉴权走 GCP 项目。提示词、工具、RAG、评估这些核心内容完全一样。公司已经用某个云平台,选对应版本学,能少走配置弯路。

关键概念

系统提示(system prompt)
放在对话之外的全局指令,用来设定角色、规则和输出风格。
temperature
控制输出随机性的参数。低值更稳定,高值更多样。
提示词评估(prompt eval)
用一组测试输入批量运行提示词并打分,量化比较不同版本的效果。
模型评分 / 代码评分
前者让模型按评分标准打分,适合主观质量;后者用程序检查,适合格式和规则。
RAG(检索增强生成)
先从资料库检索相关片段,再放进提示词让模型回答,用来引入模型不知道的资料。
BM25
经典的关键词检索算法,擅长精确匹配术语、编号和专有名词。
上下文检索(contextual retrieval)
切块时为每块补充其在原文中的背景说明,再生成嵌入和索引,提高检索准确率。
提示词缓存(prompt caching)
缓存请求开头的固定内容,后续命中时降低成本和延迟。
引用(citations)
让 Claude 在回答中标注所依据的原文片段,便于核查。
电脑操作(computer use)
Claude 通过截图、鼠标和键盘操作图形界面完成任务的能力。

学前准备

动手练一遍

用一个真实的小需求贯穿全课:做一个“公司内部文档问答助手”。

  1. 请求与系统提示:写一个命令行聊天程序,支持多轮对话和流式输出,系统提示规定“只根据提供的资料回答,资料里没有就说不知道”。
  2. 评估:写 15 个测试问题,其中 5 个在资料里没有答案。用代码评分检查“不知道”的回答,用模型评分检查其余答案的准确性。
  3. RAG:把 20 份文档切块,建嵌入索引和 BM25 索引,两路结果合并后放进提示词。对比只用一路时的评估分数。
  4. 引用与缓存:开启引用,让每个回答标注来源片段。把固定的系统提示标记为缓存,比较前后两次请求的 usage。
  5. 工具:加一个 search_docs 工具,让 Claude 自己决定何时检索、检索什么,对比固定检索流程的效果。

容易卡住的地方

延伸阅读