斯坦福CS146S:现代软件开发者Week4学习笔记

Week4:Coding Agent模式(Claude Code)

关于Agent Manager

演进

当前软件开发团队模式有四个演进阶段,过去当需要增加产出时只能增加人手,现在一个开发者+AI agent对于生产力有了质的飞跃。

  • 传统独立开发:最基础的开发模式,生产力受限于个人能力
  • 团队管理模式:技术负责人管理多个开发者的产出,通过团队协作放大生产力
  • AI辅助管理:负责人借助AI系统管理多个开发者的产出,提高管理效率
  • 个人+AI代理模式:这是当前正在发生的变革:一个程序员可以指挥多个AI agent协同工作 1

接着我们可以看看当前变革下软件开发的具体流程

  1. 提供高层级需求,将需求转换成设计文档(人机协作完成)
  2. 根据文档实现解决方案(AI,这里说明当AI能力不达标或者需求文档不够好时,一次直接生成的代码不一定符合需求,此时你需要分步骤分别让AI实现)
  3. 添加测试,确保测试集成通过(AI)
  4. 代码审查(人机协作),更新文档(AI)

因此可以发现,在这个流程中程序员起到的作用更多的是一个管理审核人员,管理AI完成工作。

如何有效使用AI

我们不能仅仅局限于跟AI聊天,要将这个过程当成工程化的控制AI。

常见的技巧有:

  • Agent行为文件:比如Claude.md / Cursorrules/ agents.md 这些都相当于配置文件,用来规定项目的代码风格,技术显示,禁止做的事情等等
  • Hooks:在预定义事件类型上运行的确定性脚本,也就是可以记录,干预,校验AI行为的工具。
    • 常见的有:PreToolUse(调用工具之前的确认,比如修改敏感文件,提交代码等),PostToolUse(AI调用完工具之后,比如自动测试,更新项目索引,生成变更摘要),UsePromptSubmit(人类向AI发送指令之前,能够自动添加上下文,过滤危险指令等),PreCompact(AI压缩或整理对话历史之前,能保留关键决策点,插入注释等) and more
  • Commands:把常用的提示词保存为文件,供 AI 代理直接执行,比如/test /fix, /git-all等
    • 你提前写好一套标准指令(比如“请帮我运行所有单元测试并报告结果”),存成一个 .command.prompt 文件,以后只需输入 /test 或点击按钮,AI 就自动执行这套流程。
  • Sub Agents:当有些任务在当前代理中和当前代理任务无关时,派遣一个自代理有助于更好的管理上下文和发挥agent的各自功能。
    • 子代理的目的在于创建不同类型的专属开发者人格,能够和主代理的上下文保持隔离,拥有独立记忆和工具集。

实践中,同时要注意一些使用ai的事项:

  1. 注意要有谨慎的安全网。代码库中必须要有完整的测试;AI修改代码后最好能自动触发测试检查,也就是持续集成/部署

  2. 每个代理的行为必须可追溯。也就是为每个AI生成的变更打标签

  3. 不同的任务用不同的模型,合理分配任务。比如简单重构,文档生成都可以用简单模型;架构设计,代码生成用大模型

  4. 复杂的任务需要人工引导,简单的任务可以防守让AI异步完成

    比如对于复杂任务先给AI详细的设计文档和分布指令,中途多个check point,最后人工review。而像更新readme这种简单任务丢给AI,设置好hooks自动验证即可。

  5. 定期提交快照。当AI走错路改错文件时,可以快速返回上次状态。

Claude Code介绍

设计核心原则
  • Terminal-native(终端原生):Claude Code 不是一个独立的GUI应用,而是一个运行在命令行里的工具。
  • Low-level model access(底层模型访问):你可以直接控制使用的AI模型
  • Infinitely hackable(无限可定制):可以修改Hook逻辑、添加新Command、创建Subagent角色
简单安装指南

claude code安装 + 阿里模型API配置 - 知乎

实战开发指南
1
设计(Design) → 计划(Plan) → 实现(Implement) → 测试(Test) → 审查(Review) → 更新(Update)
  • 设计阶段:用 AI 辅助需求分析和技术方案设计,输出到 docs/designs/
  • 计划阶段:用 AI 将设计拆解为具体的实施步骤,输出到 docs/plans/
  • 实现阶段:AI 按照计划编写代码,参考 schema.sqldocs/guides/
  • 测试阶段:AI 根据设计和计划生成测试用例
  • 审查阶段:多个 AI 模型交叉审查代码(集合方法)
  • 更新阶段:根据反馈更新文档和代码
推荐资料

awesome-claude-agents

How Anthropic teams use Claude Code .pdf

SuperClaude-Org/SuperClaude_Framework.

Assignment - claude实战

cs146s/week4 at master · Sutdown/cs146s

Licensed under CC BY-NC-SA 4.0