docs(appendix): 重写 Vibe Coding 章节,补充 EPCC 工作流与工具分类体系
This commit is contained in:
@@ -1,20 +1,50 @@
|
||||
@book{EJUUCH39,
|
||||
title = {All the Math You Missed: But Need to Know for Graduate School},
|
||||
author = {Thomas A. Garrity},
|
||||
title = {All the Math You Missed 2nd Edition},
|
||||
author = {{Thomas A. Garrity}},
|
||||
edition = {2},
|
||||
year = {2017},
|
||||
publisher = {Cambridge University Press},
|
||||
langid = {english}
|
||||
url = {https://www.cambridge.org/universitypress/subjects/mathematics/recreational-mathematics/all-math-you-missed-need-know-graduate-school-2nd-edition},
|
||||
urldate = {2026-05-29},
|
||||
langid = {gb},
|
||||
file = {F\:\\Zotero\\storage\\QZZ9ML74\\thomas-a.-garrity-all-the-math-you-missed-2nd-ed.pdf;F\:\\Zotero\\storage\\85NY3EYQ\\all-math-you-missed-need-know-graduate-school-2nd-edition.html}
|
||||
}
|
||||
|
||||
@book{MGDW8DPN,
|
||||
title = {人工智能:计算agent基础},
|
||||
author = {David L. Poole and Alan K. Mackworth},
|
||||
translator = {董红斌 and 董兴业 and 童向荣 and 汪廷华},
|
||||
year = {2015},
|
||||
author = {{普尔} and {麦克沃思}},
|
||||
translator = {{董红斌} and {董兴业} and {童向荣} and {汪廷华}},
|
||||
namea = {{David L.Poole} and {Alan K.Mackworth}},
|
||||
nameatype = {collaborator},
|
||||
date = {2015-01-01},
|
||||
series = {计算机科学丛书},
|
||||
publisher = {机械工业出版社},
|
||||
url = {https://book.douban.com/subject/26319332/},
|
||||
urldate = {2026-05-26},
|
||||
abstract = {《人工智能:计算agent基础》讨论AI科学,它将AI作为智能计算Agent设计的研究课题。《人工智能:计算agent基础》虽然设计为教科书,但它也适合广大专业人员和研究人员阅读。《人工智能:计算agent基础》的一个重要特色是其在线学习资源。在过去的几十年里,人工智能是作为一种严肃科学和工程学科出现的。《人工智能:计算agent基础》提供了针对本科生和研究生的第一手便利可用的领域综合资料,对当今该领域的基础发展进行了展望。像任何名副其实的科学一样,AI具有条理分明、形式化的理论和难以控制的实验。《人工智能:计算agent基础》均衡了理论和实验部分,并说明了如何将理论与实验密切地联系起来,使科学与工程应用共同发展。},
|
||||
isbn = {978-7-111-48457-8},
|
||||
langid = {chinese},
|
||||
origtitle = {Artificial Intelligence: Foundations of Computational Agents}
|
||||
origtitle = {Artificial Intelligence Foundations of Computational Agents},
|
||||
pagetotal = {452},
|
||||
annotation = {price: 79.00\\
|
||||
comments: 3\\
|
||||
creatorsExt: [\{"firstName":"","lastName":"普尔","creatorType":"author","fieldMode":1,"country":"加","original":"David L.Poole"\},\{"firstName":"","lastName":"麦克沃思","creatorType":"author","fieldMode":1,"country":"加","original":"Alan K.Mackworth"\},\{"firstName":"","lastName":"董红斌","creatorType":"translator","fieldMode":1,"country":"","original":""\},\{"firstName":"","lastName":"董兴业","creatorType":"translator","fieldMode":1,"country":"","original":""\},\{"firstName":"","lastName":"童向荣","creatorType":"translator","fieldMode":1,"country":"","original":""\},\{"firstName":"","lastName":"汪廷华","creatorType":"translator","fieldMode":1,"country":"","original":""\}]}
|
||||
}
|
||||
|
||||
@book{RP2EHXXB,
|
||||
title = {UNIX编程艺术},
|
||||
author = {Raymond, Eric S.},
|
||||
translator = {{姜宏} and {何源} and {蔡晓俊}},
|
||||
date = {2011-01},
|
||||
series = {博文视点·传世经典书丛},
|
||||
publisher = {电子工业出版社},
|
||||
url = {https://book.douban.com/subject/5387401/},
|
||||
urldate = {2026-06-04},
|
||||
abstract = {本书主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S. Raymond倾力多年写作而成。包括Unix设计者在内的多位领域专家也为本书贡献了宝贵的内容。本书内容涉及社群文化、软件开发设计与实现,覆盖面广、内容深邃,完全展现了作者极其深厚的经验积累和领域智慧。},
|
||||
isbn = {978-7-121-12329-0},
|
||||
langid = {chinese},
|
||||
origtitle = {The Art of UNIX Programming},
|
||||
pagetotal = {530},
|
||||
annotation = {price: 69.00元\\
|
||||
rating: 8.8\\
|
||||
ratingPeople: 334人评价\\
|
||||
comments: 117}
|
||||
}
|
||||
|
||||
@@ -5,108 +5,79 @@ Code、Markdown/Obsidian、Git/GitHub等核心工具的使用方法。
|
||||
|
||||
\section{Vibe Coding的概念与工具}
|
||||
|
||||
\subsubsection{什么是Vibe Coding}
|
||||
\subsection{什么是Vibe Coding}
|
||||
|
||||
传统编程:\textbf{明确需求 → 设计算法 → 编写代码}
|
||||
传统编程遵循``明确需求 → 设计算法 → 编写代码''的线性流程,而 Vibe Coding 则转变为``\textbf{模糊想法 → AI辅助 → 迭代完善}''。这是一种以AI为核心的编程新模式:开发者用自然语言描述意图,AI生成代码,再通过迭代对话逐步完善。对于编程经验较少的设计专业读者而言,这种模式大幅降低了技术门槛——不需要记住语法细节,只需要清楚地表达”想要什么”。
|
||||
|
||||
Vibe Coding:\textbf{模糊想法 → AI辅助 → 迭代完善}
|
||||
然而,编程技术门槛的降低并不意味着对原理理解的放松。《Unix编程艺术》\cite{RP2EHXXB}中提出了一条经典原则——``机制,而非策略''(Mechanism, not policy):好的系统应当提供稳定、通用的底层能力(机制),而将具体的使用方式和决策(策略)交给使用者。在 Vibe Coding 中,这一关系发生了有趣的反转:AI 承担的恰恰是``策略''的角色——它根据开发者的意图,自主选择实现方案、生成具体代码、决定技术路线;而开发者则必须掌握``机制''——理解算法原理、架构模式和调试方法——才能判断 AI 的策略是否正确。这意味着,Vibe Coding 对开发者的要求从``会写代码''转向了``会判断代码'':你需要理解架构原理才能审查AI的方案,需要掌握调试方法才能发现AI的错误,需要对领域知识有足够认知才能提出正确的问题。换言之,\textbf{AI 降低了编程的执行门槛,却提高了对思维门槛的要求}。
|
||||
|
||||
Vibe
|
||||
Coding是一种以AI为核心的编程新模式:开发者用自然语言描述意图,AI生成代码,再通过迭代对话逐步完善。对于编程经验较少的设计专业读者而言,这种模式大幅降低了技术门槛——不需要记住语法细节,只需要清楚地表达“想要什么”。
|
||||
\subsection{工作流程}
|
||||
|
||||
\subsubsection{工作流程}
|
||||
Vibe Coding 的基本流程是:\textbf{描述意图}→AI生成代码→运行测试→迭代优化→理解学习。例如,先让AI"创建一个图像分类模型",运行后发现问题,再逐步调整——"把隐藏层改成128个神经元"——最终阅读并理解AI生成的代码。简单任务可直接通过对话完成;面对较复杂的项目,推荐采用更结构化的四阶段工作流——\textbf{Explore-Plan-Code-Commit}(EPCC,表\ref{tab:epcc}),将 Vibe Coding 从"随意迭代"提升为"有章法的 AI 协作"。
|
||||
|
||||
\begin{table}[htbp]
|
||||
\centering
|
||||
\caption{Explore-Plan-Code-Commit 工作流四阶段}
|
||||
\label{tab:epcc}
|
||||
\begin{tabular}{@{} l l p{3.5cm} p{5.5cm} @{}}
|
||||
\toprule
|
||||
\textbf{阶段} & \textbf{英文} & \textbf{目的} & \textbf{典型操作} \\
|
||||
\midrule
|
||||
探索 & Explore & 理解项目全貌,避免脱离实际 & 通读现有代码、搜索相关文件、理解架构与已有模式 \\[3pt]
|
||||
规划 & Plan & 先想清楚再动手,确保方向正确 & 让 AI 生成实施方案,审查确认后再编码 \\[3pt]
|
||||
编码 & Code & 按计划逐步实现 & 分步实现功能、逐步验证、遇到问题回退调整 \\[3pt]
|
||||
提交 & Commit & 阶段性成果存档,保留历史轨迹 & 及时 git commit,附上有意义的说明 \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
|
||||
\textbf{示例场景}:为景观设计项目创建一个植物配置推荐工具。
|
||||
|
||||
\begin{enumerate}
|
||||
\def\labelenumi{\arabic{enumi}.}
|
||||
\tightlist
|
||||
\item
|
||||
\textbf{描述意图}:用自然语言说明需求
|
||||
\textbf{Explore}:让 AI 先通读项目中的植物数据库、现有推荐逻辑和用户反馈文件,理解上下文
|
||||
\item
|
||||
\textbf{Plan}:请求 AI 制定方案——``先分析需求,列出要实现的模块,我确认后再开始写代码''
|
||||
\item
|
||||
\textbf{Code}:按方案逐模块实现,每完成一个模块就运行验证
|
||||
\item
|
||||
\textbf{Commit}:每个功能模块完成后提交一次,如 ``feat: 添加按气候区域筛选植物的功能''
|
||||
\end{enumerate}
|
||||
|
||||
``帮我创建一个简单的图像分类模型''
|
||||
EPCC 的核心理念是\textbf{先理解、再规划、后动手、常存档}——这与传统的"边写边想"形成对比,特别适合设计专业读者在 AI 辅助下管理复杂项目。
|
||||
|
||||
\begin{enumerate}
|
||||
\def\labelenumi{\arabic{enumi}.}
|
||||
\setcounter{enumi}{1}
|
||||
\item
|
||||
\textbf{AI生成代码}:自动生成完整代码框架
|
||||
\item
|
||||
\textbf{运行测试}:发现问题或需要调整
|
||||
\item
|
||||
\textbf{迭代优化}:通过对话逐步改进
|
||||
\end{enumerate}
|
||||
\subsection{工具生态}
|
||||
|
||||
``把隐藏层改成128个神经元''
|
||||
当前 AI 编程工具已形成多种产品形态,各有侧重(表\ref{tab:ai-tools})。
|
||||
|
||||
\begin{enumerate}
|
||||
\def\labelenumi{\arabic{enumi}.}
|
||||
\setcounter{enumi}{4}
|
||||
\tightlist
|
||||
\item
|
||||
\textbf{理解学习}:阅读AI生成的代码,理解实现原理
|
||||
\end{enumerate}
|
||||
\begin{table}[htbp]
|
||||
\centering
|
||||
\caption{AI 编程工具的分类与代表产品}
|
||||
\label{tab:ai-tools}
|
||||
\begin{tabular}{@{} l l p{3.2cm} p{4.5cm} @{}}
|
||||
\toprule
|
||||
\textbf{类别} & \textbf{代表工具} & \textbf{特点} & \textbf{适用场景} \\
|
||||
\midrule
|
||||
网页对话 & ChatGPT、Claude.ai & 代码生成与解释,零配置 & 学习咨询、快速原型 \\[3pt]
|
||||
编辑器插件 & GitHub Copilot、Cline & 实时补全与对话,融入现有 IDE & 日常开发 \\[3pt]
|
||||
AI 原生 IDE & Cursor、Windsurf & 对话式编程,深度集成项目理解 & 快速原型、中型项目 \\[3pt]
|
||||
终端智能体 & Claude Code、Codex CLI & CLI 操作,多文件协作,架构级推理 & 项目级开发、大型重构 \\[3pt]
|
||||
云端自主智能体 & OpenAI Codex、Devin & 云端沙箱全自动执行 & 重复性任务、CI/CD 集成 \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
|
||||
\subsubsection{实践技巧}
|
||||
|
||||
{\def\LTcaptype{none} % do not increment counter
|
||||
\begin{longtable}[]{@{}
|
||||
>{\raggedright\arraybackslash}p{(\linewidth - 2\tabcolsep) * \real{0.1528}}
|
||||
>{\raggedright\arraybackslash}p{(\linewidth - 2\tabcolsep) * \real{0.4583}}@{}}
|
||||
\toprule\noalign{}
|
||||
\begin{minipage}[b]{\linewidth}\raggedright
|
||||
技巧
|
||||
\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright
|
||||
说明
|
||||
\end{minipage} \\
|
||||
\midrule\noalign{}
|
||||
\endhead
|
||||
\bottomrule\noalign{}
|
||||
\endlastfoot
|
||||
明确需求 & 详细描述输入输出,提供上下文 \\
|
||||
分步实现 & 复杂功能拆解为小任务,逐步完成 \\
|
||||
验证结果 & 运行并检查AI生成的代码是否正确 \\
|
||||
学习思考 & 不盲目接受,理解AI为什么这样写 \\
|
||||
\end{longtable}
|
||||
}
|
||||
|
||||
\subsubsection{工具生态}
|
||||
|
||||
{\def\LTcaptype{none} % do not increment counter
|
||||
\begin{longtable}[]{@{}
|
||||
>{\raggedright\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.2375}}
|
||||
>{\raggedright\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.1625}}
|
||||
>{\raggedright\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.3125}}
|
||||
>{\raggedright\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.2625}}@{}}
|
||||
\toprule\noalign{}
|
||||
\begin{minipage}[b]{\linewidth}\raggedright
|
||||
工具
|
||||
\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright
|
||||
形态
|
||||
\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright
|
||||
特点
|
||||
\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright
|
||||
适用场景
|
||||
\end{minipage} \\
|
||||
\midrule\noalign{}
|
||||
\endhead
|
||||
\bottomrule\noalign{}
|
||||
\endlastfoot
|
||||
ChatGPT / Claude & 网页对话 & 代码生成与解释 & 学习咨询、快速原型 \\
|
||||
GitHub Copilot & 编辑器插件 & 实时代码补全 & 日常开发 \\
|
||||
Cursor & AI原生IDE & 对话式编程 & 快速原型、中型项目 \\
|
||||
Claude Code & 终端CLI & 终端AI编程、多文件协作 & 项目级开发 \\
|
||||
Replit Agent & 在线平台 & 端到端开发 & 小型项目、学习实验 \\
|
||||
\end{longtable}
|
||||
}
|
||||
初学者可从``网页对话''入手,逐步过渡到``编辑器插件''和``AI 原生 IDE''。对于需要深度掌控项目结构的中大型工作,``终端智能体''提供了最强的控制力和推理深度。``云端自主智能体''正在快速发展,能够独立完成从需求到部署的全流程,但在可控性和代码质量方面仍有提升空间。选择工具时,核心考量因素包括:上下文理解能力(能否理解整个项目而非单文件)、代码质量与幻觉控制(生成结果是否可靠)、以及成本效率(每次交互的 token 消耗)。
|
||||
|
||||
\section{Claude Code简介与使用}
|
||||
|
||||
\subsubsection{什么是Claude Code}
|
||||
\subsection{什么是Claude Code}
|
||||
|
||||
Claude
|
||||
Code是Anthropic推出的命令行AI编程工具(CLI),能够直接在终端中理解项目上下文、读写文件、执行命令,实现端到端的AI辅助开发。它也提供VSCode扩展,可以在编辑器中无缝使用。
|
||||
|
||||
\subsubsection{安装与配置}
|
||||
\subsection{安装与配置}
|
||||
|
||||
\emph{\# 安装(需要 Node.js 18+)}\\
|
||||
npm install -g @anthropic-ai/claude-code\\
|
||||
@@ -117,7 +88,7 @@ claude
|
||||
|
||||
启动后进入交互式对话界面,直接用自然语言描述需求即可。
|
||||
|
||||
\subsubsection{核心使用方式}
|
||||
\subsection{核心使用方式}
|
||||
|
||||
\textbf{对话式开发}:用自然语言描述任务,Claude
|
||||
Code会自动读取相关文件、编写代码、执行测试。
|
||||
@@ -131,7 +102,7 @@ Code可以直接读取、创建和编辑项目中的文件,每次修改前会
|
||||
\textbf{命令执行}:可以请求Claude
|
||||
Code运行终端命令,如安装依赖、运行脚本等。
|
||||
|
||||
\subsubsection{VSCode中的Claude
|
||||
\subsection{VSCode中的Claude
|
||||
Code}
|
||||
|
||||
Claude Code提供VSCode扩展,在编辑器中获得同样的AI辅助能力:
|
||||
@@ -151,7 +122,7 @@ Claude Code提供VSCode扩展,在编辑器中获得同样的AI辅助能力:
|
||||
\textbf{常用场景}: - 选中一段代码,请求”解释这段代码“ -
|
||||
选中函数,请求”添加错误处理” - 在Claude面板中输入”帮我写单元测试”
|
||||
|
||||
\subsubsection{典型项目工作流}
|
||||
\subsection{典型项目工作流}
|
||||
|
||||
\textbf{推荐项目结构}:
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
% ========== 行距 ==========
|
||||
\usepackage{setspace}
|
||||
\onehalfspacing
|
||||
\doublespacing
|
||||
|
||||
% ========== 修复页眉高度警告 ==========
|
||||
\setlength{\headheight}{14.49998pt}
|
||||
@@ -95,3 +95,6 @@
|
||||
format = \large\bfseries,
|
||||
},
|
||||
}
|
||||
|
||||
% ========== 章节编号深度 ==========
|
||||
\setcounter{secnumdepth}{3}
|
||||
|
||||
Reference in New Issue
Block a user