吴恩达认证!Claude官方编程课上线一周,学员项目效率暴增,奉上学习笔记
Andrew Ng 在推特上宣布了 DeepLearning.AI 联合 Anthropic 推出的《Claude Code: A Highly Agentic Coding Assistant》课程
8月6日,Andrew Ng 在推特上宣布了DeepLearning.AI联合Anthropic推出的《Claude Code: A Highly Agentic Coding Assistant》课程,这是一门教你驾驭"高度自主编程助手"的权威指南。
花了两天的时间总算看完了这个课程,奉上学习笔记和Vibe Coding体会。
吴恩达(Andrew Ng)的主要成就和影响
吴恩达(Andrew Ng)可谓是AI领域产、学、研的专家和教育先驱。
產業
百度首席科学家(2014-2017):组建1300人AI团队,将百度转型为AI驱动企业,推动自动驾驶(Apollo)、DuerOS语音助手等核心项目。
Landing.AI 创始人(2017年):专注制造业AI解决方案,帮助传统企业实现质检自动化、预测性维护等。
教育
Coursera 联合创始人(2012年):创办全球最大在线教育平台之一,彻底改变了高等教育模式。
《机器学习》课程(斯坦福大学,2008年上线):全球超过500万人学习,成为AI入门“圣经”,启蒙了无数开发者,中文翻译版:https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes
DeepLearning.AI 创始人(2017年):推出“深度学习专项课程”,深度学习教程中文笔记(小编也算是主要编写人员的其中之一):https://github.com/fengdu78/deeplearning_ai_books
研究
谷歌大脑(Google Brain)项目联合创始人(2011年):领导团队用16000个CPU训练神经网络识别猫脸,首次证明大规模无监督学习的可行性。
深度学习突破:推动GPU在深度学习训练中的应用(2010年代初期);在语音识别(如百度Deep Speech)、计算机视觉领域提出关键模型。
Claude Code 课程基础知识
课程目的
最佳实践教学:提供清晰的背景 / 上下文信息,帮助 Claude Code 高效完成任务
最佳实践应用:
RAG聊天机器人
重构 Jupyter Notebook,将其转换为仪表板
基于 Figma 原型创建Web应用
基础知识 - Claude code是什么?
Claude Code 是基于 Claude 大模型的智能编程代理,通过环境感知、自主规划和迭代执行,实现从错误诊断到代码修复的闭环操作,只需简单指令即可高效解决问题。
简单来说,Claude Code 就像个会自己修bug的AI程序员:你告诉它“报错了”,它能自动查代码、改问题、反复测试直到修好,全程不用你动手。
Claude code能做什么?
探索、设计、写代码、部署上线、运维监控都能让它帮你干。
Claude Code怎么用?
安装Claude Code
启动后会看到下面的界面,可以选择两种验证方式:
使用官方API 也可以验证,这是最推荐的方式,这种方式是官方原版,最佳性能,无损。
Claude Pro 或者 Max 订阅用户即可使用,登录Claude验证,记得开全局代理魔法:(1)账号验证(2)API验证
使用官方API 也可以验证,这是最推荐的方式,这种方式是官方原版,最佳性能,无损。
大模型 + 上下文 + 工具
通过给予模型一个环境(给模型套上缰绳),来收集上下文并采取行动,使得Claude Code能够处理更复杂的问题。
(1)大模型Claude:大脑 🧠
(2)Claude Code's Memory :提供环境来收集上下文
claude.md:定义通用配置或者风格指导,这些文件会自动加载,启动时进入上下文。
conversation history:对话保存在您的本地机器上,如果你想要在对话过程中清除它,你可以新开一个上下文窗口;如果你处于某个原因需要继续之前的对话,你可以选择之前的对话记录。
(3)Tool Use 工具:负责行动
Claude Code Tools 分类
Tool for launching sub-agents 构建子代理工具
Tool for creating a to-do list 构建待完成事项工具
Tools for searching and finding patterns 搜索和模式发现工具
Web tools 网页工具
Tools for editing 编辑工具
Tools for reading 阅读工具
Tools for additional actions 额外工具
Tools for agents:agent工具(为了处理非常困难和具有挑战性的任务)
Tools for executing bash commands 执行命令的工具
Strong Tools Use 强工具调用能力
Claude Code能处理很复杂的问题
Claude Code不必索引整个代码库并引发可能潜在的安全问题
可扩展性很强,可以添加其他工具、mcp servers / 模型上下文协议
Claude Code 实用技巧
(1)Claude Code Memory内存功能
/init 命令可以允许进行初始化,会出现一个包含代码库文档的CLAUDE.md文件。
CLAUDE.md:用于指定你希望如何运行,可能是你的测试,也可能是你的代码检查以及任何你想让Claude拥有的长期记忆
/init 命令生成的CLAUDE.md对应Project memory,存在于应用程序下,会存在于嵌套的子文件夹中,与其他工程师共享,并用于版本控制;如果有个人指令以及自定义,请针对您的编辑环境具体考虑
在终端环境中,你可以将内容放在一个 CLAUDE.local.md 文件中,对应于Project memory(local),这是被git忽略的,不与其他工程师共享
在home文件夹下,在.claude文件下,可以添加一个CLAUDE.md,~/.claude/CLAUDE.md对应User memory并且你可以把这个想象成在您的机器上为所有项目全局搜索claude.md,如果你喜欢claude遵循跨指令,这会很有帮助
三种不同的CLAUDE.md文件
Managing Project Memory 管理项目记忆
/init 命令:让Claude Code 扫描代码库,并在项目目录中创建 CLAUDE.md 文件。
CLAUDE.md 在每次启动 Claude Code 时,它都会自动包含在上下文中。
# 命令:使用 # 快速添加记忆。当您看到 Claude Code 重复一个错误时,这很有用。
示例 1:由于该项目是一个 uv 项目,我们使用 # 将这些内容添加到 CLAUDE.md 文件中:# use uv to run python files or add any dependencies
自定义命令:
如果有某些参数需要传递到你的自定义命令,可以使用它进行引用这个$ARGUMENTS变量,这个命令被使用意味着你正在实现一个新功能,用户可以制定该功能是什么
自定义命令和CLAUDE.md不同
自定义命令不会自动添加到上下文中
settings.local.json可以制定允许使用哪些命令,这样就不需要每次都确定
如果想要应用到每一个Claude Code实例,使用Claude.md文件
如果是一个特定的命令,比如在不同的对话中使用或不使用这些内容,自定义命令就是不错的选择
其他常用命令
/help命令,快速描述所有命令并且有一个总结
/clear命令,清楚对话历史并从头开始,这在你转换方向并构建新功能时非常有帮助
/compact命令,对历史的内容进行总结
esc命令,让你可以退出当前所在的命令
重要功能
1)指向正确的文件:使用@ + path to file,告诉claude code你需要指向的文件
2)使用plan mode
plan mode可以制定一个全面的计划,能够在采取行动之前进行规划和思考这个想法,构建你想要的界面,这极其有价值。
3)扩展功能
Extended Thinking Mode 扩展思考模式
对于复杂任务(例如,复杂的架构变更、调试复杂问题),您可以使用"think"一词来触发扩展思考模式。思考有几个级别:"think" < "think hard" < "think harder" < "ultrathink." 每个级别都会为 Claude 分配更多的思考预算。
Use of subagents 使用子代理
Claude Code 的一个开箱即用的工具是 Task,Claude Code 可以使用它来启动子代理以处理复杂的、多步骤的任务。您可以明确要求 Claude Code 使用子代理来构思想法,或调查您想要解决的问题的多个方面。这些内置代理是通用型的。
还可以创建您自己的定制化专业子代理:每个子代理都有自己的上下文窗口,您可以为每个子代理定义定制的系统提示和特定的工具。
(4)Git 妙用
Git
进行代码的版本管理,防止代码丢失并恢复
Git Worktrees
允许创建代码库的副本,独立运行,最后将它们合并在一起,可以使用claude来帮助合并以及工作树的管理
工作流程示例(RAG聊天机器人优化流程):
mkdir .trees:新建一个名为.trees的文件夹
git worktree add .trees/ui_feature 或 git worktree add .trees/testing_feature 或 git worktree add .trees/quality_feature:添加工作树并指定文件夹
打开不同的文件夹,使用open in integrated terminal 打开不同的终端
确保相同的文件被修改不会覆盖,ui_feature使用/implement-feature命令 + 需求执行,其他可以直接打开claude给予需求,分别执行不同feature的修改
等待需求完成,添加并提交一条描述性的消息,理解每一个worktree都做了什么
去到main branch合并这些东西,然后关掉这三个环境
重新打开claude
Promot:use the git merge command to merge in all of the work tress in the .trees folder and fix any conflicts if there are any problem
去浏览器看前端更改是否按预期实现
Prompt:remove the .trees folder and the underlying worktrees and once you are done push this code to GitHub
claude --resume命令,回到之前和worktrees的对话,可以返回之前任何一个地方,完成移除worktrees
GitHub 集成(GitHub Integration)
使用/install-github-app命令,进行一些配置,然后github页面pull the requests
可以@claude 解决问题,修改完后pull requests
git pull origin main
Hooks
由于Claude Code中有不同的操作,像执行一个工具或工具之后发生的事情,我们可以注入特定代码以在任何地方运行,可以注入代码到Claude Code生命周期中的一个点
使用 /hooks 命令,可以运行钩子的不同事件(在工具执行之前,也可以通过ESC阻止该工具执行)
可以使用claude code编写钩子并修改
Claude Code 课程案例详解
RAG聊天机器人
最佳实践:
从测试开始
Prompt: thinking a lot,触发思考模式,考虑到可能的错误,构建一个稳固的基础
再编写代码
提供清晰明确的需求,让Claude Code完成任务
Error Debugging
代码出现错误时,可以让其进行debug,发现关键问题,并且创建一些测试以及基础设施来继续前进时保持运行测试。
重构代码
根据需求,优化目前代码,比如运行速度、并行考虑等
RAG聊天机器人优化
参考Claude Code 实用技巧 ->(4)Git 妙用 -> Git Worktrees 的工作流程示例
(2)重构 Jupyter Notebook,将其转换为仪表板
最佳实践
使用@引用文件或文件夹
完成任务的最佳提示词
如果不确定如何最好地设计提示词或者不知道向Claude询问该做什么,可以问claude如何完成该任务,甚至可以直接问Claude,给到完成这任务的最佳提示词
完成重构jupyter notebook
展示数据渲染:使用Streamlit从笔记本迁移到可视化界面
构建的dashboard.py使用streamlit run dashboard.py命令来通过浏览器查看dashboard
基于 Figma 原型创建Web应用
最佳实践 —— 构建一个Next.js应用程序,并使用Claude Code连接到MCP服务器 for Figma和Playwright来处理一个模型并快速构建一个强大的web应用程序
构建草本
注册Figma账号,使用Figma MCP Server
使用Playwright的MCP Server,用来分Figma的模型,生成必要的html
通过浏览器打开进行测试,并拍摄屏幕截图,以达到与该应用程序的最佳交互
真实数据填充
可以使用claude code的网络搜索功能工具来找信息,用于实际数据的更新;也可以使用claude research能力,使用api获取数据,这个可能需要api密钥才可以这样做,如果有了api key,在.env.local更新api密钥
获取数据并在视觉上展示数据需要额外的代码,编写一个服务来获取经济数据,更新仪表板并使用我们的api获取真实数据。
测试
在playwright中测试,查看浏览器中在视觉上是怎么样的,是否需要让claude code再次修改
Distill AI - AGI时代的慢思考
Distill AI致力于报道并帮助AI创业公司获得曝光及用户增长,创始人均是多年资深VC背景,希望发掘早期有亮点的项目,助力其实现快速盈利和资本化