Claude API:自己写程序调 Claude

不用 Claude Code,自己写程序直接调 Claude。从第一个请求讲起,到模型价格、报错限流、思考、缓存、提示词、工具调用、结构化输出、图片和 PDF、skill、key 管理和托管智能体。能测的通过中转站实测,其余按文档整理。共 21 篇,读完约 281 分钟,最近更新于 。

从第 1 篇开始

  1. 第一次直接调 Claude 的接口:从 curl 到 Python,多轮对话、流式、看图,以及通过中转站要改的两处约 9 分钟

    不通过 Claude Code,自己写几行代码直接调模型,要哪些东西、请求和响应长什么样、多轮对话和流式怎么做。本文按官方的入门文档整理,每一步都通过中转站跑过。要改的只有接口地址和 key 两处。另外测到一个新手很容易踩的坑:max_tokens 给 100,回答是空的。

  2. Claude 的 SDK 和命令行:重试和超时到底怎么工作,用 OpenAI 的 SDK 调 Claude,以及官方命令行 ant约 12 分钟

    官方给 Claude 的接口配了七种语言的 SDK、一个命令行和两个兼容层。本文整理各自怎么装、适合谁,并做了实测:对着假服务器看 Python SDK 的重试和超时(碰到带 retry-after 60 的 503,它等了两分钟才报错);用 OpenAI 的 SDK 调 Claude;通过中转站用官方命令行 ant。

  3. Claude 现在有哪些模型、各多少钱、怎么选:价格表、模型 ID、下线时间和省钱的顺序约 14 分钟

    Fable 5.1、Opus 5.5、Sonnet 5.5、Haiku 5.5 各管什么、官方价是多少、模型 ID 为什么不带日期、哪些老模型快下线了。本文按官方文档整理,并通过中转站实测了几件事:同一个任务在三个模型上差四倍多的钱;同一段中文在新旧模型上 token 数几乎一样,英文却多出近四成。

  4. Claude API 的报错、限流和停止原因:每个状态码和 stop_reason 是什么意思,通过中转站时哪些不一样约 13 分钟

    调 Claude 的接口时,请求没成功是一回事,成功了但回答停得不对是另一回事。本文整理官方的十一个报错状态码、两种限额、七个停止原因和拒答的处理办法,并通过中转站用 Python SDK 把能触发的都触发了一遍:报错的类型名、限流的响应头、停止序列等好几处和官方文档不一样。

  5. Claude 的思考和 effort 怎么调:五档各是什么、什么时候该调高、钱花在哪约 11 分钟

    effort 控制 Claude 在一个回答上下多大功夫,思考只是其中一部分。本文整理五档的含义、各模型的默认值、思考怎么计费、怎么让它多想或少想,以及任务预算和快速模式。实测一道排期题:Sonnet 5.5 在 low 和 medium 上十次全错,调到 high 五次全对;再调到 max 要花三倍多的钱,答案一样。

  6. Claude 的提示缓存怎么用:怎么开、怎么看有没有命中、什么会让它失效,以及通过中转站时要多带的一个字段约 11 分钟

    提示缓存让重复发送的那段开头按十分之一甚至更低的价格计费。本文整理两种开法、响应里三个数字怎么读、哪些改动会让缓存失效、缓存诊断、数 token 和上下文窗口。通过中转站实测:不做处理时十次里只命中一次;请求里带上固定的 metadata.user_id 之后,七次里命中六到七次。

  7. 对话太长了怎么办:Claude 的压缩和上下文编辑,各自什么时候用约 9 分钟

    长对话和跑很久的智能体迟早要处理上下文:要么让服务端把旧的轮次写成摘要(压缩),要么按规则清掉旧的工具结果和思考(上下文编辑)。本文整理两类办法的用法、限制和对缓存的影响。通过中转站实测:上下文编辑能用;两种压缩都用不了,其中一种是参数被悄悄忽略。

  8. 给 Claude 5.5 这一代写提示词:按现象查该改什么,哪些老写法该删约 8 分钟

    老提示词在 Opus 5.5、Sonnet 5.5、Haiku 5.5、Fable 5.1 上基本能直接用,但每个模型有几处行为变了。本文把官方四份指南整理成一张“看到什么现象,改什么”的表,列出该删掉的老写法。实测一道要 JSON 答案的推理题:不思考时模型把推理写进回答里,答案是对的,但整段不再是合法的 JSON。

  9. 给 Claude 应用定标准、建评测、加护栏:一致性、幻觉、提示注入、提示词泄露和延迟约 10 分钟

    用 Claude 做的应用上线之前,怎么知道它够不够好,怎么防它乱说、被带偏、把系统提示说出去、回得太慢。本文整理官方的六页指南,并通过中转站做了五个小实验:十二条的分类评测、文档里没有的问题、邮件里夹带的指令、套系统提示、流式的首字时间。

  10. 把代码升级到 Claude 5.5 这一代要改什么:四个模型的不兼容改动和一份检查清单约 12 分钟

    把模型名换成 Opus 5.5、Sonnet 5.5、Haiku 5.5 或 Fable 5.1,有几处老写法会直接报 400:强制调用工具、关掉思考、预填回答。还有几处不报错但结果变了:回答的第一块可能是空的 thinking,max_tokens 可能被思考用光。本文按官方迁移指南整理,能试的都通过中转站实测过。

  11. Claude API 工具调用入门:定义工具、处理调用、自己写循环约 22 分钟

    让 Claude 调你自己的函数:怎么定义工具、怎么把结果送回去、一次调多个工具怎么处理、出错怎么告诉它,以及 strict、Tool Runner 和流式参数。例子都在服务器上通过中转站跑过,并列出和官方文档不一样的地方。

  12. Claude API 的现成工具:bash、文本编辑器、记忆,以及电脑和浏览器操作约 20 分钟

    跑命令、改文件、跨对话记东西、操作桌面和浏览器,这几类工具 Anthropic 已经定义好,你只负责执行。本文在服务器上用 bash 加文本编辑器搭了一个最小的改代码智能体,并实测记忆工具;电脑和浏览器操作按文档整理。

  13. Claude API 的服务器端工具:联网搜索、抓取网页、代码执行、工具搜索、顾问和 MCP 连接器约 22 分钟

    这几个工具由 Anthropic 的服务器执行,你只管在请求里打开。本文整理各自的用法、计费和限制,以及工具太多时怎么省上下文。通过中转站实测:联网搜索、工具搜索、顾问能用;抓取网页、MCP 连接器被拒,代码执行被悄悄忽略。

  14. 让 Claude 按固定结构输出 JSON、给回答标出处:结构化输出、引用和搜索结果块约 15 分钟

    程序要解析 Claude 的回答,就用结构化输出;要让用户核对回答的依据,就用引用。本文通过中转站实测两者的用法,并记下两个坑:可选字段写在必填字段前面会被漏掉,中文的纯文本文档不会被自动分句。

  15. 给 Claude 看图片和 PDF:token 怎么算、坐标怎么对上,以及文件、批量和向量约 15 分钟

    图片和 PDF 怎么发、各占多少 token、让它返回的坐标怎么对回原图,本文通过中转站逐项实测。Files API、批量处理和向量这三样这家中转站没有开,按官方文档整理用法、限制和价格。

  16. 对话进行到一半要加规矩、换工具:用对话中途的系统消息,不动开头,不丢缓存约 12 分钟

    长对话中途改顶层的 system 或 tools,前面的缓存全部作废。Claude 5.5 这一代可以在消息列表里追加一条 system 消息来加指令、增减工具。通过中转站实测:加指令能用、缓存保住了;按名字增减工具报 400。

  17. 在自己的程序里用 Agent Skills:生成 Excel 和 PPT、上传自己的 skill,以及 Claude Code 自带的 claude-api skill约 12 分钟

    直接调接口也能用 skill,但它跑在 Anthropic 的代码执行容器里,和 Claude Code 里的不是一套。本文按官方文档整理用法、限制和写法;这家中转站用不了这组接口。另在服务器上实测了 Claude Code 自带的 claude-api skill。

  18. 团队用 Claude API 之前要管好的事:key 的类型、工作区、限额、用量花费和数据保留约 14 分钟

    一个人一把 key 没什么可管的;团队用、上生产,就要分清 key 的类型,用工作区隔开环境和项目,会查用量和花费,知道数据留多久。本文按官方文档整理。这些是官方控制台的功能,通过中转站用不到。

  19. 托管智能体入门:循环、沙箱和会话都交给 Anthropic,你只管发事件、收事件约 12 分钟

    Claude Managed Agents 把智能体的循环、工具执行和会话状态放到 Anthropic 那边运行。本文按官方文档整理它的四个概念、最小流程、工具和权限策略、事件怎么收发,以及从自己写的循环迁过来要改什么。中转站没有这组接口,全文未实测。

  20. 托管智能体的环境和数据:沙箱网络、文件和仓库、凭据、记忆、成果、预算和定时运行约 14 分钟

    托管智能体跑起来以后要解决的事:沙箱能访问哪些网站、文件和代码怎么放进去、第三方服务的密钥怎么不让它看到、怎么跨会话记东西、怎么定义做完的标准、怎么给花费封顶、怎么定时跑。按官方文档整理,全文未实测。

  21. 托管智能体进阶:多个智能体协作、动态工作流,以及把沙箱放在自己的机器上约 14 分钟

    一个智能体忙不过来时,可以让它把活派给子智能体,或者自己写一段工作流让几百个智能体在后台跑;数据不能出内网时,可以把工具的执行搬到自己的机器上。本文按官方文档整理这两部分的用法、上限和安全分工,全文未实测。