认识大模型
简介
AI 大模型从 chat 聊天,慢慢进化成 AI agent. AI agent 可以查资料、整理表格、生成图表、写报告串成一个连续的任务。
学完本课程后,您将能够:
→ 解释 AI、大模型和 Agent 的关系
→ 说出大模型和传统专门工具的区别
→ 用“文字接龙”和 token 解释大模型生成回答的基本过程
→ 说出预训练、SFT、偏好对齐分别解决什么问题
→ 识别大模型的三个常见边界:上下文有限、知识可能过时、回答可能不准确
什么是大模型
先分清三个词:AI、大模型、Agent。
AI(人工智能)是一个大的范围。只要机器能表现出智能行为,比如识别图片、听懂语音、翻译句子、下棋、推荐内容,都属于 AI。
大模型是 AI 里很重要的一类模型。它通过大量数据训练,学到语言、图像、代码和知识中的规律。它的特点是通用:同一个模型可以写作文、做总结、翻译、看图、写代码。
Agent不是另一个大模型,而是一种使用大模型的方式。大模型负责理解和生成;Agent 在它旁边接上工具、记忆和执行流程,让 AI 不只是回答问题,还能一步步完成任务。
可以这样理解:
-
大模型是“大脑”,负责思考和表达。
-
工具是“手和工具箱”,负责查资料、读文件、算数据、画图。
-
Agent 是“数字助理”,把大脑、工具和流程组织起来,把任务做完。
大模型有什么不同
早期的机器做判断,最直接的规则是写判断,比如判断一封邮件是不是垃圾邮件,可以规定:出现某些词、链接很多等,但问题是,真实世界太复杂,规则写不完。新词、新写法、新例外会不断出现,规则很快就会漏掉一些情况。
后来,研究人员换了一种思路:不再手写所有规则,而是让模型从大量样例中寻找规律
再往后,模型能处理的内容越来越多:图片、语音、长文本、代码都可以进入模型。但很长一段时间里,很多系统仍然是“一个任务配一个模型”:翻译有翻译模型,识别有识别模型,换一个任务,往往就要重新准备数据、重新训练或重新调系统。
大模型的特点
“大”不仅指文件体积大或硬件成本高,其核心特质主要体现在以下三个方面:
参数规模:参数可以理解为模型内部用于存储规律的“旋钮”模型能够表达和捕捉的模式就越复杂。
训练数据****多
适用的范围广
大模型、平台和应用的关系
在学习大模型时,我们还会接触到许多产品和平台的名称,比如千问、万相、百炼、QoderWork。为了更好地理解它们的定位,可以将这些产品划分为三个清晰的层次:
-
模型层(核心):负责底层的理解和生成能力。例如千问、万相属于这一类。
-
平台层(封装):负责将模型封装成可用的服务,包括提供模型体验、API 调用,以及接入知识库和工具等。例如百炼属于这一类。
-
应用或 Agent 层(落地):直接面向具体的任务场景,比如读取文件、撰写报告、做数据分析、辅助编码等
大模型怎样生成回答
你和大模型对话时,会看到回答一个字、一个词出现。大模型生成文字时,会根据前面的内容预测下一个 token,再把这个 token 接到已有内容后面,继续预测下一个 token
https://img.alicdn.com/imgextra/i3/O1CN01S1c2Gf1GAbeVTXZ6i_!!6000000000582-55-tps-760-620.svg
token 是模型眼里的文字片段
大模型一步步生成的,不一定是你眼里的“一个字”或“一个词”,而是 token。你可以先把 token 理解成模型眼里的“文字片段”。
这能解释一个常见现象:有研究者发现一些模型数不对“strawberry”里有几个“r”?这是由于这些模型看到的文字和你看到的不一样。你看到的是一个个字母,模型看到的可能是 str / aw / berry 这样的几个片段。
中文也一样。你眼里是 今 / 天 / 天 / 气 四个字,但 tokenizer 可能会把它切成 今天 / 天气 两个 token。模型处理的是这些切分后的片段,再把片段转换成数字 ID。
https://img.alicdn.com/imgextra/i4/O1CN01B25clP1kitmRYCgf7_!!6000000004718-55-tps-980-720.svg
注意力让模型抓住信息
知道大模型的 token 之后,但是有一个问题是:模型如何根据我输出的信息,去抓住这个点给我想要的答案的?
MOE 大模型技术的持续演进
MoE (Mixture of Experts,混合专家模型) 可以理解成模型内部准备了好多的“专家”,不同的专家解决不同的问题
这有点像学校里有一个“专家服务台”。语文、数学、物理、英语老师都在后台待命。学生问物理题时,系统不会叫来所有老师,而是快速判断问题类型,只请相关老师参与。对学生来说,体验像是在问一个人,回答很快;对系统来说,背后其实有多个专家在分工。MoE 的价值就在这里:让模型拥有更多知识和能力,同时只激活需要的部分,因此既更聪明,也更高效。
大模型怎样学会当助手
如果大模型只是一步步续写,它为什么能听懂“帮我总结”“翻译成中文”“列出优缺点”这些要求
答案是:训练过程不只让它学会续写,还会继续教它按人的要求回答,并把回答方式调得更稳
预训练
第一步是预训练。你可以把它想成让模型先大量阅读:新闻、书籍、网页、论文、代码、问答记录等。读得越广,它越熟悉语言怎么组织,知识通常怎么表达,前后文之间有什么关系。
对应到训练任务,模型会反复练习“根据前面的 token 预测下一个 token”。这个练习看起来简单,但当数据足够多、类型足够丰富时,模型会逐渐学到语言规律、常识、专业表达和代码模式。
预训练数据不是越杂越好。数据质量会直接影响模型表现:
td {white-space:nowrap;border:0.5pt solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}| 数据情况 | 可能影响 |
| 数据少 | 知识有限,容易犯低级错误 |
| 数据多但质量低 | 可能学到错误、重复、偏见或无用信息 |
| 数据多且质量高 | 泛化能力和理解力通常更强 |
因此,预训练数据通常要经过清洗和治理:去重、去噪、过滤低质量内容,移除有害内容,处理个人信息,并尽量覆盖不同语言和领域。
SFT:教模型按指令回答
第二步是 SFT(监督微调)。它解决的问题是:模型怎样从“会续写”变成“会按要求回答”。
做法是给模型看大量高质量的“指令-回答”样本。比如,用户这样问,答案应该这样写;这个场景要简洁回答,那个场景要分步骤说明;要求表格,就尽量按表格输出。
和预训练不同,SFT 更看重示范质量。样本要像真实问题,答案要可靠,格式要清楚。专业任务还需要懂专业的人参与设计和审核。
公开研究里也能看到这种思路。比如 GPQA 收集的是生物、物理、化学领域专家编写的研究生级问题;PHYSICS 整理了大学物理和博士资格考试级别的问题。这类数据集不等同于某个模型的 SFT 训练集,但它们说明了同一个原则:专业能力不能只靠泛泛的问答样本堆出来,高质量题目、可靠答案和专家审核都很重要。
经过 SFT,模型更像一个会听指令的助手:让它总结,它就总结;让它翻译,它就翻译;让它按表格输出,它就尽量按表格输出。
偏好对齐:让回答更符合人的期待
会按指令回答,还不等于回答得令人满意。有些回答可能太啰嗦,有些看起来很自信但依据不足,有些问题本来就不该直接回答。
偏好对齐要解决的,就是“什么样的回答更合适”。一种常见做法是 RLHF(基于人类反馈的强化学习):让模型针对同一个问题生成多个回答,再请人比较哪个更有用、更安全、更符合事实。模型再根据这些反馈调整自己的回答方式。
也有更直接的方法,比如 DPO(直接偏好优化)。它直接利用“回答 A 比回答 B 更好”这样的偏好数据来优化模型,不单独训练“评分老师”。
无论采用哪种方案,目标都不是单纯补知识,而是让模型更会表达:该回答时回答得有帮助,该拒绝时拒绝得稳妥,该说明依据时把依据说清楚。
所以,大模型不是突然变成助手的。它先通过预训练获得语言和知识,再通过 SFT 学会按指令回应,最后通过偏好对齐调整回答方式。
Skill是什么
反复用 Agent 处理同一类工作时,麻烦的不是它完全不会做,而是同样的格式、标准和例外每次都要重新说明。少说一句,输出就可能变样。
Skill 用来把这些重复说明保存成可复用的工作方法。下次遇到同类任务时,Agent 可以按这套方法执行,而不是每次临场发挥。
claude code
官方文档:****https://code.claude.com/docs/zh-CN/
claude code是革命性 Agent,Claude Code 是一个代理编码工具,可以读取你的代码库、编辑文件、运行命令,并与你的开发工具集成。可在终端、IDE、桌面应用和浏览器中使用。
它的定义是:最强的写代码的 claude code
Claude Code 如何工作
当您给 Claude 一个任务时,它会经历三个阶段:收集上下文、采取行动和验证结果。这些阶段相互融合。Claude 始终使用工具,无论是搜索文件以了解您的代码、编辑以进行更改,还是运行测试以检查其工作。
循环会根据您的要求进行调整。关于您代码库的问题可能只需要收集上下文。错误修复会循环通过所有三个阶段多次。
模型
在会话期间使用 /model 切换模型
工具
工具是使 Claude Code 成为代理的原因。没有工具,Claude 只能用文本回应。有了工具,Claude 可以采取行动:读取您的代码、编辑文件、运行命令、搜索网络并与外部服务交互。
内置工具通常分为五个类别,每个类别代表不同类型的代理能力。
td {white-space:nowrap;border:0.5pt solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}| 类别 | Claude 可以做什么 |
| 文件操作 | 读取文件、编辑代码、创建新文件、重命名和重新组织 |
| 搜索 | 按模式查找文件、使用正则表达式搜索内容、探索代码库 |
| 执行 | 运行 shell 命令、启动服务器、运行测试、使用 git |
| 网络 | 搜索网络、获取文档、查找错误消息 |
| 代码智能 | 编辑后查看类型错误和警告、跳转到定义、查找引用(需要代码智能插件) |
扩展基本功能: 内置工具是基础。您可以使用 skills 扩展 Claude 知道的内容、使用 MCP 连接到外部服务、使用 hooks 自动化工作流,以及将任务卸载给 subagents。这些扩展形成了核心代理循环之上的一层。有关为您的需求选择正确扩展的指导,请参阅扩展 Claude Code。
使用会话
Claude Code 在您工作时将您的对话保存在本地。每条消息、工具使用和结果都被写入 ~/.claude/projects/ 下的纯文本 JSONL 文件,这使得回退、恢复和分叉会话成为可能。在 Claude 进行代码更改之前,它还会对受影响的文件进行快照,以便您在需要时可以恢复
claude code 的三种模式
使用 Shift+Tab 进行切换
accept edits on
最高的权限,能够编辑你的所有的文件,并且执行
plan mode on
在这个模式下执行的话,一般会提前询问一下是否执行,需要手动点击同意
auto mode on
自动执行,不会询问你,直接执行
安装 claude code
https://kcn0pvs3awv2.feishu.cn/docx/UIEvd26proer3DxxnUScnQOxn7c?from=from_copylink
VScode + CCswith 开发
目前我最为受益的 AI 功能,帮我解决了很多的问题
下载 CC Switch
CC Switch 点击启动,模型自动切换为了对应的模型
切换模型,需要点击启用,然后重新打开 VScode
claude code 的使用
claude code 基础命令
| 命令 | 解释 | 使用场景 |
| /clear | 清空上下文 | 如果需要重新开始,或者是感觉 AI 已经无法解决问题 |
| /compact | 压缩对话 | 重开对话,但是不希望丢掉之前的记忆 |
| /cost | 花费 | max 不需要看,API 用户可以看到 |
| /logout /login | 登录登出 | 切换账号等操作 |
| /model | 切换模型 | 200 刀可以切换使用 opus 模型 100 刀没有选择 |
| /status | 状态 | 查看当前 CC 的状态 |
| /doctor | 检测 | 检测 CC 的安装状态 |
自定义你的设置
使用 CLAUDE.md 文件为 Claude 提供持久指令,并让 Claude 通过自动记忆功能自动积累学习内容。
每个 Claude Code 会话都从一个全新的上下文窗口开始。两种机制可以跨会话传递知识:
-
CLAUDE.md 文件:你编写的指令,为 Claude 提供持久上下文
-
自动记忆:Claude 根据你的更正和偏好自己编写的笔记
CLAUDE.md 与自动记忆
CLAUDE.md 是一个特殊文件,Claude在开始对话时会自动将其拉入上下文。这使其成为记录以下内容的理想场所:
-
常用bash命令
-
核心文件和实用函数
-
代码风格指南
-
测试说明
-
代码库规范(例如,分支命名、合并与变基等)
-
开发环境设置(例如,pyenv使用、哪些编译器有效)
-
项目特有的任何意外行为或警告
-
您希望Claude记住的其他信息
CLAUDE.md 文件没有要求的格式。我们建议保持简洁且人类可读。例如:
# Bash命令
- npm run build: 构建项目
- npm run typecheck: 运行类型检查器
# 代码风格
- 使用ES模块(import/export)语法,而不是CommonJS(require)
- 尽可能使用解构导入(例如 import { foo } from 'bar')
# 工作流程
- 在完成一系列代码更改后务必进行类型检查
- 为了性能考虑,优先运行单个测试,而不是整个测试套件
项目 CLAUDE.md 可以存储在 ./CLAUDE.md 或 ./.claude/CLAUDE.md 中。创建此文件并添加适用于在项目上工作的任何人的指令:构建和测试命令、编码标准、架构决策、命名约定和常见工作流。这些指令通过版本控制与你的团队共享,因此请关注项目级标准而不是个人偏好。
运行 /init 自动生成起始 CLAUDE.md。Claude 分析你的代码库并创建一个包含构建命令、测试指令和它发现的项目约定的文件。如果 CLAUDE.md 已存在,/init 会建议改进而不是覆盖它。从那里进行细化,添加 Claude 不会自己发现的指令。设置 CLAUDE_CODE_NEW_INIT=1 以启用交互式多阶段流程。/init 询问要设置哪些工件:CLAUDE.md 文件、skills 和 hooks。然后它使用 subagent 探索你的代码库,通过后续问题填补空白,并在写入任何文件之前呈现可审查的提案。
管理Claude的允许工具列表
默认情况下,Claude Code会为任何可能修改您系统的操作请求权限:文件写入、许多bash命令、MCP工具等。我们有意采用这种保守的方法设计Claude Code,以优先考虑安全性。您可以自定义允许列表,许可您知道安全的额外工具,或允许容易撤销的潜在不安全工具(例如,文件编辑、git commit)
如果使用 GitHub,安装 gh CLI
Claude知道如何使用 gh CLI与GitHub交互,用于创建问题、打开Pull Request、读取评论等。没有安装 gh 时,Claude仍然可以使用GitHub API或MCP服务器(如果您已安装)。
CC提示词:帮我安装gh CLI,之后重启CC终端,然后执行gh --version
或者执行命令安装:winget install --id GitHub.cli
gh登录授权:gh auth login 获取github token
自定义命令
如果我想要自定义属于自己的命令,该如何实现呢
claude code 搭建 Skill
创建文件夹 skill-demo -> .claude-> skills -> skill 的名称 -> SKILL.md
# L1元数据加载
---
name: 会议总结助手
description: 该技能用于会议纪要智能生成和文档自动同步
---
询问 claude code
然后写 L2 文字说明
# L1元数据加载
---
name: 会议总结助手
description: 该技能用于会议纪要智能生成和文档自动同步
---
# 会议总结助手
## 总结规则
请按照以下维度对会议内容进行提炼:
- 参会人员
- 议题
- 决定
- 财务提醒:当涉及“资金、成本、采购、开支”等财务关键词时自动触发。需参考 公司财务手册.md,分析决定中涉及的金额是否符合规范,并标注需要的审批人员。
注意:每个维度必须用单句话精准概括,避免分散成多个要点。
## 上传规则
当用户使用"上传"、"同步"或"推送到云端"等指令时,系统将自动调用 upload.py 脚本完成会议纪要的服务器同步。调用方式:
```python
python upload.py "会议纪要内容"
```
# 会议总结助手
## 示例
输入:
林经理:各位,咱们今天主要讨论第三季度新品发布会的筹备工作。
陈主管:我觉得场地选在会展中心比较合适,交通便利也显档次。
周助理:同意,不过需要提前两个月预订,否则档期可能被占。
吴专员:预订工作我来跟进,本周五前确认档期并报备。
胡经理:参会人数大概要有个预估,方便安排座位和餐饮。
林经理:暂定 120 人规模,包含媒体、经销商和内部团队。
陈主管:物料方面,上次的展架可以复用,但海报和手册要重新设计。
周助理:预算这块要不要先定个范围,免得后期被动。
林经理:总预算控制在 8 万以内,优先保证核心环节的品质。
胡经理:时间建议定在周三下午,避开周末的交通高峰。
陈主管:下午两点开场比较合理,留出充足的布展时间。
吴专员:我下周把邀请函发给大家。
林经理:那媒体邀请的截止日期就定在下周五。
周助理:下周末统一安排分组和物料采购。
胡经理:我负责撰写邀请函和当天的流程安排。
林经理:安全预案也要准备好,活动结束后做个简单复盘。
林经理:好,今天就这样,大家按分工推进。
输出:
- 参会人员:林经理、陈主管、周助理、吴专员、胡经理
- 议题:确定第三季度新品发布会的场地、时间、规模、预算及具体分工。
- 决定:发布会选址会展中心并于周三下午两点举办,按 120 人规模和 8 万预算推进,由吴专员负责场地确认、胡经理负责流程和邀请函,其他成员协同物料和分组工作。

浙公网安备 33010602011771号