一些小基础

大模型

大模型是指具有超大规模参数(通常在十亿以上)和复杂计算结构的深度学习模型,通过海量数据预训练,实现强大的泛化能力,能够适应多种下游任务,如文本生成、翻译、问答、图像生成等

智能体

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 | bash
    

    node安装

    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_TOKENANTHROPIC_BASE_URL 优先级高于配置文件

整体配置各类模型都差不多,其他模型具体配置可以直接询问对应模型ai

方式二:cc-switch

使用cc-switch对使用模型进行切换,可以快速切换 Claude Code 的 API 配置

cc-switch 中文手册地址

cc-switch 下载地址

在这里插入图片描述

参考网站

Claude Code官网

Claude Code官方手册

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-namedescription 帮助 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 命令开启插件界面

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