ClaudeCode基础介绍
本文介绍了Claude Code的基础概念和环境搭建方法。主要内容包括:大模型、智能体、提示词、Token等核心概念;提示词工程的五大要素(指令、上下文、示例等);AI记忆类型(短期、长期、参数化记忆);上下文窗口与上下文的区别;多模态和模型幻觉现象。环境搭建部分详细说明了Claude Code的安装(支持Windows/Linux/macOS)、更新机制、配置文件设置(settings.json
ClaudeCode基础介绍
一些小基础
大模型
大模型是指具有超大规模参数(通常在十亿以上)和复杂计算结构的深度学习模型,通过海量数据预训练,实现强大的泛化能力,能够适应多种下游任务,如文本生成、翻译、问答、图像生成等
智能体
OpenAi对AI Agent的定义是:以大模型为核心驱动,具有自主感知需求、拆解任务、记忆信息、调用工具能力,能够端到端完成复杂任务目标的智能系统。
提示词
提示词(Prompt)是用户输入给大语言模型的指令、问题或上下文信息,用于引导模型生成特定响应。它是人与AI交互的核心工具,相当于对模型下达的“任务命令”。一个清晰的提示词能让AI更准确地理解你的意图,从而输出符合预期的内容。
Token
Token是LLM(大语言模型)进行自然语言处理中的基本单元,是AI模型“看得懂”的最小语义片段,相当于语言的“积木块”。它不一定是完整的单词或汉字,而是根据模型分词规则拆解后的信息颗粒。
注意点:
不同模型的Token上限是不同的
模型在进行输入和输出都是需要消耗token的,不同模型的token的价格也是不同的
提示词工程
设计和优化输入指令,旨在引导大语言模型生成更准确、更有用的输出。它不是简单地提问,而是通过结构化、精细化的表达方式,让AI真正理解你的意图,从而提升交互效率与结果质量。
提示词工程的五大核心要素
| 要素 | 说明 | 示例 |
|---|---|---|
| 指令(Instruction) | 明确告诉模型要做什么 | “写一篇关于气候变化的科普文章” |
| 上下文(Context) | 提供背景信息帮助理解任务 | “目标读者是中学生,语言要通俗易懂” |
| 示例(Example) | 展示期望的输出风格或格式 | 给出一段范文作为参考 |
| 输入数据(Input) | 用户提供的具体内容 | “请基于以下数据撰写报告:……” |
| 输出要求(Output Format) | 指定输出形式 | “输出为三个要点,每点不超过50字” |
记忆
大模型本身在基础架构层面没有持久化的长期记忆能力,它无法像人类一样自然记住过去的交互。每次对话对它来说都是“从零开始”的独立事件。
AI记忆的主要类型
- 短期记忆
- 长期记忆
- 参数化记忆
短期记忆
大模型的短期记忆主要通过**上下文窗口(Context Window)** 实现。
在一次会话中,系统会将之前的对话历史、推理步骤等信息作为输入的一部分传递给模型,使其能够理解当前语境并做出连贯回应。
长期记忆
为了突破上下文长度限制,大模型需要借助外部系统实现长期记忆。最主流的技术是**检索增强生成(RAG)**,即把重要信息存入外部数据库,在需要时检索并注入上下文。
参数化记忆
知识被编码在模型本身的权重中,是预训练阶段“学到”的通用知识。
上下文窗口
模型在生成响应时能够同时处理和参考的最大文本长度,它决定了AI能“记住”多少上下文信息,是影响对话连贯性、长文本理解与复杂任务执行的关键技术参数。
上下文
模型在处理当前任务时所能“看到”和参考的所有信息总和,它是模型理解用户意图、维持对话连贯性、完成复杂推理的基础。你可以把它理解为AI进行思考时的“背景知识”或“当前工作区”。
上下文窗口与上下文
上下文(Context)是指模型在生成响应时所参考的所有输入信息,包括用户提问、对话历史、系统指令、附加文档等内容。它是模型理解当前任务的“语境”,决定了AI能否连贯、准确地回应。
上下文窗口(Context Window)则是指模型单次处理这些信息的最大容量限制,以Token为单位,相当于一块有限的“记忆白板”——板子有多大,决定了能写多少内容。
- 上下文 = 内容本身(记了什么)
- 上下文窗口 = 容量上限(能记多长)
| 维度 | 上下文(Context) | 上下文窗口(Context Window) |
|---|---|---|
| 本质 | 模型处理的具体信息内容 | 模型可处理信息的最大长度限制 |
| 类比 | 白板上的文字 | 白板本身的大小 |
| 决定因素 | 用户输入、对话历史、附加数据等 | 模型架构与技术实现(如位置编码、注意力机制) |
| 影响 | 决定模型是否理解你的意图 | 决定模型能容纳多少上下文信息 |
多模态
多模态在AI中指的是能够同时处理和理解多种类型数据(如文本、图像、音频、视频等)的人工智能系统。它通过融合不同模态的信息,实现更全面的感知、理解和生成能力,从而让AI更接近人类的认知方式。
大模型幻觉
大语言模型在生成内容时,输出看似合理但事实上错误、无根据或与输入信息不符的信息。这种现象并非模型“有意欺骗”,而是其基于概率预测机制和训练数据局限性所导致的系统性偏差。
Claude Code环境搭建
Claude Code安装
-
Windows系统
-
PowerShell
irm https://claude.ai/install.ps1 | iex -
CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
-
-
Liunx与macOS系统
curl -fsSL https://claude.ai/install.sh | bashnode安装
npm install -g @anthropic-ai/claude-code
Claude Code中常用文件
Settings文件
settings.json 文件是用于通过分层设置配置 Claude Code 的官方机制
- 用户设置在
~/.claude/settings.json中定义,适用于所有项目。 - 项目设置保存在您的项目目录中:
.claude/settings.json用于检入源代码管理并与您的团队共享的设置.claude/settings.local.json用于未检入的设置,适用于个人偏好和实验。Claude Code 将在创建.claude/settings.local.json时配置 git 以忽略它。
PS:还是会有一些配置存储在
~/.claude.json中,包含偏好(主题、通知设置、编辑器模式)、OAuth 会话、用户和本地作用域的 MCP server配置、每个项目的状态(允许的工具、信任设置)和各种缓存
Claude Code更新
Claude Code 安装后会默认进行自动更新,保持版本是最新状态,但是注意 Homebrew 和 WinGet两种方式安装不会自动更新,需要进行手动更新。
配置Claude Code自动更新方式
在Claude命令行中通过/config命令打开,或将其添加到settings.json文件中
{
"autoUpdatesChannel": "stable"
}
// "latest"(默认):在新功能发布后立即接收
// "stable":使用通常约一周前的版本,跳过有重大回归的发布
禁用自动更新
配置环境变量或者配置到settings.json文件中
export DISABLE_AUTOUPDATER=1
手动更新
在claude命令行中执行
claude update
Claude Code卸载
-
Windows系统
-
PowerShell
Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force -
CMD
del "%USERPROFILE%\.local\bin\claude.exe" rmdir /s /q "%USERPROFILE%\.local\share\claude"
-
-
Liunx与macOS系统
rm -f ~/.local/bin/claude rm -rf ~/.local/share/claude
node
Claude Cod对接第三方模型
购买模型
选择一种平台进行模型购买
阿里百炼 首月7.9 第二个月20元,使用链接购买会给一个10元优惠卷。

修改避免登录
编辑或新增 .claude.json 文件,MacOS & Linux 为 ~/.claude.json,Windows 为C:\Users\您的用户名.claude.json,添加以下内容
{
"hasCompletedOnboarding": true
}
示例:
{
"firstStartTime": "XXXXXX",
"opusProMigrationComplete": true,
"sonnet1m45MigrationComplete": true,
"userID": "XXXXX",
"hasCompletedOnboarding": true
}
方式一:手动修改
Windows cmd命令
# 创建目录
if not exist "%USERPROFILE%\.claude" mkdir "%USERPROFILE%\.claude"
# 创建并打开文件
notepad "%USERPROFILE%\.claude\settings.json"
macOS/Linux命令
nano ~/.claude/settings.json
编辑配置文件
示例是阿里百炼qwen3.5-plus
# `YOUR_API_KEY` 需替换为您的 API Key
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
"ANTHROPIC_BASE_URL": "https://coding.dashscope.aliyuncs.com/apps/anthropic",
"ANTHROPIC_MODEL": "qwen3.5-plus"
}
}
PS:环境变量中
ANTHROPIC_AUTH_TOKEN和ANTHROPIC_BASE_URL优先级高于配置文件
整体配置各类模型都差不多,其他模型具体配置可以直接询问对应模型ai
方式二:cc-switch
使用cc-switch对使用模型进行切换,可以快速切换 Claude Code 的 API 配置

