1. 从 Function Call 到 MCP 再到 SKILLSAI Agent 能力扩展的演进之路与 TaoToken 配置实践AI Agent 能力扩展这几年走得很快从最早的 Function Call到 MCP 协议再到现在的 SKILLS本质上都在解决同一个问题怎么让大模型从“只会聊天”变成“能动手干活”。如果你正在用 Claude Code、Codex CLI 这类工具或者自己写 Agent 应用大概率会遇到三个绕不开的词Function Call、MCP、SKILLS。它们不是互相替代的关系而是层层递进的能力扩展方式。这篇会先把三阶段演进讲清楚然后以 TaoToken 统一 Key/API 通道为接入示例给出可复制的settings.json与config.toml配置骨架最后用具体动作验证 Agent 工具调用链路是否真的生效。适合谁正在搭 Agent、准备接 MCP Server、想把自己的提示词流程固化成 SKILLS 的开发者。1.1 Function Call让模型学会“输出结构化调用请求”Function Call 出现之前大模型只能生成文本。你问天气它靠训练数据猜你让它查数据库它编一个看起来合理的答案。2023 年 OpenAI 发布 Function Calling 后模型第一次能输出结构化的 JSON 调用请求由外部程序执行后再把结果回传。核心思路是在请求里告诉模型“你有哪些工具可用”模型判断需要时输出调用参数。{ name: get_weather, arguments: { location: 北京, unit: celsius } }它的局限也很明显每个应用都要自己定义和实现工具工具之间没有统一标准无法复用工具定义全部塞进 System Prompttoken 消耗大。我试过在一个项目里堆十几个工具定义Prompt 直接膨胀到几千 token模型还容易“注意力失焦”。1.2 MCP把工具接口标准化2024 年 Anthropic 发布 MCPModel Context Protocol可以理解为 AI 工具的 RPC 协议。它解决的核心问题是让不同开发者写的工具AI 都能听得懂、用得上。对比一下对比维度Function CallMCP定义方式每个应用自己定义统一协议标准工具发现静态配置动态发现生态复用难以复用一次开发处处可用跨模型支持绑定特定模型开放标准多模型支持MCP 的工作流程是Client 连接 Server 后发送list_toolsServer 返回工具列表用户提问时模型决定调用哪个工具Client 执行call_toolServer 执行后返回结果模型再整合成回答。这里的关键变化是“动态发现”——工具不再写死在 Prompt 里而是运行时拉取。1.3 SKILLS从“工具”到“技能包”2025 年 Anthropic 发布 Agent Skills是在 MCP 基础上的进一步抽象。官方定义是Skills 是组织化的文件夹包含指令、脚本和资源Agent 可以动态发现并加载以在特定任务上表现更好。可以把它理解为“分类后的系统提示词”但比传统 System Prompt 更智能——按需加载而不是全量加载。维度传统系统提示词Agent Skills加载方式全量加载每次对话都发按需调用只加载需要的Token 消耗高随功能增多爆炸低结合 Prompt Caching复杂度上限低Prompt 太长会失焦高每个技能独立互不干扰执行能力仅限“说话”可关联 Tool Use真正执行Skills 的本质还是提示词工程只是把“一个巨大的 System Prompt”拆成独立 Skill 文件。比如我写博客需要配封面图流程是总结标题、找图、上传图床、贴链接。这些步骤机械化但每次一样我就写进一个SKILL.md之后对 Claude Code 说“把 /xx/blog.md 配图”它会自动加载这个 Skill 处理。Skills 的两阶段加载机制很关键启动时只加载元数据name description约 30-100 tokens/skill匹配后才加载完整内容。匹配逻辑完全由大模型决定不是客户端做关键词匹配或向量嵌入。客户端只负责收集元数据、打包发送、执行工具调用。这也带来一个现实问题模型可能跳过某个 Skill如果确定要用可以/skill-name强制调用或把关键规则放CLAUDE.md或设置disable-model-invocation: true改为手动调用。2. TaoToken 前置统一 Key/API 通道上面三阶段要真正跑起来绕不开模型接入。TaoToken 在这里的角色是统一 Key/API 通道你拿一个 Key就能通过兼容接口调用多家模型Agent 工具调用链路也走同一条通道。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 不加 UTM。需要先准备的东西一个 TaoToken 账号、一个 API Key、本地已装好 Claude Code 或 Codex CLI 之类的 Agent 工具。Key 在控制台创建入口是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 。创建后复制保存后面配置里要用。注意Key 只显示一次建议创建后立刻存到密码管理器。不要写进会提交到 Git 的配置文件。如果你还没决定用哪个模型可以先在模型对话页试一下工具调用是否正常入口是 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 。长期编码或跑 Agent 任务的话Coding Plan 更划算入口是 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。3. 可复制配置settings.json 与 config.toml 骨架这一章是重点直接给可复制的配置骨架。不同 Agent 工具读取的配置文件不一样Claude Code 系用settings.jsonCodex CLI 系用config.toml。下面两份都基于 TaoToken 的 API 地址。3.1 Claude Code 系 settings.jsonClaude Code 的配置一般放在~/.claude/settings.json项目级可以放.claude/settings.json。核心是把 API 基址指向 TaoToken并带上 Key。{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: sk-你的TaoTokenKey, ANTHROPIC_MODEL: claude-sonnet-4-20250514 }, permissions: { allow: [ Bash(git status), Bash(git diff), Read, Write ] } }几个参数说明ANTHROPIC_BASE_URL指向 TaoToken 的 API 地址注意不要加 UTM 参数ANTHROPIC_AUTH_TOKEN填你创建的 KeyANTHROPIC_MODEL按你实际要用的模型名填。permissions.allow是工具调用白名单Agent 要执行命令或读写文件必须在这里放行否则工具调用会被拦截。3.2 Codex CLI 系 config.tomlCodex CLI 的配置一般在~/.codex/config.toml。结构如下model gpt-5-codex model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY [profiles.default] model gpt-5-codex model_provider taotoken approval_policy on-request这里env_key指定从环境变量读 Key所以还要在 shell 里导出export TAOTOKEN_API_KEYsk-你的TaoTokenKey写进~/.zshrc或~/.bashrc后source一下。approval_policy on-request表示工具调用需要确认调试阶段建议保留跑顺了再考虑放宽。3.3 SKILLS 目录骨架Skills 放在~/.claude/skills/或项目内.claude/skills/。一个最小 Skill 结构~/.claude/skills/ └── blog-cover/ ├── SKILL.md └── scripts/ └── upload.pySKILL.md头部需要 frontmatter--- name: blog-cover description: 为博客文章生成封面图并上传图床返回可粘贴的链接 --- ## 步骤 1. 读取文章内容总结一个标题 2. 根据标题生成配图 3. 上传到图床 4. 返回 Markdown 图片链接description写得越具体模型匹配越准。启动时只加载 name 和 description匹配后才读完整内容。4. 验证请求确认工具调用链路生效配置写完不代表生效必须验证。分三步先验证 API 通道通再验证工具调用通最后验证 Skill 加载通。4.1 验证 API 通道用 curl 直接打 TaoToken 的 API确认 Key 和地址没问题curl -s https://taotoken.net/api/v1/messages \ -H x-api-key: sk-你的TaoTokenKey \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d { model: claude-sonnet-4-20250514, max_tokens: 64, messages: [{role: user, content: 只回复 ok}] }返回里能看到content字段且有文本说明通道正常。如果返回 401检查 Key返回 404检查 base_url 是否多了路径。4.2 验证工具调用在 Claude Code 里发一个必须用工具才能完成的请求比如帮我看看当前目录下有哪些文件然后读一下 README.md 的前 20 行观察输出里有没有Read、Bash(ls)之类的工具调用记录。如果模型直接编造文件列表说明工具没注册成功回去检查permissions.allow和 MCP Server 配置。4.3 验证 Skill 加载在对话里输入/看有没有列出你的 Skill 名或者直接说用 blog-cover 技能给 /tmp/test.md 配图如果模型回复里出现“加载 blog-cover”或直接执行了 Skill 里的步骤说明两阶段加载生效。没反应的话检查SKILL.md的 frontmatter 格式name和description必须存在。5. 本篇常见错排查配置和验证过程中下面几个错最常见。报错一401 Unauthorized。多数是 Key 没填对或者ANTHROPIC_AUTH_TOKEN和ANTHROPIC_API_KEY混用。Claude Code 系用ANTHROPIC_AUTH_TOKEN别写成ANTHROPIC_API_KEY。另外确认 Key 没有多余空格。报错二工具调用被拒绝。输出里出现permission denied或工具名被跳过。检查settings.json的permissions.allow把需要的工具加进去。调试阶段可以临时放宽但别长期全开。报错三Skill 不加载。模型完全无视 Skill。先确认目录层级对不对~/.claude/skills/skill-name/SKILL.md少一层都不行。再确认 frontmatter 的---是文件最开头前面不能有空行。还不行就用/skill-name强制调用排除是模型匹配概率问题。报错四MCP Server 连不上。日志里出现connection refused或list_tools timeout。检查 MCP Server 进程是否启动、端口是否被占、配置里的命令路径是否绝对路径。MCP 配置一般写在settings.json的mcpServers字段命令建议用绝对路径。报错五base_url 带了多余路径。比如写成https://taotoken.net/api/v1导致请求 404。TaoToken 的 base_url 就是https://taotoken.net/api具体路径由 SDK 拼接。排查顺序建议先 curl 验通道再验工具再验 Skill一层层往上排别一上来就怀疑模型。6. 接入与进阶入口如果你卡在 Key 或接入配置上先去 API Keys 页面创建和检查 Keyhttps://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。想先验证模型工具调用是否正常用模型对话页最快https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 。长期跑编码和 Agent 任务Coding Plan 入口https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。Claude Code 相关配置参考https://taotoken.net/claude-code?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecodeutm_campaignrewrite 。最后分享一个实用技巧把SKILL.md的description当成搜索关键词来写模型匹配靠的就是它。我一开始写得太泛Skill 经常不触发改成“为博客文章生成封面图并上传图床返回 Markdown 链接”之后命中率明显上来了。工具调用链路调通后剩下的就是不断往 Skills 目录里加你自己的流程。
企业数字化 ERP 产品动态
相关推荐
Copilot量化指标参数及其方法:用Metrics API与Power BI搭建Dashboard /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 18:09:28
苏州移动网站建设从零搭建避坑指南,拒绝被坑高价 苏州移动网站建设从零搭建避坑指南,拒绝被坑高价 找苏州建站公司最怕什么?不是代码写不出来,而是报价单上那些看不懂的术语,最后算下来比你自己 从零搭建… · 2026/9/27 18:09:10
网站设计做鼠标效果:3种方案+源码下载,告别模板丑感 网站设计做鼠标效果:3种方案+源码下载,告别模板丑感 模板网站太丑,客户一眼就拒?别急着砸锅重做,先看看你的鼠标交互是不是“木头人”。很多新手一上来就盯着页面布局,却忽略了鼠标跟随、悬停反馈这些细节。没有源码下载渠道,只会拖拽模板,做出来的… · 2026/9/27 18:08:58
Cursor 使用经验分享:用 TaoToken 统一 Key 打通 AI 编辑器配置链路 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 18:54:02
Mann-Whitney 统计量实战:用 TaoToken 统一 Key 跑通非参数检验配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 18:53:56
2026最新搭建微网站平台避坑指南:流量与转化实战 2026最新搭建微网站平台避坑指南:流量与转化实战 网站做好了没人访问,这是很多创业团队负责人最头疼的噩梦。你花了几万块找外包,或者自己摸索着把页面搭得漂漂亮亮,结果上线一个月,后台访问数据除了蜘蛛机器人就是零。别急着怪运气不好,90%的情… · 2026/9/27 18:53:44
OpenClaw 装完不会用?这份 GitHub 教程把配置讲透了(附 TaoToken 接入) /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 18:53:37
腾讯Marvis每天送1000万Token:Windows客户端AI管家配TaoToken实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 18:53:31
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01