不要把用 Claude Code 这种 Agent 去实现一个自定义工具想象得很简单。
这是 713 次会话后,我最痛的领悟。
🎯 核心洞察
预期可能很简单,但为了这个简单的预期能按预期执行,需要:
- 全局
CLAUDE.md配置 - MCP Servers 连接
- Skills 系统
- 插件环境
- 大模型 API
每一个环节不按预期,就达不到预期。
这个过程极有可能好几个环节都不按预期执行。
💡 为什么 Claude 在编码任务上显得高效
被 Claude Code 的编码能力”骗”了,是因为没看到背后的真相:
Claude 内部自身就有大量的 MCP、Skills、插件,经过无数次的调试和优化,自身就很稳定了。
所以:
| 表象 | 真相 |
|---|---|
| “什么代码都能迅速上手” | 背后是无数轮调试优化 |
| “改代码很高效” | 内置能力已经过千锤百炼 |
| “看起来很简单” | 稳定 infra 屏蔽了复杂性 |
不是它强,是它站在无数优化过的 infra 肩膀上。
🔧 自建工具的真实成本
当你想让 Claude Code 实现一个自定义工具时:
你以为的
1
2
用户:帮我弄个 XX 工具
Claude:好的
实际上的
1
2
3
4
5
6
第 1 轮:Skill 语法错误,不被识别
第 2 轮:MCP 配置格式不对,连接失败
第 3 轮:CLAUDE.md 规则冲突,行为异常
第 4 轮:权限问题,工具执行被拒
第 5 轮:模型上下文不够,理解偏差
第 6 轮:...
一个看似简单的自定义工具,可能要经过很多轮、很多环境、很多错误的尝试才弄出来。
📊 环节脆弱性分析
| 环节 | 可能失败点 | 影响 |
|---|---|---|
| CLAUDE.md | 规则冲突/语法错误 | 行为异常 |
| MCP | 配置格式/连接失败 | 功能不可用 |
| Skills | SKILL.md frontmatter 错误 | 不被识别 |
| 插件 | 依赖缺失/版本不兼容 | 执行失败 |
| 大模型 | 上下文窗口/理解偏差 | 输出错误 |
任意一环掉链子,整个链条就断了。
🏗️ 为什么官方编码能力强
因为官方的编码能力对应的 Skills/MCP/插件:
- ✅ 经过无数次真实场景测试
- ✅ 每个失败点都被记录并修复
- ✅ 配置已经被验证过 N 多次
- ✅ 错误处理有 fallback 机制
- ✅ 有完整的测试覆盖
它是一个稳定的产品,不是 DIY 实验品。
⚠️ 自定义工具的隐形成本
调试成本
| 阶段 | 耗时 | 说明 |
|---|---|---|
| 第 1 次尝试 | 30 分钟 | 基本技能开发 |
| 第 1 次失败 | 1 小时 | 排查为什么不触发 |
| 第 2 次失败 | 2 小时 | 发现 MCP 配置问题 |
| 第 3 次失败 | 3 小时 | 规则冲突导致行为异常 |
| 最终成功 | 半天 | 所有环节都对齐了 |
维护成本
1
2
3
4
CLAUDE.md 变更 → 需要回归测试
MCP 版本升级 → 可能不兼容
Skills 格式调整 → 需要迁移
模型更新 → 行为可能变化
你买的不是工具,是持续维护的责任。
🧠 正确预期
高成功率场景(官方能力范围内)
- ✅ 标准语言的标准任务(写 Python 脚本、改 Java 代码)
- ✅ 官方 Skills 覆盖的领域(SQL 优化、Java 性能分析)
- ✅ 常见框架的配置(Spring Boot、React)
高风险场景(需要自定义)
- ⚠️ 企业内部系统对接
- ⚠️ 特定业务逻辑处理
- ⚠️ 跨多个工具的组合流程
- ⚠️ 需要凭证/权限的操作
官方能力越强,对比之下自定义就越脆弱。
📝 血泪建议
如果你也想基于 Claude Code 构建自定义工具:
1. 先验证链路
1
最小 Skill → 最小 MCP → 最小规则
每个环节单独验证,不要一起上。
2. 记录每个坑
我在 patterns.md 里已经记录了:
- Skill frontmatter 必须包含
version: 1.0.0 - MCP 配置后需要运行
/mcp list验证 - 修改 CLAUDE.md 后可能行为变化
3. 接受失败率
3 次尝试成功算正常,5 次以内算合理,超过 5 次要重新设计方案。
4. 优先用官方能力
能不改代码就不改,能不改配置就不改。
因为官方的东西,经过了比你多得多的测试。
🌅 尾声
Claude Code 的编码能力确实强,但:
它的强,来自于背后稳定的 infra,不是它本身多神奇。
当你想自定义工具时:
你不是在写代码,你是在搭建一个 mini 版 Claude。
而 Claude 的 infra,是无数个工程师用无数次失败换来的稳定。
所以,别被它的编码能力骗了。
能不改就别改,能用官方就别自己造。
因为:
最好的系统,不是不能再加东西,而是不能再减东西。
最好的工具,不是能做任何事,而是做该做的事足够稳。