Claude 使用教程
首先说明:这篇文章是我的个人见解,部分内容来自网络,若有侵权请私信!,若有什么说错的可以评论欢迎指正。
Claude Code介绍
在绝大部分人的认知中有一个误差,就是给大模型提供工具,大模型就直接能够直接使用工具然后获取数据,调用外部服务,其实并不是这样的,而是大模型没有直接使用工具的能力,而是靠agent进行工具的调用,就类比于LLM就是我们人体的大脑,agent就是我们人体的四肢,总不可能我们用大脑意念操控电脑进行编程吧。agent里面有大模型可以调用的工具,然后LLM下发指令让agent使用工具,拿到想要自己想要的数据。
无论是claude code 还是其他的AI编程工具,他们都是一个agent,他们的运行原理都是相同的,首先用户进行提问,agent工具就会将用户提问以及自己可用的工具列表一并发给大模型,然后大模型拿到用户的问题以及agent可以使用的工具列表进行分析决策,若有要用的到什么工具则会下发指令给Agent,然后agent进行调用工具拿到数据返回给大模型,然后LLM整合获取的数据进行分析,返回用户提问的解决方案,下面是用户使用agent 提问的一个案例
前提:
agent含有的工具列表 ->查询天气工具,写文件工具
用户提问:今天天气怎么样?将天气数据返回写入到weather.md中
发送查询天气工具,写文件工具等工具列表+用户提问
用户提问--->agent----------------------------------------->LLM
下发查询天气工具参数 使用查询天气工具获取数据,返回
LLM--------------------->agent------------------------------>LLM
分析数据,下发写文件参数以及写入内容 调用写文件工具,将内容写入文件
LLM-------------------------------> agent---------------------------->weather.md
上面就是claude code的一个工作原理.
Claude Code安装部署
这个可以参考我的另外一篇Claude Code 安装教程
Claude code +agent skills
agent skills 就类似于一本带着目录的说明书, 也体现出了提示词的渐进式披露的设计模式,这一理论由claudecode官方首次进行发布进行规范,其他开源的ai编程工具也可以使用agent skills 例如codex ,opencode等
agent skills主要的目录以及目录下放的类型未见是什么呢?,下面是官方给的:
my-skill/ ├── SKILL.md # Required: instructions + metadata --必须 ├── scripts/ # Optional: executable code --可执行的代码 ├── references/ # Optional: documentation --额外补充的说明文件 └── assets/ # Optional: templates, resources --图片等
下面是skills.md的样例模板:

其中元数据是关键,为什么这么说呢,根据他的工作原理就可以知道了,当我们进行提问的时候,claude code 会扫描所有的skill.md文件中的元数据,并将元数据以及用户的提问一并发给ai大模型,ai大模型接受到用户提问以及元数据信息,会先分析用户的提问,若提问符合某个skill的元数据描述,他就会将对应的skills文件找出来,并且读取对应skill.md中的详细描述,这样可以大幅度减少上下文的大小,大幅度减少token,这个工作模式就说明了为什么称他为是一本带着目录的说明书.
那么他怎么可以读取到references目录下面的补充文件内容呢?,下面案例来说明这一疑问:

在这个skill.md中在详细描述中指明了当是软件/计算机相关的材料才会触发然后才会让ai大模型读取references里面的内容,也就是按需加载,当没有触发这一条件的时候不会让其读取references目录中的文件
claude code在agent skills中也可以调用已经编写好的代码脚本,这个代码脚本内容不会直接交给大模型,而是大模型直接执行放在script文件夹中对应的脚本,这一操作还是得我们在skill.md文件中进行声明
可以看到,无论是我们在调用脚本或者是其他得补充文件得时候,我们都需要在SKILL.md文件中得详细描述中进行声明,这样大模型就可以在读取到详细描述得时候就可以进行下一步了。
可以看到,我们写一个skill是多么得麻烦,看都不想看,不用担心,许多得达人在github上已经开源了许多得skills,可以直接拷贝到自己得项目目录中来,可以直接使用

如果我们在发现探索很多得skill得时候发现没有符合我们自己当前需求得skill,这时候就可以使用claude官方开源得skill-creator这个技能,这个技能就是使用skill创建一个skill



然后输入我们得需求:
请你使用skill-creator这个skills创建一个单测助手skill,他主要的职责就是查看java项目中每个模块的业务代码进行创建对 应的单测,用户首次说出写出单测时,应该首先查找ready-coding-test.md这个文件,若没有走后面的流程:读取整个java项目 查看每个模块以及写好的test,找出未编写单测的类,并且将未编写单测的类列出一个清单写入到ready-coding-test.md这里面 是全部未编写java单测类,方便后续加载这个文件快速找到未编写的单测的类。在编写单测的时候应该首先读取该编写类的该模 块下的pom文件(都是maven项目)查看相关的junit 以及mockito插件(若未配置则自动配置,将配置内容首先展示给用户查看, 若用户审阅无误后,添加到对应的pom文件中),然后进行编写单测,首先展示想要编写测试类的名称给用户查看,用户确认后进 行编写单测,测试覆盖率要尽量达到100%,不要写的很复杂,主要完成覆盖率就可以了,然后编写完单测后用户查看无误后写入 到对应的目录中,要给用户展示创建测试类的名称以及将要写入的目录位置,用户无误后进行写入到目标目录中,写入完成后运 行该单测文件,自动修复所存在的问题(注意!不能修改用户源代码中的东西,可以修改该单测文件内容以及依赖问题),操作 都需要用户同意后进行操作。若在编写的过程中有不确定的点什么的需要即使与用户沟通
根据ai得指示到最后就会省成一个技能为java-unit-test-helper这个skill





