[cc] Introduce Claude Code and Vibe Coding
CC的设计理念
展示了产品级别的Harness的实现框架。
- Dive into Claude Code: The Design Space of Today's and Future AI Agent Systems,[Submitted on 14 Apr 2026 (v1), last revised 2 Jul 2026 (this version, v2)]
- 需要研究的代码:https://github.com/VILA-Lab/Dive-into-Claude-Code
以上是结论,以下是发展过程。
Vibe Coding 学习进度跟踪
[组织] 一个示范:
可见其中的 Claude的使用痕迹。

[选型] AI 编程模型怎么选:按能力、成本与场景做最终推荐|第13讲
第二部分
整体架构的功能模块:文件操作,终端执行,代码理解,智能编码
什么叫做 “规范的使用 Claude Code”?
反馈到文章开头的部分。也就是 Claude Code 的设计理念。
-
- 传统RAG检索 对比 Agentic Search:后者具备了人类式的理解代码过程,不需要整体分析,直接找关键部分(类似于注意力机制)
- 脚手架 比 模型 更重要(Harness)

Table 01
2022—2024 (推理模型发展 o1 o3)
ReAct、SWE-agent:
证明“推理 + 工具 + 环境反馈”有效
↓
2025年2月(有推理能力才有这个可能)
Claude Code:
把 Scaffold 做成大众可使用的 Coding Agent 产品
# Scaffold 更关注“这次任务怎么做完”;Harness 更关注“这个 Agent 怎样长期、稳定、可控地运行”
↓
2025年(一直在完善,也出现了相关开源项目)
工程师大量实践后发现:
模型很强,但环境、测试、Context 和工具决定实际效果
↓
2026年2月(定型)
OpenAI、Hashimoto 等:
把“持续建设模型外部系统”明确总结为 Harness Engineering
↓
随后
人们发现它不只适用于编程,
还适用于研究、数据调查、故障诊断、欺诈分析等任务
示范一:前端开发例子
Ref: Claude Code designs professional HTML pages without writing a single line of code
基本就是定义文档,然后模型读取后会自动生成完整的工程代码。