参考网站
Claude Code第一次的小尝试
打开Claude Code
在创建好的目录菜单下输入命令
claude
Claude Code的四种模式
模式的切换使用 shift+tab键进行切换
| 模式名称 | 提示 | 用途 |
|---|---|---|
| 默认模式 | ? for shortcuts |
进入Claude Code 的默认模式 |
| 自动模式 | accept edits on |
在该模式下,Claude Code 不会去询问用户是否创建文件或者修改文件 |
| 规划模式 | plan mode on |
只讨论方案、不进行执行、不修改文件 |
| 纯自由模式 | bypass permission on |
这个模式普通状态下是没有的,需要在启动 Claude Code 时加上参数:--dangerously-skip-permissions 才会出现 |
| 终端命令 | for bash mode |
执行具体的终端命令 |
默认模式
在该模式下,每次创建文件或者是修改文件的时候,它都会去询问用户的意见。
自动模式
在该模式下,Claude Code 不会去询问用户是否创建文件或者修改文件,最为方便。
规划模式
只讨论方案、不进行具体的执行、不修改文件。
要善用这个模式,在具体执行计划前建议使用plan规划方案,可以减少token的使用。
纯自由模式
纯自由模式将会完全绕过所有权限检查,任何 Bash 命令、MCP 工具都会自动执行,让Claude Code 彻底放飞自我(有点危险),而自动模式仅自动批准文件编辑。
claude --dangerously-skip-permissions
终端命令模式
在问题输入框中输入一个英文的感叹号 !,Claude Code 就会进入bash mode,然后就可以输入终端命令操作计算机。
可以执行如打开文件 open index.html等操作
Claude Code的一些快捷键
回车 shift+enter
打开编辑器 ctrl+g
Claude Code记忆
Claude Code上下文管理(短期记忆)
回滚撤销
在claude命令行中执行/rewind或者是按两下Esc键就可以打开Claude Code上下文管理界面,选择对应要回滚的位置,按下enter键