可以看到,使用官方给的skill创建skill他写的内容是非常得全面。
Claude code +MCP
如果说skills是一本带有目录的说明书,那么MCP就是一个工具箱,里面放好了已经定义好的一些程序,可以使用agent直接调用他.
MCP是什么?
Model Context Protocol (MCP)
-
MCP 是一个标准协议,就像给 AI 大模型装了一个 “万能接口”,让 AI 模型能够与不同的数据源和工具进行无缝交互。它就像 USB-C 接口一样,提供了一种标准化的方法,将 AI 模型连接到各种数据源和工具。
-
MCP 旨在替换碎片化的 Agent 代码集成,从而使 AI 系统更可靠,更有效。通过建立通用标准,服务商可以基于协议来推出它们自己服务的 AI 能力,从而支持开发者更快的构建更强大的 AI 应用。开发者也不需要重复造轮子,通过开源项目可以建立强大的 AI Agent 生态。
-
MCP 可以在不同的应用 / 服务之间保持上下文,从而增强整体自主执行任务的能力。

MCP 遵循客户端 - 服务器架构,包含以下几个核心部分:
-
MCP 服务器(MCP Servers):为 MCP 客户端提供上下文、工具和提示信息。
-
本地资源(Local Resources):本地计算机中可供 MCP 服务器安全访问的资源,如文件、数据库。
-
远程资源(Remote Resources):MCP 服务器可以连接到的远程资源,如通过 API 提供的数据。
MCP 的工作流程可以简单概括为以下几个步骤:
-
连接:MCP 主机连接到一个或多个 MCP 服务器。
-
请求:主机发送请求以获取数据或执行工具。
-
处理:服务器处理请求,访问相关数据源或外部服务。
-
返回:服务器将结果返回给主机。
-
生成响应:主机将信息提供给 AI 模型,用于生成用户响应。
claude安装mcp工具
简单案例:使用Playwright搜索新闻
Playwright 已经是目前增长最快、最受欢迎的网页自动化工具。Playwright MCP 的存在,更是彻底解决了 AI 模型在网页操作上的核心痛点,让 AI 驱动的网页自动化成为了现实。无论是自动化测试,还是爬取网页数据,这个 MCP 通通可以搞定!并且提供无头版的,再也不用手动点点点了。
安装playwrite(全局安装)
# 窗口版
claude mcp add -s user playwright -- npx @playwright/mcp@latest
检查是否安装成功
进入到claude codeai编程程序,输入下面命令,然后出现下面的内容说明此mcp已经安装成功了
/mcp
然后我们运行我们第一个mcp工具:
继续输入:
请你使用Playwright这个mcp工具首先打开浏览器然后搜索这个新闻网站:https://top.baidu.com/board,并且找到热榜位置,提取前3的标题以及总结每个热榜的正文内容,将总结的内容写入到hot_news.md文件中,读取一个热点后进行写入,后面进行更新,建议是直接先读取前五的标题,然后先构建文件大体内容,后面详情就直接填入就好了
根据ai继续向下走就行了,然后就会得到一个下面文件内容:

方式二:使用配置文件进行部署
1.前提:本地部署git mcp server:
pip install mcp-server-git
2.在项目根目录添加一个.mcp.json的文件,添加一个git的mcp工具
{
"mcpServers": {
"git": {
"command": "python",
"args": [
"-m",
"mcp_server_git"
],
"env": {
"GIT_REPO_PATH": "."
}
}
}
}
保存后,重启claude code,然后运行/mcp看看是否安装成功
安装好之后,我们可以使用ai来进行操作git,让他为我们的项目添加一个readme.md文件并且推送到远程仓库上
请你为这个项目创建一个完整的readme.md文件进行介绍这个项目内容,然后将修改好的文件使用git mcp工具进行commit以及push到远程仓库上,提交commit信息要描述一下



Claude code +agent skills +MCP
上面我们会了mcp以及skills各有各的特点,我们可以将两者进行合并,从下面的案例我们来创建一个skill+mcp的agent skill:
请你使用skill-creator这个skills创建一个项目README.md更新助手skill,这个skill的职责是:首先要查看是否当前java项目是否 配置远程仓库,若没有配置则引导用户配置,配置完成后,使用gitmcp工具先查看当前远程仓库的分支,然后让用户选择需要上传的 分支,然后调用gitmcp工具查看当前的分支,若不是用户选择的分支则使用gitmcp工具切换到用户指定的远程仓库分支,然后检查ja va项目中根目录下有没有README.md的文件,若有则更新,若无则先创建,大致格式的md文件格式已经放在根目录中的Java-README-T emplate.md文件中,在创建时放入到references目录中。然后阅读整个java项目,然后仔细思考总结整个项目将总结内容进行新增/ 修改README.md文件。将新增或者是修改内容先给用户查看,仔细耐心回答用户的问题,有不清楚的地方需要给用户沟通然后确定最 终md文件,然后新增/修改到JAVA项目根目录下的README.md文件,更新完成过后,则使用git mcp工具中的git_commit 提交修改项,修改描述可以先自动生成,然后让用户选择或者是让用户自己提供给你。提交后然后将修改内容push到远程仓库中,然 后检查是否push成功。
这个skill就是引导用户配置好当前的项目的远程仓库,然后扫描java项目然后更新README文档并且提交到指定的git远程仓库
Claude code +agent teams
这是官方最新退出的一个测试功能有兴趣可以看看他们的官方文档,有兴趣也可以看这篇帖子
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐





所有评论(0)