点击蓝字

关注我们
/2026/5/18
给AI设计工具,和给人设计,底层逻辑是反的
想象有人给你一道很难的数学题,你需要什么工具?
纸和笔是最低配,能算,但全靠手。计算器好一点,得会用高级功能。最快的是给你一台电脑,提是你得会写代码。
工具的段位要匹配人的段位。
那问题来了:如果是给AI选择工具呢?
Anthropic的Claude Code团队最近发了一篇文章,讲他们给AI设计工具时反复踩的坑。标题很有意思,叫"像agent一样思考"。
核心结论只有一句:工具设计不是API设计,是行为设计。你的用户不是人,是一个模型。
先说他们一个开发小功能的故事。
他们想让Claude能主动向用户提问。比如写代码之前问一句"你用React还是Vue"。Claude本来就能在文字里问,但用户得手动打字回,实在太慢了。
于是他们迭代了几版:
第一版:在现有的计划工具里加个提问参数。
思路很直接:Claude出计划的时候顺便列几个问题。结果,Claude懵了。用户回答完,跟原来的计划冲突了怎么办?该不该再出一版计划?它不知道要不要调两次工具。
第二版:让Claude用一套特殊格式输出。
他们设计了一种标记语言,Claude用这种格式提问,前端能解析成选择题弹窗。问题是Claude不老实。有时候在问题后面多嘴加句子,有时候漏掉选项,有时候干脆不用这套格式。不管怎么调提示词,都稳不住。
第三版:做一个独立的提问工具。
就叫AskUserQuestion。Claude随时能调用,调用之后前端弹出一个标准选择框,用户选完Claude才能继续。
这一次,成了。
有意思的不是成了。是为什么前两次没成。
前两次都是从"人怎么方便"出发的:加个参数省事、改输出格式通用。第三个版本是从"Claude怎么理解这件事"出发的,独立工具,参数明确,Claude一调就知道自己该干嘛,不用猜。
给AI设计工具,别问你用起来方不方便。要问它能不能一眼看懂。
Claude Code早期有个叫TodoWrite的工具,让Claude写代码前列个待办清单。
后来模型升级了,问题来了。升级后的Claude本来能自己管理复杂的多步骤任务,不需要清单。但TodoWrite还在那儿,系统每隔几轮还会提醒它"别忘了你的待办清单"。
结果呢?Claude反而被框死了。被反复提醒之后,它以为"我得严格按照清单走",该调整的时候不调整了。
于是他们把这个工具撤了,换成Task工具,不是用来"管住Claude",而是让多个子agent之间协调任务。
模型的能力变了,正确的工具也跟着变了。以前帮它的东西,现在在害它。
还有一个更底层的设计思路。
Claude Code现在大约20个工具。加一个新工具的门槛极高,每多一个工具,Claude多一个选项要判断,速度和准确度都受影响。
那怎么扩展能力?不是多加工具,是让Claude自己去找。
他们管这叫"渐进式披露":开始只给Claude最小上下文,它需要什么自己搜。比如让Claude能读技能文件、搜代码库、调子agent。能力还是那些能力,但实现方式不是"多加一个按钮",是"让它自己伸手拿"。
他们还做了个叫Claude Code Guide的子agent。用户问"Claude Code怎么配MCP",Claude不是去翻全量文档塞进上下文,而是调这个子agent去查,子agent只把答案带回来。
能力加了,工具没加。
文章最后说到:
"是艺术,不是科学。"
先搞清楚AI怎么想,再设计它怎么用。别反过来。

花鲨观点
如果你觉得有趣
欢迎点赞关注转发
这会对我很有帮助~
夜雨聆风