Tags

#tool-use

6posts

Day 133

Day 133 · 工具多了怎么办:Tool Search、延迟加载与工具检索

给云簿后台造 60 个工具,实测一次全挂上要 4539 个 prompt token,只挂一个搜索工具是 482。今天讲 Anthropic 和 OpenAI 原生的 Tool Search、Claude Code 的 MCP 延迟加载,再在 Day 9 的循环里自己实现一个:BM25 和 embedding 两种检索、30 条用例测选工具的召回率,最后看一次真实轨迹里检索漏掉工具时模型会怎么错。

Day 132

Day 132 · 代码即动作:CodeAct、Code Mode 与程序化工具调用

让模型不再一次调一个 JSON 工具,而是写一段 Python 批量调用工具、在代码里过滤和汇总,只把结果交回上下文。讲 CodeAct 论文、smolagents、Cloudflare Code Mode、Anthropic 程序化工具调用,自己写一个带工具桥的执行器,实测同一道题 JSON 做法和代码做法的 token 和正确率,最后讲沙箱为什么必须有、怎么选。

Day 46

Day 46 · 业务工具:订单/账单 MCP server 与退款审批

写 SupportPilot 的业务工具:查客户、订阅、账单,退款规则写死在代码里并用剧情客户测试,退款只能创建待审批申请。按权限分级注册给模型。对接企业系统:审批通知推到飞书/钉钉/企业微信群,加一个只读、带 SQL 校验和行级隔离的 text-to-SQL 工具。最后包成 MCP server,在 Claude Desktop 里查账单。

Day 22

Day 22 · MCP 是什么:为什么大家都在接 MCP,协议里有什么

MCP 把「给 AI 应用接工具」这件事标准化了。今天把 host、client、server 三个角色,tools、resources、prompts 三种能力,JSON-RPC 消息和两种传输方式一次讲清,顺便说明它和 function calling 到底是什么关系。

Day 11

Day 11 · 好工具怎么设计:命名、描述、参数、返回值和报错

同一个模型,换一组工具定义,表现可以从「到处乱翻」变成「两步命中」。今天对照 Anthropic《Writing effective tools for agents》,把一组能用但难用的笔记工具改造成模型顺手的样子,并用实测的字符数说明为什么返回值要精简。

Day 08

Day 8 · Function calling:模型怎么「调用」函数(它其实只写了一段 JSON)

拆掉「模型会执行代码」的误会:模型只负责写出要调哪个函数、传什么参数,真正执行的是你的程序。今天把一次工具调用的完整往返跑通,逐字段读懂 tools、tool_calls 和 tool 消息,再对照 Anthropic 的写法。