链载Ai
标题: Skills比MCP更重要?更省钱的多!Python大佬这观点老金测了一周终于懂了 [打印本页]
作者: 链载Ai 时间: 6 天前
标题: Skills比MCP更重要?更省钱的多!Python大佬这观点老金测了一周终于懂了
ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">上周在论坛刷到一篇文章,标题直接把老金我看愣了:ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">
ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">"Claude Skills are awesome, maybe a bigger deal than MCP"ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">
ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">给和老金我一样英语不好的翻译一下:ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">"Claude 的技能非常出色,或许比 MCP 更重要。"ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">
ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">作者是Simon Willison。ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">
ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">不认识?Django联合创始人,Python界的大佬,Datasette作者。
说实话,老金我近三周对Skills的理念有大幅更新。
以前我知道Skills厉害,但理解不够深。
直到最近才真正搞明白它能大幅节省token这个点。
昨天在付费课上我也专门讲了这个:
很多同学MCP装了一堆,结果token都浪费在工具定义上了。
Skills按需加载这个设计太关键了。
先给小白科普一下
什么是MCP?
MCP就是Model Context Protocol(模型上下文协议)。
简单说,就是让AI能调用外部工具的一套标准。
比如你想让Claude能查数据库、能操作浏览器、能发邮件,就需要配置MCP服务器。
什么是Skills?
Skills就是技能包。
核心是一个SKILL.md文件(这是唯一必需的),告诉Claude怎么做某件事。
简单的Skill可以只是一个Markdown文件。
复杂的Skill可以是一个文件夹,包含脚本、文档、模板等。
比如你写一个"代码分析"的Skill:
1、简单版:一个SKILL.md,写清楚分析步骤
2、完整版:一个文件夹,里面有SKILL.md + scripts/分析脚本.py + templates/报告模板.md
区别在哪?
MCP:像给AI装了个外部APP,需要配置服务器、定义接口
Skills:像给AI写了个操作手册,最简单就是一个Markdown文件
重要补充:Skills和Plugins的区别
很多人搞混这两个概念,老金我给你讲清楚:
1、Skills:单一工作流模板(一道菜的菜谱)
- 本质是prompt-based的指令系统,不是代码
- 通过"prompt expansion"工作,不能直接调用MCP
- 但可以在指令中告诉Claude使用已配置的MCP工具
2、Plugins:打包好的能力集合(整套预制菜包)
- 可以包含多个Skills + Commands + Hooks +MCP servers
- 如果你需要打包MCP,应该用Plugins而不是Skills
大佬的核心观点:4个理由
Simon Willison给出了4个理由,老金我一个个给你拆解。
理由1:Skills简单到离谱
MCP是什么?
一个完整的协议规范。
看看它包含什么:
1、hosts(主机)
2、clients(客户端)
3、servers(服务器)
4、resources(资源)
5、prompts(提示词)
6、tools(工具)
7、sampling(采样)
8、3种传输协议(stdio、HTTP、SSE)
老金我配一个MCP服务器,光看文档就要半小时。
Skills呢?
最简单的情况:一个SKILL.md文件。
没了?还真是。
官方文档说得很清楚:SKILL.md是唯一必需的文件。
当然,如果你想做复杂的Skill,可以加上:
1、instructions/ 放详细指令文档
2、prompts/ 放提示词模板
3、templates/ 放代码/文档模板
4、config/ 放配置文件
但核心就是那个SKILL.md,其他都是可选的。
重要提醒:SKILL.md需要包含YAML frontmatter:
---
name: my-skill-name
description: 描述这个Skill做什么、什么时候用
---
# 技能名称
[具体指令内容]
大佬原话:
"Skills feel a lot closer to the spirit of LLMs - throw in some text and let the model figure it out."
翻译:Skills更符合LLM的精神——扔点文字进去,让模型自己搞定。
老金我的理解:MCP是给程序员设计的,Skills是给人设计的。
理由2:CLI工具可以替代MCP
这个观点老金我一开始不太认同,但仔细想想确实有道理。
大佬说:
"Almost everything I might achieve with an MCP can be handled by a CLI tool instead."
翻译:几乎所有MCP能做的事,CLI工具也能做。
为什么?
因为LLM知道怎么调用cli-tool --help。
模型自己能看懂帮助文档,不需要你在prompt里花几百个token描述怎么用。
Skills更进一步:连CLI都不需要了。
你只要写个Markdown文件描述任务怎么做,Claude自己就能搞定。
老金我测试了一下:
1、用MCP调用GitHub API:需要配服务器、写工具定义、花几千token
2、用Skill教Claude用gh命令:一个Markdown文件,200token
效果差不多,但Skill省了90%的配置时间。
理由3:Token效率差距巨大
这个是老金我最有感触的。
大佬提到一个恐怖的数据:
GitHub的官方MCP定义,光注册就要吃掉几万个token。
老金我之前写过一篇文章说MCP吃掉7%脑容量,现在看来还是保守了。
你想想,200K的上下文窗口,光一个GitHub MCP就吃掉几万。
再加几个常用服务器,prompt还能剩多少空间?
Skills呢?
只在需要的时候加载。
Claude不会一开始就把所有Skills塞进上下文。
它会看你的任务,判断需要哪个Skill,然后才加载。
老金我实测(仅供参考,不同配置结果可能不同):
1、配置5个MCP服务器:prompt占用约15K token
2、安装10个Skills:prompt占用约2K token(只加载用到的)
省了85%!
理由4:分享起来太简单了
MCP服务器怎么分享?
1、写代码
2、发布到npm/pip
3、写README
4、让用户配置.mcp.json
5、调试连接问题
Skills怎么分享?
1、写个SKILL.md(或整个文件夹)
2、发出去
没了。
补充说明:分享的几种方式
1、简单分享:直接发文件夹给朋友,放到.claude/skills/目录下
2、Claude.ai:打包成ZIP上传到Skills设置页面
3、Claude Code:通过Plugin marketplace分享
比如之前讲过的:
/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-Agent-skills
大佬说很多Skills就是单个文件,复杂点的也就一个文件夹。
老金我看了awesome-claude-skills仓库,4000多Star。
里面的Skills大部分就是一个SKILL.md或README.md。
复杂的也就是一个小文件夹,包含几个脚本。
这门槛也太低了。
| 欢迎光临 链载Ai (http://www.lianzai.com/) |
Powered by Discuz! X3.5 |