会弹出的回滚操作界面,在该界面中选择要执行的回滚操作(如回滚会话与代码等)

注意事项
- Claude Code回滚只能回滚由Claude Code自己管理的文件,在过程中使用命令行方式创建的文件无法撤销删除
- 如果在一个会话中对同一问题回滚了两次以上,上下文会被失败的方法污染。建议运行
/clear并使用更具体的提示重新开始
回到历史对话
执行命令/resume
或者打开claude时执行 claude -c,这样打开claude时默认打开上一次的会话
上下文压缩
执行/compact,进行上下文的压缩,在压缩过程中可以加入引导词进行压缩策略调整如 /compact 重点保留对需求的规划信息。在完成压缩后可以使用 ctrl+o查看压缩后的上下文内容
清空上下文
执行/clear清空历史上下文
Claude Code上下文管理(长期记忆)
CLAUDE.md 是 Claude Code 长期记忆方式,根据不同存放目录的位置,对应提供不同级别的行为约束。在 Claude Code 运行时,它会读取所有级别的CLAUDE.md文件按照优先级(系统级最高,后续是项目、用户优先级高的会覆盖低的),将其内容注入到模型上下文中,用于约束行为(代码风格与规范、git 规范)、提供项目背景、**设定安全边界(禁止修改哪些目录)**等等。这样就不用每重新新开一个会话 Claude Code将对应的背景约束等条件遗忘。
初始化一个CLAUDE.md
/init 命令自动生成一个CLAUDE.md,可以在这个基础上继续添加要求。也可以直接手动创建一个CLAUDE.md
查看编辑CLAUDE.md
/memory 命令,可以用来打开并编辑 CLAUDE.md。也可以直接使用文本编辑工具进行编辑修改。
Claude Code的其他高级用法
MCP
MCP是什么
MCP 是 Model Context Protocol(模型上下文协议)的缩写。可以把它形象地理解为AI 领域的“万能插座”或“USB-C 接口”。
它的核心作用是标准化大型语言模型(LLM)与外部数据源和工具之间的连接方式。它让不同的AI模型能用一种统一的“普通话”,去调用各种原本使用不同“方言”的工具和数据。
简单来说MCP就是 用由某种ai应用发送的特定请求或json,去请求MCP Server得到需要的数据,这段过程中的一种协议。
那么其实MCP你就可以理解为他是一个api请求服务,具体要使用那个请求,请求中参数如何设计那是由大模型进行决定的。
mcp只负责列出每个MCP Server由那些tool的列表和如何调用这些tool,本身mcp并没有和模型进行交互。
MCP架构
MCP 采用清晰的客户端-服务器架构,由三个关键角色组成:
- MCP 主机 (Host):你正在使用的 AI 应用,比如 Claude Code、Claude Desktop、Cursor 编辑器等。它是用户交互的界面。
- MCP 客户端 (Client):运行在主机内部,负责与特定的 MCP 服务器建立一对一的连接,并管理通信。
- MCP 服务器 (Server):每个服务器都通过标准协议,向外提供特定的功能,比如操作本地文件、查询数据库、调用GitHub API 或获取实时天气。

