尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Claude code课程:工具使用-2.你的第一个简单工具(TaoToken 配置版)

发布时间:2026/9/26 23:07:37

资讯中心
01
ARTICLE

Claude code课程:工具使用-2.你的第一个简单工具(TaoToken 配置版)

Claude code课程:工具使用-2.你的第一个简单工具(TaoToken 配置版)
1. 从一次“算错数”说起为什么你的第一个工具应该是计算器如果你刚开始接触 Claude code大概率会遇到一个很反直觉的现象模型写代码、改 bug、解释架构都很在行但一让它做多位数乘法答案就开始飘。我实测过问它 1984135 乘以 9343116它给出的结果和正确答案差了五百多亿而且每次重跑还不一样。这不是模型“笨”而是大语言模型本质上在做概率预测不是在做精确算术。工具使用Tool Use就是来解决这类问题的。它的核心思路很朴素模型不擅长的事交给外部函数去做模型只负责判断“该不该调用工具、传什么参数”。整个流程最多四步——你提供工具定义和用户提问模型返回tool_use请求你在本地执行真实函数并把结果塞回对话模型再基于结果给出最终回答。这篇是 Claude code 工具使用系列的第二课聚焦“你的第一个简单工具”。我会带你用 TaoToken 统一 Key/API 通道先配好settings.json骨架再跑通一次真实的工具调用闭环。适合刚上手 Claude code、想搞明白工具调用到底怎么落地的人。全程可复制不需要你提前理解 JSON Schema 的每个细节。2. 前置准备用 TaoToken 打通 Claude code 的 API 通道Claude code 本身是个命令行编码助手但它背后要连模型 API。如果你直接去官方申请流程长、额度紧对刚入门的人不太友好。TaoToken 做的事情是把模型通道统一起来你拿一个 Key就能在 Claude code 里调用 Claude 系列模型省掉多平台切换的麻烦。你需要准备三样东西一个 TaoToken 账号、一个 API Key、以及本地装好的 Claude code。Key 的获取路径是登录后进控制台在 API Keys 页面新建一个复制出来先存好后面配置要用。控制台地址是 https://taotoken.net/console API Keys 页面是 https://taotoken.net/api-keys 。这里有个容易踩的坑很多人以为 Claude code 的配置写在项目目录里其实它读的是用户级的settings.json。在 macOS/Linux 上通常是~/.claude/settings.jsonWindows 上是%USERPROFILE%\.claude\settings.json。如果这个文件不存在你需要手动创建.claude目录再建文件。我第一次配的时候就是路径写错改了半天没生效后来claude --version能跑但请求一直 401才发现是配置文件根本没被读到。提示配置前先确认 Claude code 能正常启动。如果连claude命令都找不到先解决安装问题别急着改配置。3. 可复制配置settings.json 骨架与工具调用参数Claude code 的settings.json支持通过环境变量指定 API 基址和 Key。TaoToken 的 API 入口是 https://taotoken.net/api 注意这里不带任何查询参数直接作为 base URL 使用。下面是一份最小可用的骨架你可以直接复制后替换your_api_key_here{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: your_api_key_here, ANTHROPIC_MODEL: claude-sonnet-4-20250514 }, permissions: { allow: [ Read, Write, Bash(python:*) ] } }几个参数说明一下。ANTHROPIC_BASE_URL指向 TaoToken 的 API 通道这是让 Claude code 走统一入口的关键。ANTHROPIC_API_KEY填你刚才复制的 Key。ANTHROPIC_MODEL指定默认模型工具调用对模型能力有要求建议用 Sonnet 级别Haiku 也能跑但复杂工具场景下判断会弱一些。permissions.allow这块是 Claude code 的工具权限白名单。注意这里的“工具”和本文要讲的“工具使用”是两个概念——前者是 Claude code 内置的文件读写、命令执行能力后者是你通过 API 传给模型的函数定义。但两者在配置层面会互相影响如果你不允许Bash那模型想让你跑一段 Python 验证计算器函数时就会被拦。我建议入门阶段先放开Read、Write和受限的Bash(python:*)别一上来就全放开。配好之后可以用一条命令验证配置是否被正确加载claude --print reply with ok如果返回ok说明通道通了。如果报 401 或连接超时先检查 Key 有没有多余空格、base URL 有没有写错。这一步过了再往下做工具调用。4. 验证请求跑通计算器工具的最小闭环现在进入正题。我们要实现的第一个工具是一个计算器它能做加、减、乘、除。整个闭环分四步我把它拆成可直接运行的 Python 脚本。第一步定义真实函数。这个函数独立于模型运行先确保它自己是对的def calculator(operation, operand1, operand2): if operation add: return operand1 operand2 elif operation subtract: return operand1 - operand2 elif operation multiply: return operand1 * operand2 elif operation divide: if operand2 0: raise ValueError(不能除以零) return operand1 / operand2 else: raise ValueError(f不支持的操作: {operation})第二步写工具定义。这是要传给模型的 JSON Schema告诉它这个工具叫什么、干什么、要哪些参数calculator_tool { name: calculator, description: 一个简单计算器执行基本算术运算。当用户需要精确计算时使用。, input_schema: { type: object, properties: { operation: { type: string, enum: [add, subtract, multiply, divide], description: 要执行的算术运算 }, operand1: {type: number, description: 第一个操作数}, operand2: {type: number, description: 第二个操作数} }, required: [operation, operand1, operand2] } }第三步发请求并处理tool_use。这里用 Anthropic SDK通过前面配好的环境变量走 TaoToken 通道import os from anthropic import Anthropic client Anthropic( base_urlos.environ[ANTHROPIC_BASE_URL], api_keyos.environ[ANTHROPIC_API_KEY] ) response client.messages.create( modelclaude-sonnet-4-20250514, max_tokens500, system你可以使用工具但只在必要时使用。如果不需要工具就正常回应。, messages[{role: user, content: 计算 1984135 乘以 9343116只返回结果}], tools[calculator_tool] ) print(stop_reason:, response.stop_reason)如果一切正常stop_reason会是tool_useresponse.content里会出现一个ToolUseBlock里面带着模型判断出的参数operation是multiply两个操作数分别是 1984135 和 9343116。第四步提取参数、执行函数、拿到结果if response.stop_reason tool_use: tool_use response.content[0] inputs tool_use.input result calculator( inputs[operation], inputs[operand1], inputs[operand2] ) print(计算结果:, result)跑完你会看到18538003464660这才是正确答案。模型没有自己算它只是把参数填对了真正的运算发生在你的 Python 函数里。这就是工具使用的价值——把模型的“判断力”和代码的“精确性”拼在一起。5. 本篇常见错排查从 401 到工具乱调用配完跑不通是常态我把几个高频问题列出来对照着查会快很多。报 401 或 invalid api key九成是 Key 复制时带了空格或者settings.json里的ANTHROPIC_API_KEY没被正确读取。先确认文件路径对不对再确认 JSON 格式合法可以用python -m json.tool settings.json校验。如果 Key 本身没问题检查 base URL 是不是写成了带路径的形式正确写法就是https://taotoken.net/api。stop_reason 一直是 end_turn模型不调工具说明模型判断不需要工具。可能是你的提示词太模糊或者工具描述写得不够清楚。把description写具体一点比如加上“当用户需要精确计算时使用”模型更容易触发。另外系统提示里那句“只在必要时使用”也会抑制调用调试阶段可以先去掉。模型乱调工具问“祖母绿什么颜色”它也去调计算器这是真实存在的现象模型有时会过度热情。解决办法就是加系统提示明确告诉它“不需要工具就正常回应”。加了之后stop_reason会从tool_use变回end_turn返回正常的文本回答。参数类型不对比如把数字传成字符串检查input_schema里operand1和operand2是不是写的type: number。如果写成string模型就会传字符串你的函数一算就报类型错误。Schema 定义和真实函数签名必须对齐这是最容易忽略的地方。Bash 权限被拦如果你在 Claude code 里让它跑 Python 验证但permissions.allow没放Bash(python:*)命令会被拒绝。回到settings.json补上或者临时用--dangerously-skip-permissions调试仅限本地测试别在生产环境用。6. 下一步把工具调用接进你的编码流跑通计算器只是起点。真正的价值在于把这个模式套到你自己的场景里——比如让模型调用你的内部 API 查数据、调用文件处理函数做格式转换、调用测试脚本跑回归。核心永远是那四步定义函数、写 Schema、发请求、处理tool_use。如果你想把这条链路长期用起来建议了解一下 Coding Plan它更适合需要持续调用、做 Agent 类任务的场景额度和管理都更省心https://taotoken.net/coding-plan 。想先在线验证模型对工具调用的判断是否稳定可以直接在模型对话里试几轮https://taotoken.net/models 。接入过程中遇到参数或权限问题接入文档里有更细的字段说明https://taotoken.net/doc 。配好 Key、跑通一次tool_use、看到那个精确的乘法结果你就已经跨过了工具使用最难的那道门槛。剩下的就是把你手头那些“模型做不好但代码能做对”的事一个个包成工具丢给它。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。