[cc] Introduce Claude Code and Vibe Coding

CC的设计理念

展示了产品级别的Harness的实现框架。

 

 

 以上是结论,以下是发展过程。

 

 

Vibe Coding 学习进度跟踪

[组织] 一个示范:

可见其中的 Claude的使用痕迹。

 

image

 

[选型] AI 编程模型怎么选:按能力、成本与场景做最终推荐|第13讲

 

 

第二部分

整体架构的功能模块:文件操作,终端执行,代码理解,智能编码

什么叫做 “规范的使用 Claude Code”?

反馈到文章开头的部分。也就是 Claude Code 的设计理念

    • 传统RAG检索 对比 Agentic Search:后者具备了人类式的理解代码过程,不需要整体分析,直接找关键部分(类似于注意力机制)
    • 脚手架 比 模型 更重要(Harness)

image

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

基本就是定义文档,然后模型读取后会自动生成完整的工程代码。

image

 

示范二:官方Skill示范

Ref: https://github.com/anthropics/skills/tree/main/skills/pdf  # 示范例子

学习笔记:[agent] MCP and SKILL

 

 

 接下来,开始 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
MEMORY.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
│
│  PluginsSkills  # 从 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 记录的具体内容

 

posted @ 2026-07-31 09:59  郝壹贰叁  阅读(7)  评论(0)    收藏  举报