mcp管理
mcp安装
配置文件加载
用户级~/.claude.json,项目级别my-project/.mcp.json 配置文件中编写
{
"mcpServers": {
"excel": {
"command": "uv run excel-mcp-server",
"transport": "sse",
"env": {
"EXCEL_FILES_PATH": "/path/to/excel/files"
}
}
}
}
命令安装
如
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
查看Claude Code中安装的MCP
执行 /mcp 查看Claude Code中安装的MCP工具
Agent Skill
Agent Skill是什么
是指赋予AI智能体执行具体任务的能力模块。
可以将其理解为智能体的“四肢”或“工具”。如果说大语言模型是负责思考与规划的“大脑”,那么技能就是让智能体能够真正采取行动、与外部世界交互的关键组件。其主要作用在于:一是突破模型内置知识仅截止于训练数据的限制;二是将智能体从“只会对话”转变为“能够执行操作”。
简单来说,Agent Skill 可以理解为AI的“操作说明书”+“标准作业程序工具箱”。它是一个结构化的能力包,教会AI Agent(智能体)如何处理特定领域的专业任务 。
Agent Skill的流转
Agent Skill的设计是**“渐进式披露”**机制。这就像一个智能的按需加载系统,只在需要时才加载必要的信息,极大地节省了宝贵的上下文窗口资源,并让AI的决策更精准。

