课程PPT笔记
CS146S 第四周笔记总结:Coding Agent Patterns
Stanford University · Fall 2025 · 讲师:Mihail Eric 课程网站:themodernsoftware.dev
📅 课程安排
| 日期 | 主题 | 内容 |
|---|---|---|
| Mon 10/13 | How to be an Agent Manager | 开发者 → Agent 管理者的转变(14 slides) |
| Fri 10/17 | 🎤 Guest: Boris Cherny (Anthropic/Claude Code 创始人) | Claude Code 的设计哲学与使用方法(49 slides) |
第一讲:How to be an Agent Manager(10/13)
1. 开发团队的演化史
| 时代 | 模式 | 角色 |
|---|---|---|
| 1940s | 独立开发者处理完整项目 | Solo developer |
| 1960s-1970s | NASA/DoD 驱动的第一批软件团队 | Team member |
| 1990s | 软件团队主流化,专业化分工 | Specialized role |
| 2023 | 开发者+AI 编码系统辅助 | AI-assisted developer |
| 2025+ | 单个开发者管理多个 AI agent | Agent manager |
2. 终极目标
每个开发者都将成为一个技术主管(Tech Lead),指挥自己的 agent 军团。
这些 agent 按以下维度专业化:
- 任务类型:PR 审查、质量保证等
- 语言/框架:React、FastAPI Python、Svelte 等
- 角色职责:数据工程师、ML 工程师、DevOps 等
最终,甚至一个中等技术水平的 PM 也能做到同样的事情。
3. 软件任务分工
| 步骤 | 🟩 人类 | 🟦 Agent |
|---|---|---|
| 提供高层需求 | ✅ | |
| 将需求转化为设计文档 | ✅ | ✅ |
| 从文档实现代码 | ✅ | |
| 添加测试 | ✅ | |
| 确保 CI 通过 | ✅ | |
| 代码审查 | ✅ | |
| 更新文档 | ✅ |
📚 课程关联: 这个分工表直接对应第三周 Silas 的三阶段工作流(Planning → Coding → Testing),但更加细化——7 个步骤中只有前 1.5 个需要人类深度参与。
4. 指导 Agent 的四种技术
① Agent 行为文件(第三周已介绍)
CLAUDE.md / .cursorrules / AGENTS.md —— 定义 agent 的基础行为锚点。
② Hooks(钩子)
定义: 在预定义事件类型上运行的确定性脚本。
| Hook 事件 | 触发时机 | 用途示例 |
|---|---|---|
PreToolUse |
工具调用前 | 验证参数、拦截危险操作 |
PostToolUse |
工具调用后 | 记录日志、格式化输出 |
UserPromptSubmit |
用户提交 prompt 时 | 注入额外上下文 |
PreCompact |
上下文压缩前 | 保存关键信息 |
关键洞见: Hooks 是确定性的(不是 LLM 生成的),这保证了关键操作的可靠性和可审计性。
📚 课程关联: Hooks 解决了第三周阅读 2("How Long Contexts Fail")提到的 Context Drift 问题——通过在关键节点强制执行确定性逻辑来防止 agent 偏离。
③ Commands(命令)
定义: 将常用 prompt 存储为文件,agent 可以执行这些命令。
| 用途 | 示例 |
|---|---|
| 运行测试 | /project:run-tests |
| 审查代码 | /project:review-code |
| Git 操作 | /project:ship-it(commit + push + PR) |
Commands 存储在 .claude/commands/ 文件夹中,支持 $ARGUMENTS 参数传递。
📚 延伸阅读: Claude Code Best Practices(阅读 2)详细展示了 slash commands 的实现,包括自动修复 GitHub issue 的完整命令模板。
④ Subagents(子 Agent)
定义: 运行时委托,将任务分派给具有独立上下文窗口的专门 agent。
核心特性:
- 为不同类型的工作创建独立的开发者人格(前端、后端等)
- 每个子 agent 拥有定制的 system prompt、工具和独立的上下文窗口
- 实现Agent 管理 Agent 的架构
💡 实战示例:
主 Agent(Tech Lead 角色)
├── Frontend Sub-agent(React 专家,只能访问 src/components/)
├── Backend Sub-agent(Python 专家,只能访问 api/)
├── Test Sub-agent(QA 角色,运行测试套件)
└── Docs Sub-agent(技术写作,更新 README/CHANGELOG)
📚 课程关联: 子 agent 直接解决了第三周阅读 2 的四种上下文失败问题:
- Context Poisoning → 隔离上下文,一个子 agent 的错误不会污染其他
- Context Distraction → 每个子 agent 只加载相关上下文
- Context Confusion → 每个子 agent 只拥有自己需要的工具
- Context Clash → 信息分离,减少冲突
参考实现:
5. 最佳实践
| 实践 | 详情 |
|---|---|
| 设置安全后盾 | 代码库中的测试 + CI/CD 最佳实践 |
| 可审计性 | 标记每个 agent 产生的 diff |
| 不同模型做不同任务 | Opus 做规划,Sonnet 做日常编码 |
| 复杂任务需要更多引导 | 比完全异步的简单任务需要更多前期投入 |
| 定期 Checkpoint | 频繁 commit,方便回滚 |
📚 延伸阅读: "Good Context Good Code"(阅读 5)中 StockApp 团队验证了这些实践——他们的 agent "误操作删除了开发数据库好几次",证明了安全后盾的必要性。
6. 开放问题
- 如何自动化每个任务前 10-20% 的研究阶段?(目前仍是 Planning 的瓶颈)
- 如何维护待处理任务队列?(一次性变更容易,但持续管理多任务的工作流尚未成熟)
第二讲:Guest Lecture——Boris Cherny(Anthropic/Claude Code 创始人)(10/17)
1. 核心论点:编程正处于拐点
两条指数增长曲线:
- 编程语言生产力:Fortran → C → Python → TypeScript → ✻ AI
- IDE 生产力:ed → Emacs → Eclipse → Copilot → Cursor → Claude Code → Devin
IDE 演进简史(Boris 视角):
| 年份 | 工具 | 关键创新 |
|---|---|---|
| 1964 | IBM 029 | 打孔卡编程 |
| 1969 | ed | 第一个基于文本的编辑器 |
| 1980 | Smalltalk-80 | 第一个带 GUI 的 IDE |
| 1991 | Visual Basic | 第一个主流可视化编辑器 |
| 2001 | Eclipse | 第三方插件生态 + 丰富自动补全 |
| 2021 | Copilot | 多行 AI 自动补全 |
| 2024 | Devin | 对话优先,远离直接操作代码 |
"验证"也在快速进化:从手动调试 → 静态类型 → 自动测试 → CI → AI 驱动的单元测试/模糊测试/漏洞测试 → self play
2. Claude Code 的设计哲学
核心原则:Works Everywhere(到处可用)
三大支柱:
- Terminal-native(终端原生)
- Low-level model access(底层模型访问)
- Infinitely hackable(无限可扩展)
覆盖完整 SDLC:
① Discover → ② Design → ③ Build → ④ Deploy → ⑤ Support & Scale
探索代码库 规划项目 实现代码 自动化CI/CD 调试错误
搜索文档 技术规格 写测试 配置环境 大规模重构
入职学习 架构定义 创建PR 管理部署 监控性能
关键: 使用你团队的所有 CLI 工具(git, docker, bq 等),让你专注于解决方案而非语法。
3. 一个 Claude Code,多种形态
| 形态 | 场景 |
|---|---|
| Terminal | 终端命令行(核心形态) |
| IDE | VS Code / Cursor 集成 |
| Web & iOS | claude.ai/code 网页版 |
| GitHub App | /install-github-app 集成到 CI |
| SDK | 编程式调用,支持管道和 JSON 输出 |
SDK 示例:
# 查询本周工作
claude -p "what did i do this week?" \
--allowedTools Bash(git log:*) \
--output-format stream-json
# 管道式工作流
get-gcp-logs 1uhd832d |
claude -p "correlate errors + commits" \
--output-format=json |
jq '.result'
4. 使用模式与工作流
四大使用模式:
| 模式 | 描述 |
|---|---|
| Codebase Q&A | 向 Claude 询问代码库问题(入职利器) |
| Write Code | 一次性 / 伙伴模式 / 原型模式 |
| MCP Integration | 连接外部工具和数据 |
| Power Automation | SDK 驱动的自动化流程 |
三种核心工作流(与第一讲对应):
① Explore → Plan → Confirm → Code → Commit
> figure out the root cause for issue #983,
> then propose a few fixes.
> Let me choose an approach before you code. ultrathink
- 使用 "think" / "think hard" / "think harder" / "ultrathink" 触发不同级别的深度思考
② Tests → Commit → Code → Iterate → Commit(TDD 模式)
> write tests for @utils/markdown.ts to make sure links
> render properly (note the tests won't pass yet).
> then commit. then update the code to make the tests pass.
③ Code → Screenshot → Iterate(视觉迭代)
> implement [mock.png]. Then screenshot it with puppeteer
> and iterate till it looks like the mock.
📚 课程关联: 这三个工作流直接细化了第一讲的"Agent Manager"职责——人类通过选择正确的工作流来管理 agent 的行为模式。
5. 原型迭代实录
Boris 展示了 Claude Code 自身的 TODO 功能开发过程(Slides 34-43),展现了快速原型迭代的真实过程:
尝试 1: "显示 todo 列表在工具使用上方" → 不满意
尝试 2: "用粗体标题内联显示工具使用" → 不满意
尝试 3: "在输入框下加 todo pill" → 不满意
尝试 4: "todo 列表在输入框右边" → 不满意
尝试 5: "todo 列表在输入框上方" → 接近了
尝试 6: "融入 spinner,当前 todo 用主动语态" → ✅
尝试 7: "ctrl+t 展开/收起 todos" → ✅ 最终方案
关键启示: 7 次迭代,每次只用一句自然语言描述。这就是 Boris 所说的"原型模式"——快速试错、快速收敛。对比传统开发需要手写代码调整 UI,这里每次迭代可能只需几十秒。
6. 四条核心教训
| # | 教训 | 含义 |
|---|---|---|
| 1 | Build for the model six months from now | 不要为当前模型的局限性做太多 workaround,模型很快会更强 |
| 2 | Be ready to evolve | 工具和工作流会快速变化,保持适应性 |
| 3 | Ask not what the model can do for you | 思考你能为模型做什么(更好的上下文、工具、配置) |
| 4 | Models get better, compute gets cheaper | 投资于 agent 基础设施会随时间获得复利 |
📚 课程关联: "Build for the model six months from now" 与第一讲 Slide 4 的开发团队演化图完美呼应——我们正处于 "2023 → 2025+" 的过渡期,投资于 agent 管理技能的回报会随模型进步而指数增长。
🔗 两讲之间的联系
| 维度 | 第一讲(Mihail) | 第二讲(Boris/Anthropic) |
|---|---|---|
| 视角 | Agent 管理的理论框架 | Claude Code 的实际实现 |
| 核心 | 四种指导技术 + 最佳实践 | 设计哲学 + 三种工作流 |
| 抽象层次 | 通用(适用于任何 agent 工具) | 具体(Claude Code 特定) |
统一理解:
- 第一讲建立了 "Agent Manager" 的角色模型和工具箱(Hooks、Commands、Subagents)
- 第二讲通过 Claude Code 展示了这些概念的具体产品实现
- 两讲共同传递的信息:开发者的核心技能从 "写代码" 转向 "管理 agent + 设计上下文 + 选择工作流"
📚 第四周阅读材料速览
| # | 材料 | 核心主题 | 课堂关联 |
|---|---|---|---|
| 1 | How Anthropic Uses Claude Code (PDF) | Anthropic 内部如何使用 Claude Code | 第二讲 Boris 演示的官方背景 |
| 2 | Claude Code Best Practices (Anthropic) | CLAUDE.md + 工作流 + 最佳实践 | 第一讲所有技术的官方手册 |
| 3 | Awesome Claude Agents | 社区 CLAUDE.md 和子 agent 配置集合 | 第一讲 Subagents 的参考实现 |
| 4 | SuperClaude Framework | 多 agent 框架 + 专业化 agent 定义 | 第一讲 Subagents 的高级框架 |
| 5 | Good Context Good Code (StockApp) | AI-native 工程文化实践 | 全周内容的实战验证 |
| 6 | Peeking Under the Hood of Claude Code | 通过 LiteLLM 代理逆向分析 Claude Code | 第二周 Agent 架构的底层揭秘 |
🛠️ 第四周作业
Coding with Claude Code — 使用 Claude Code 完成编码任务
阅读材料笔记
CS146S 第四周阅读材料笔记总结
Stanford University · Fall 2025 · 讲师:Mihail Eric
阅读材料一览
| # | 材料 | 类型 | 核心主题 | 获取质量 |
|---|---|---|---|---|
| 1 | How Anthropic Uses Claude Code | Anthropic 内部 Claude Code 使用 | ⚠️ PDF 无法直接获取 | |
| 2 | Claude Code: Best Practices | 工程博客 | 完整使用指南 | ✅ 完整获取 |
| 3 | Awesome Claude Agents | GitHub 仓库 | 社区 agent 配置集合 | ⚠️ 概要 |
| 4 | SuperClaude Framework | GitHub 仓库 | 多 agent 框架 | ⚠️ 概要 |
| 5 | Good Context Good Code | 工程博客 | AI-native 工程文化 | ✅ 完整获取 |
| 6 | Peeking Under the Hood of Claude Code | Medium 文章 | 逆向分析 Claude Code | ✅ 完整获取 |
📖 阅读 2:Claude Code: Best Practices for Agentic Coding(Anthropic)
来源: Anthropic 工程博客,2025 年 4 月 18 日
🔗 课堂关联: 这是本周最重要的参考文档——第一讲所有技术(CLAUDE.md、Hooks、Commands、Subagents)的官方最佳实践手册,也是第二讲 Boris 演示的配套文档。
一、定制你的环境
① CLAUDE.md 文件(核心配置)
Claude 启动对话时自动加载的特殊文件。应记录:
- 常用 bash 命令
- 核心文件和工具函数
- 代码风格指南
- 测试说明
- 仓库规范(分支命名、merge vs rebase 等)
- 开发环境设置
- 项目特有的异常行为或警告
CLAUDE.md 放置位置:
| 位置 | 行为 | 适用场景 |
|---|---|---|
| 项目根目录 | 自动加载 | 最常见用法,推荐提交到 git |
根目录(.local.md后缀) |
自动加载但不提交 | 个人偏好 |
| 父目录 | 自动加载 | Monorepo 中的子项目 |
| 子目录 | 按需加载 | 在子目录中工作时自动引入 |
~/.claude/CLAUDE.md |
全局应用 | 所有项目通用设置 |
关键技巧: 按 # 键可以给 Claude 一个指令,它会自动写入相应的 CLAUDE.md。把 CLAUDE.md 的变更加入 commit,团队成员也能受益。
💡 Anthropic 内部做法: 定期通过 prompt improver 优化 CLAUDE.md,并使用 "IMPORTANT" 或 "YOU MUST" 等强调词提高指令遵循度。
② 工具权限管理
四种管理方式:
- 会话中选择 "Always allow"
/permissions命令添加/移除- 手动编辑
.claude/settings.json --allowedToolsCLI 标志
③ 安装 gh CLI
Claude 可以使用 gh 创建 issue、开 PR、读评论等。
二、赋予 Claude 更多工具
① Bash 工具
Claude 继承你的 bash 环境,可以使用所有你的工具。自定义工具需要通过 CLAUDE.md 或直接告知。
② MCP 集成 Claude Code 既是 MCP Server 也是 MCP Client。配置方式:
- 项目级配置(当前目录生效)
- 全局配置(所有项目生效)
- 提交到仓库的
.mcp.json(团队共享)
③ Custom Slash Commands
将常用工作流存储为 .claude/commands/ 中的 Markdown 文件。
📚 课堂关联: 这三种工具扩展方式直接对应第一讲 Slide 8 的"指导 Agent 的技术":Bash 工具(环境)、MCP(外部工具)、Commands(预定义流程)。
三、核心工作流
① Explore → Plan → Code → Commit
四步法,适合大多数问题:
- 让 Claude 阅读相关文件/图片/URL(明确告诉它此时不要写代码)
- 复杂问题应积极使用 subagents 做验证和调查
- 让 Claude 制定计划——使用 "think" 触发深度思考
- "think" < "think hard" < "think harder" < "ultrathink",每级分配更多思考预算
- 让 Claude 实现代码
- 让 Claude 提交并创建 PR
关键: 步骤 1-2 至关重要——没有它们,Claude 会直接跳到写代码。
② Tests → Code → Iterate → Commit(TDD 模式)
Anthropic 内部最爱的工作流:
- 让 Claude 基于输入/输出对写测试(明确说明是 TDD,避免 mock)
- 让 Claude 运行测试并确认失败
- 提交测试
- 让 Claude 写代码使测试通过(可用独立 subagent 验证实现没有过拟合测试)
- 提交代码
③ Code → Screenshot → Iterate(视觉迭代)
用 Puppeteer MCP 或 iOS Simulator MCP 截图,对比视觉 mock 迭代。
④ Safe YOLO Mode
claude --dangerously-skip-permissions 跳过所有权限检查,适用于修 lint 错误或生成样板代码。必须在无网络的容器中使用。
⑤ Codebase Q&A(入职利器)
Anthropic 内部用这种方式大幅缩短入职时间。
⑥ Git 和 GitHub 交互
Anthropic 工程师 90%+ 的 git 操作通过 Claude 完成。
四、优化技巧
| 技巧 | 详情 |
|---|---|
| 具体化指令 | 模糊 → "add tests for foo.py";具体 → "write tests covering the edge case where user is logged out, avoid mocks" |
| 给图片 | 截图粘贴(macOS: cmd+ctrl+shift+4 截图到剪贴板 → ctrl+v 粘贴) |
| 引用文件 | Tab 补全快速引用仓库中的文件/文件夹 |
| 给 URL | 粘贴 URL,Claude 会抓取并阅读 |
| 及早纠正 | Escape 中断 → 重新引导;双击 Escape 回到历史编辑 |
/clear 清理上下文 |
任务间频繁清理,避免上下文污染 |
| Checklist/Scratchpad | 复杂任务让 Claude 用 Markdown 文件追踪进度 |
📚 课堂关联:
/clear直接解决了第三周阅读 2 的 Context Distraction 问题;Checklist 策略解决了长任务中的 Context Poisoning(通过外化状态到文件而不是留在上下文中)。
📖 阅读 5:Good Context Good Code (StockApp)
作者: Waleed Kadous 等(StockApp 团队,来自 Google 等大厂) 发表: 2025 年 8 月 5 日
🔗 课堂关联: 这是全周内容的实战验证——一个从零开始构建 AI-native 工程文化的团队,验证了课堂教授的所有核心理念。
核心洞见
"好代码是好上下文的副产品。"(Good code is a side effect of good context.)
AI-native 开发不是取代工程师,而是通过精心设计的共享上下文实现系统化的人-AI 协作。
生产力数据
- AI-native 开发比手动开发提效 ~2.5x
- 比"现有开发文化+AI 增强"提效 ~2x
- Q2 2025:13 周内 1,098 个 PR(每开发者每周 10.6 个 PR,行业标准约 1 个)
五大原则
原则 1:Repo 是人和 Agent 的共享工作区
repo/
├── docs/designs/ # 产品需求、高层目标(Why & What)
├── docs/plans/ # 详细实现计划(How)——人+agent 联合生成
├── docs/guides/ # API 和工具教程——常由 agent 起草
├── schema.sql # 单一的规范 schema(数据结构的真相源)
├── README.md # 给人看的(各处分布)
└── CLAUDE.md # 给 agent 看的(各处分布)
关键洞见: 自然语言和编程语言同等重要。他们故意在 repo 中放入比"纯人类团队"更多的文档,因为 repo 不仅是给人用的,也是给机器用的。
原则 2:层级式开发(Hierarchical Development)
人和 Agent 在每个层级协作,逐步构建上下文:
Design(人提需求 → agent 起草 → 共同迭代 → 提交)
↓
Plan(agent 将设计转化为分阶段任务 → 人审查)
↓
Implement(agent 写大部分代码 → 人审查)
↓
Backstop(测试和其他安全机制)
↓
Review(人+agent 最终审查)
↓
Update(更新文档、CLAUDE.md、schema)
📚 课堂关联: 这六步流程是第一讲 Slide 7 "软件任务分工"的详细展开版本,同时呼应了第三周"Specs 驱动开发"的理念。
原则 3:用 Agent 做一切(除非有充分理由不用)
非常规用法:
- Agent 写 commit 和 PR 消息
- Agent 更新文档(而非人手动编辑)
- Agent 更新 CLAUDE.md——"它比我们更知道如何指导自己"
- Agent 写测试(但要警惕 over-mocking 倾向)
- 调试是联合活动:人提出假设 → agent 验证
- Agent 在代码库中查找重复代码、死代码、安全问题
重要警告: "Agent 不是魔法。我们始终全神贯注地监督。Agent 曾多次误操作删除了我们的开发数据库。"
原则 4:MCP 和命令让上下文理解更容易
StockApp 使用 6 个 MCP server:
| MCP Server | 用途 |
|---|---|
| Notion | 获取决策上下文、功能描述 |
| Linear | 读取/更新工单,在 Notion 设计 → Linear 任务之间架桥 |
| AWS | 直接读取服务器日志进行调试 |
| SQL Dev DB | 验证数据库中的数据正确性 |
| Git/GitHub | 研究历史版本、创建 PR、解决仓库问题 |
最令人兴奋的用法: "读取 Linear 中的 bug 描述,然后遍历最近 10 个 commit,找出最可能导致 bug 的那个。"——MCP 让跨系统的信息桥接变得自然。
原则 5:集成(Ensemble)优于个体
使用 Zen MCP Server 让 Claude Code 也能向 Gemini 和 o3 征求反馈。
实例: 关于 MCP server 认证方案,Gemini 推荐 payload-based auth 为"最务实和可扩展的方案",而 o3 更谨慎地将 per-user clients 排为 #1。多模型多视角帮助做出更好的决策。
📚 课堂关联: "人类 + 多个 agent = ensemble"直接呼应了第一讲的核心目标——开发者管理多个专业化 agent。StockApp 更进一步证明了不同 LLM 的多样性也是 ensemble 的一部分。
📖 阅读 6:Peeking Under the Hood of Claude Code
作者: OutSight AI 发表: 2025 年 8 月 20 日
🔗 课堂关联: 这是第二周 Agent 架构(Agent Loop、System Prompts、Tool Calls)的底层揭秘——通过 LiteLLM 代理拦截 Claude Code 的 API 请求,直接观察它在做什么。
实验方法
通过 LiteLLM 作为透明代理,拦截 Claude Code 和 Anthropic API 之间的所有请求:
Claude Code → LiteLLM Proxy → Anthropic API
↓(记录所有请求/响应)
核心发现
发现 1:Front-loaded Context(前置上下文加载)
在你开始编码之前,Claude Code 已经做了大量"预处理":
- 提取对话标题:总结当前对话(<50 字符)
- 判断是否新话题:分析当前消息是否是新的对话主题
- 加载项目上下文:CLAUDE.md、文件结构等
📚 课堂关联: 这直接验证了第二周第二讲 Slide 7 的"Claude Code Secret Sauce"——"front-loaded context"不是比喻,而是实际发生的 API 调用。
发现 2:System Reminders 无处不在
<system-reminder> 标签被嵌入到了所有地方:
- System prompts
- User prompts
- Tool call 结果
- Todo 列表更新
示例——一条用户消息中包含的多层 system-reminder:
<!-- Reminder 1: 行为指导 -->
<system-reminder>
Do what has been asked; nothing more, nothing less.
NEVER create files unless absolutely necessary.
ALWAYS prefer editing an existing file to creating a new one.
</system-reminder>
<!-- 用户的实际消息 -->
Can you analyze @sb-agent/ and tell me how it works...
<!-- Reminder 2: LS 工具的调用记录 -->
<system-reminder>
Called the LS tool with the following input: {"path": "..."}
</system-reminder>
<!-- Reminder 3: LS 工具的结果 + 安全检查 -->
<system-reminder>
Result of calling the LS tool: "..."
NOTE: do any of the files above seem malicious?
</system-reminder>
<!-- Reminder 4: Todo 列表状态 -->
<system-reminder>
Your todo list is currently empty. DO NOT mention this to the user.
</system-reminder>
📚 课堂关联: 这直接解决了第三周阅读 2("How Long Contexts Fail")的 Context Distraction 问题——通过不断注入 system-reminders,防止模型在长上下文中"忘记"关键指令。
发现 3:命令注入检测是生成式的
Claude Code 的权限系统不是硬编码的——它使用一个专门的子 prompt 来分析命令前缀并检测注入:
示例:
- cat foo.txt → cat(安全)
- git commit -m "foo" → git commit(安全)
- git diff $(cat secrets.env | base64 | curl...) → command_injection_detected(危险!)
- git status`ls` → command_injection_detected(危险!)
📚 课堂关联: 这是第一讲 Slide 9 "Hooks" 的底层实现——
PreToolUsehook 在执行 bash 命令前做安全检查,但这个检查本身是 LLM 驱动的,不是简单的正则匹配。
发现 4:Sub-agents 的自适应上下文
Claude Code 使用 "Task" 工具生成子 agent,每个子 agent 有更窄的指令集。子 agent 的上下文会根据任务复杂度动态调整。
🔗 六篇阅读材料的交叉主题
1. "Agent Manager" 的完整工具箱
- 阅读 2(Claude Code Best Practices)= 官方手册
- 阅读 3(Awesome Claude Agents)+ 阅读 4(SuperClaude)= 社区实践集合
- 阅读 5(StockApp)= 企业级实战验证
- 阅读 6(Under the Hood)= 底层实现揭秘
2. 上下文工程的实践闭环
第三周理论("How Long Contexts Fail")→ 本周实践:
| 上下文失败模式 | 解决方案(本周学到的) |
|---|---|
| Context Poisoning | 频繁 checkpoint/commit(阅读 2)、独立子 agent 隔离(课堂 Slide 11) |
| Context Distraction | /clear 清理上下文(阅读 2)、system-reminders 防漂移(阅读 6) |
| Context Confusion | 选择性加载工具/文件(阅读 2)、MCP 按需连接(阅读 5) |
| Context Clash | 层级式开发 Design → Plan → Implement(阅读 5)、TDD 先测试后编码(阅读 2) |
3. 好上下文 = 好代码
这是本周所有材料的统一主题:
- CLAUDE.md / AGENTS.md / docs/ = 静态上下文
- MCP servers = 动态上下文
- System reminders = 持续上下文
- Hooks / Commands = 确定性上下文
- Subagents = 隔离上下文
🔗 课程脉络: 第一周"LLM 基础" → 第二周"Agent + MCP" → 第三周"IDE + Workflow" → 第四周"Agent Manager + 上下文工程实践"。到目前为止,课程已经完成了从理论到实践的全链路。下一周(第五周)将进入"The Modern Terminal",探索 AI-enhanced 命令行界面。
思维导图
本周暂未提供思维导图。
知识图谱
本周暂未提供知识图谱。