示范二:官方Skill示范
Ref: https://github.com/anthropics/skills/tree/main/skills/pdf # 示范例子
接下来,开始 Claude Code 实践,以及体验实践中 “反思” 其背后的原理以及扩展性。
第三部分
在实践中反思 --> Claude Code 深度使用。
"模型是地板,配置质量才是天花板"
== 全局配置 ==
.claude/settings.local.json
```jsonc { // 允许 Claude Code 执行的操作(不需要每次确认) "permissions": { "allow": [ "Read", // 读取文件 "Write", // 写入文件 "Bash(npm *)", // 执行 npm 命令 "Bash(git *)", // 执行 git 命令 "Bash(node *)" // 执行 node 命令 ], "deny": [ "Bash(rm -rf *)" // 禁止执行危险的删除命令 ] }, // 默认使用的模型 "model": "sonnet", // 自动紧凑阈值(上下文使用超过此比例时 自动压缩) "autocompactThreshold": 80 } ```
== 项目配置 ==
-
./.claude/settings.json:项目共享配置,通常会git commit./.claude/settings.local.json:你个人在这个项目里的配置,通常不提交。.gitignore里去配置。- 使用ccSwitch管理env 不对外暴露 api key, certs等等。
- .claudeignore文件
== 模块配置 ==
(不如去使用 Project Memory/Instruction)
++ User Memory (Instruction): ~/.claude/CLAUDE.md ++
项目间较为通用的 Instruction.
++ Project Memory (Instruction): ./CLAUDE.md ++
更多的像是 Instruction,指导建议。
沟通方式 默认中文回复;代码、命令、变量名、文件路径保持英文 结论先行,简洁直接,不先铺垫背景 不谄媚,不夸“这是个很好的问题”,不以“当然可以”开头 结真实判断——方案有问题直接指出,发现更好做法主动说明 Git 不自动 git commit 或 git push,除非我明确要求 提交前先展示将要提交的变更摘要 commit message 使用简洁英文 红线操作 以下操作即使在 auto-accept 模式下也必须先问我: 删除文件、目录或 git 历史 修改 .env、密钥、token、证书、CI/CD 配置 git push、git rebase、git reset --hard、强制推送 公开发布(npm publish、生产部署等)
应该属于项目级别的记忆:
2026 年 1 月 27 日:社区把 Karpathy 的经验变成 CLAUDE.md。
Link: https://github.com/multica-ai/andrej-karpathy-skills/blob/main/CLAUDE.md
| 原则 | 意思 |
|---|---|
| Think Before Coding | 不要乱猜,先澄清 |
| Simplicity First | 不要过度设计 |
| Surgical Changes | 只改与任务有关的代码 |
| Goal-Driven Execution | 给明确成功标准,让 Agent 循环验证 |
++ Auto Memory ++
~/.claude/projects/my-app/memory/
├── MEMORY.md (35 行, 1.2KB) ← 索引,仍然很短
├── debugging.md (140 行) ← 按需读取
├── architecture.md (95 行) ← 按需读取
├── deployment.md (60 行) ← 按需读取
└── user-preferences.md (40 行) ← 按需读取
# Memory Index
## User preferences
- See user-preferences.md for full communication style notes
## Architecture
- Key modules and their relationships: see architecture.md
- Auth flow uses JWT + refresh token rotation
## Debugging
- Common gotchas and past bug fixes: see debugging.md
- The /auth endpoint 500s if JWT_SECRET is unset in .env
## Deployment
- Staging uses port 3001, prod uses port 8080
- Full CI/CD notes: see deployment.md
++ 自建参考文档 ++
假设你说:把登录按钮改成品牌规定的主色,并稍微加宽一点。
Claude开始处理:frontend/src/Login.tsx
于是上下文逐渐变成:
Root CLAUDE.md
+
frontend/CLAUDE.md
Claude从 frontend/CLAUDE.md 看到:
“UI/layout/color changes 则 read frontend/docs/brand-visual.md”
于是它再主动:
Read frontend/docs/brand-visual.md
现在 Context 才变成:
Root CLAUDE.md
+
Frontend CLAUDE.md
+
brand-visual.md
+
Login.tsx
或者通过两个官方推荐的创建姿势:
-
/init创建项目级:在项目根目录下运行claude后输入/init,CC 会自动扫描项目并生成一份CLAUDE.md初稿,你再调整。官方建议:项目有一定规模再/init效果更好(太空仓扫不出什么东西)。/memory编辑全局级:在 CC 会话里输入/memory,选择“全局 CLAUDE.md”,会用默认编辑器打开该文件供你修改。修改会最后重启 CC 才生效。
课外辅导:先了解下发展史
2025-02
Claude Code Preview
│
│ Agent Loop
│ Read / Edit / Bash / Git # 文件系统、终端命令、代码管理、权限
│
▼
2025-04
Persistence
│
│ Memory # 可以“持续工作”的能力
│ Resume
│ Todo
│
▼
2025-05
Claude Code 1.0 # 同时期 发布 Opus 4 / Sonnet 4
│
│ IDE
│ SDK
│ Background work
│
▼
2025-06
Harness Configuration
│
│ settings.json # 更新到更好的 配置模式
│ Permissions
│ MCP
│ Hooks
│
▼
2025-07
Subagents # 开始有了例如 自动测试 的能力 成为了 Orchestrator
│
▼
2025-08
Context Engineering
│
│ /context
│
▼
2025-09
Claude Code 2.0
│
│ Agent SDK
│ Rewind
│ Native VS Code
│
▼
2025-10
Extensible Harness
│
│ Plugins
│ Skills # 从 always 变成了 按需加载
│ Sandbox
│ Plan Agent
│
▼
2025-12
Production Harness
│
│ Background Agents
│ Rules
│ LSP # Language Server Protocol,例如IDE里的 “跳转到定义”
│
▼
2026-02
Learning + Multi-Agent Harness
│
│ Agent Teams
│ Auto Memory
│ Worktree Isolation # 类似多线程,那就要解决“锁”的问题
│
▼
2026-03+
Context / Memory engineering
启动初始加载过程
你执行:
claude
│
▼
① Claude Code 启动
│
▼
② 确定当前目录 / project
│
▼
③ 加载并合并 Settings
│
├── User settings
├── Project settings
├── Local settings
└── Managed settings
│
▼
④ 根据 Settings 建立 Harness
│
├── Permissions
├── Hooks
├── Plugins
├── MCP
├── Auto Memory 是否开启
└── 其他 runtime config
│
▼
⑤ 准备 startup Context
│
├── CLAUDE.md
├── Rules
├── Auto MEMORY.md
├── Skills metadata
└── system instructions
│
▼
⑥ SessionStart Hook
│
└── 可以继续向 Context 注入动态信息
│
▼
⑦ 等待你的第一个 Prompt
│
▼
⑧ 第一次调用 Claude Model
==== 核心命令与日常使用 ====
3.3.1 启动与基本交互
# 最基本的启动方式(在当前目录启动)
$ claude
# 指定项目目录启动
$ claude --project-dir /path/to/your/project
# 使用指定模型启动
$ claude --model sonnet
# 单次执行模式(执行完就退出,适合脚本调用)
$ claude -p "请列出当前目录下所有的 JavaScript 文件"
3.3.2 对话交互基础
启动 Claude Code 后,你就进入了一个交互式对话界面。你输入需求,AI 分析后执行。
权限确认机制
Claude Code 在执行以下操作前会先询问你:
| 操作类型 | 示例 | 提示信息 |
|---|---|---|
| 创建文件 | 创建 index.html |
"Will create file: index.html" |
| 修改文件 | 修改 app.js 的第10行 |
"Will edit file: app.js" |
| 执行命令 | 运行 npm install express |
"Will run: npm install express" |
| 删除文件 | 删除 temp.txt |
"Will delete file: temp.txt" |
你可以:
-
-
- 按
Enter或输入y→ 确认执行 - 输入
n→ 拒绝执行 - 输入补充信息 → 修改 AI 的计划
- 按
-
提示: 如果你发现每次确认很烦,可以在 settings.json 中配置自动允许的操作(见 4.2 节)。但初学者建议保持默认,让自己有机会审查 AI 的每一步操作。
3.3.3 核心斜杠命令详解
在 Claude Code 对话中,以 / 开头的命令是“斜杠命令”,用来控制 Claude Code 的行为。
在输入框里打一个 / 就会弹出完整命令清单;/help 列出所有可用指令。
基础高频命令
| 命令 | 作用 | 使用场景 |
|---|---|---|
/help |
显示帮助信息 | 忘记命令时查看 |
/model |
查看/切换当前模型(高/中/低档) | 需要换用更强/更快的模型时 |
/compact |
压缩当前对话的上下文 | 对话太长,AI 开始“遗忘”早期内容时 |
/clear |
完全清空当前对话 | 开始全新的任务时 |
/context |
详细查看上下文占比(各 MCP/Skill 各占多少) | 优化 token、诊断哪里挤占上下文 |
/memory |
查看/编辑 CLAUDE.md 与自动记忆 |
管理项目/全局记忆、开启 Auto Memory |
/status |
查看会话状态 | 确认模型、Token 消耗 |
/cost |
查看当前会话费用 | 监控花了多少钱 |
/review |
对当前项目进行代码审查 | 完成功能后检查质量 |
/init |
自动生成项目的 CLAUDE.md |
进入新项目后的第一件事 |
/plan |
切入 Plan Mode(只读规划模式) | 复杂任务起手(详见 4.9 节) |
/rewind |
回滚 CC 之前的修改 | “后悔药”,下面重点讲 |
/resume |
选择历史会话恢复 | 上次话题还没聊完 |
/btw |
“顺便问一句”,不污染主上下文 | 主任务进行中想问个无关问题 |
扩展管理命令
| 命令 | 作用 | 使用场景 |
|---|---|---|
/skill <名称> |
直接调用某个 Skill | 手动触发,不要等 AI 自己决定 |
/agent |
创建、查看、调用子代理(SubAgent) | 手工创建专项 SubAgent |
/plugin |
插件管理界面(discover / installed) | 发现、安装、卸载插件 |
/login |
使用 Claude 官方订阅会员登录 | 有 Claude Pro/Max 会员时首选 |
/simplify |
派 3 个 Agent 从代码质量/性能/复用性三个角度优化 | 快速全面优化已有代码 |
/compact —— 上下文压缩(必须掌握)
这是解决“用久了 AI 变笨”的核心武器。
用 CC 一段时间会发现回答变慢、质量下降——这是因为你聊的每句话、它读的每个文件、它执行的每个操作的结果,都在挤占上下文空间。
模型上下文虽然有 200K,但实际有效比例只有 60%-80%,且会随上下文增多能力下降。脑子里塞多了东西,它就容易把握不住重点。
/compact 命令会帮你“整理桌面”——把前面的对话压缩成摘要,腾出空间。
> /compact
AI:上下文已压缩。当前对话摘要:
- 我们正在开发一个书签管理器项目
- 已完成:数据库设计、API端点
- 当前正在:前端页面开发
配套命令:/context —— 监控上下文余量
在 /compact 之前,先用 /context 看看当前状况:它会详细展示上下文占比,包括各个 MCP、Skill 各占用了多少 token,让你知道是什么在“吃掉”上下文。
> /context
上下文使用情况:
已使用:142,000 / 200,000 tokens (71%)
├── 对话历史:89,000 tokens
[...]
3.3.4 快捷键速查
| 快捷键 | 作用 |
|---|---|
Enter |
发送消息 / 确认操作 |
Shift + Enter |
也是发送(不是换行!超多新手在这里发出了半截提示词) |
Option + Enter(Mac) |
换行输入(在提示词里换行不发送) |
Ctrl + Enter(Windows) |
换行输入(同上) |
Ctrl + C |
中断当前操作 |
Esc |
取消正在生成的内容 |
Esc × 2(双击) |
启动 /rewind 回滚界面 |
Shift + Tab |
三种运行模式循环切换(Normal/Auto-Accept/Plan,详见 4.9) |
↑ / ↓ |
浏览历史消息 |
Ctrl + B |
让当前运行的命令到后台跑(不阻塞对话) |
Ctrl + O |
查看 Auto Memory 记录的具体内容 |


浙公网安备 33010602011771号