Agent Skill基本用法
Skills存放位置
| 位置 | 路径 | 适用于 |
|---|---|---|
| 企业 | 注册表或系统级 managed-settings.json |
公司级的的所有用户 |
| 个人 | ~/.claude/skills/<skill-name>/SKILL.md |
用户的所有项目 |
| 项目 | .claude/skills/<skill-name>/SKILL.md |
仅此项目 |
| 插件 | <plugin>/skills/<skill-name>/SKILL.md |
启用插件的位置 |
创建Skill
每个 skill 都需要一个 SKILL.md 文件,包含两部分:YAML frontmatter(在 --- 标记之间)告诉 模型何时使用该 skill,以及包含 模型在调用 skill 时遵循的说明的 markdown 内容。name 字段变成 /skill-name,description 帮助 Claude 决定何时自动加载它。
样本
---
(元数据)
name: 名字
description: 技能说明
---
指令部分
示例
---
name: financial-webapp-testcase-generator
description: 基于需求说明为金融Web程序生成覆盖功能、安全、性能的测试用例,严格遵循需求不扩展
---
# 金融Web应用测试用例生成Skill
本Skill专门用于为**金融相关的Web程序**生成测试用例。你必须严格基于用户提供的需求说明,**不得添加任何需求中未提及的功能点**,同时覆盖功能测试、安全测试、性能测试三个维度。
## 一、核心原则(必须遵守)
### 1. 严格遵循需求
- 只测试需求说明中明确提到的功能和规则
- 不假设、不推测、不扩展任何未提及的功能点
- 如果需求描述模糊,在测试用例中注明"基于需求当前描述,建议明确具体规则"
### 2. 测试维度覆盖
即使需求未明确提及安全或性能要求,你仍需基于**金融Web应用的行业常识**补充以下测试点,但必须在用例中标注"基于金融行业通用风险建议":
#### 功能测试(必须)
- 正常流程(Happy Path)
- 异常流程(输入验证、边界值、错误处理)
- 业务规则验证
#### 安全测试(金融应用重点关注)
- 身份认证与会话管理(如登录态失效、会话固定)
- 输入校验(SQL注入、XSS、CSRF)
- 敏感数据传输(是否强制HTTPS)
- 权限控制(水平越权、垂直越权)
- 敏感信息暴露(密码/卡号是否脱敏显示)
#### 性能测试
- 并发用户数(参考金融系统常见指标)
- 响应时间要求
- 资源利用率
- 稳定性/长时间运行
## 二、输出格式要求
每个测试用例必须包含以下字段,使用Markdown表格格式:
| 字段 | 说明 |
|------|------|
| 测试用例ID | TC-[模块]-[序号] |
| 测试模块 | 根据需求划分的功能模块 |
| 测试类型 | 功能/安全/性能 |
| 测试标题 | 简洁描述测试场景 |
| 前置条件 | 测试执行前需要满足的条件 |
| 测试步骤 | 编号列表,详细描述操作 |
| 预期结果 | 明确的期望结果 |
| 风险标注 | 如果是基于行业通用建议的用例,标注"【通用风险】" |
## 三、金融Web应用特殊注意事项
### 1. 数据敏感度
- 涉及金额、账户、个人身份信息的操作必须有明确的权限验证
- 敏感数据在UI上应脱敏显示(如卡号只显示后四位)
### 2. 交易安全
- 关键操作(转账、修改密码)需要二次确认或额外验证
- 应有防重放、防重复提交机制
- 幂等性要求(防止重复扣款)
### 3. 合规要求
- 操作日志记录(谁、什么时间、做了什么)
- 错误提示不应泄露系统内部信息
推荐创建方式
使用提示词进行ai自动创建 ,一个示例,后面使用ai进行补充
帮我创建一个skill,这个技能是一个软件测试专家,专门用于根据需求文档、代码逻辑或功能描述自动生成高质量的测试用例。
Agent Skill管理
Skills 使用特定于的项目、团队或领域的信息扩展的知识,适用于某种操作的流程规范手册。
使用 /skills 命令可以列出当前所有可用的 Skill
Agent Skill调用
调用skill的时候,大模型是可以自行发现并进行调用的,除此之外还可以直接使用skill的名字进行调用如: /skill-name这样的方式进行调用
总结
说到这里 也明白了Agent Skill不是个什么技术难点,简单理解就是在进行某种操作时 预先写好一个文件,在进行使用是大模型会先读取这个文件把他当作上下文进行分析
SubAgent
我们可以创建自己的 subagent ,例如专门为一个后端项目做一个代码解耦合的工具。
- 在 Claude Code 中,运行 /agent。
- 选择 Create new agent ,选择 User-level。这会将 subagent 保存到
~/.claude/agents/,以便在所有项目中可用。 - 选择 Generate with Claude。出现提示时,描述 subagent。
- 对于只读审查者,取消选择除 Read-only tools 之外的所有内容。如果您保持所有工具被选中,subagent 会继承主对话可用的所有工具。
- 选择 subagent 使用的模型。
- 为 subagent 选择背景颜色。这有助于您在 UI 中识别哪个 subagent 正在运行。
- 保存 subagent。它立即可用(无需重启)。
如果要重新编辑或者删除的话,再运行 /agent 命令,然后将光标选择到要编辑的 subagent ,回车即可选择操作。
SubAgent与Agent Skill区别
Agent Skill
适用场景
适合与上下文关联大,但是对上下文影响小的任务
特点
共享主对话上下文
subagent
使用场景
适合与上下文关联小,但是对上下文影响大的任务
特点
上下文独立
AgentTeams
与subAgent区别是由一个领导进行分工多个Agent进行并行或者串行执行。·
Plugin
Claude Code 提供了一个类似 VSCode 的插件市场,这里的插件提供了一整套的方法,将一个功能打包成了 Skill、MCP等模块,可以用 /plugin 命令开启插件界面
更多推荐


所有评论(0)