Prompt 驱动开发手册——AI-人类协作编程革命

引言(Introduction)

本章介绍提示驱动开发 (prompt-driven development),这标志着一种系统化的 AI 辅助软件创造方法。开发者正在告别那种"靠咖啡硬顶"的老派编程方式。取而代之的是,他们开始与 AI 组队,用更高效的方式构建复杂应用。本章将涵盖:身边有 AI 助手所带来的收益,它为应用开发引入的一套新挑战,以及开发团队为了应对这些挑战需要考虑的事项。本章也会介绍进入提示驱动开发的第一步,让你一窥这股热潮究竟在讲什么。虽然业界对这种结构化使用 AI 编码工具的实践有多种叫法,但本书将 AI 辅助开发 (AI-assisted development)与提示驱动开发(prompt-driven development)作为可互换的术语来使用。

结构(Structure)

本章涵盖以下主题:

  • AI-人类协作的演进(Evolution of the AI-human collaboration)
  • 理解提示驱动开发(Understanding prompt-driven development)
  • AI 辅助开发的收益(Benefits of AI-assisted development)
  • 挑战与考量(Challenges and considerations)
  • 提示驱动开发的第一步(First steps in prompt-driven development)

目标(Objectives)

在本章结束时,你将能够理解什么是提示驱动开发、它的收益以及它的挑战。你也将了解这种范式的演进过程,并意识到它未来的潜力。

AI-人类协作的演进(Evolution of the AI-human collaboration)

我们已经进入了一个时代:大多数新的软件应用不再完全由人类独立构建,而是与 AI 共同完成。关于 AI 的贡献,已经出现了一些大胆的说法。

"公司代码仓库里大约有 20--30% 的代码是由 AI 写的。"

------ Satya Nadella 在与 Mark Zuckerberg 的炉边谈话中,20251
"AI 已经生成了公司超过 30% 的代码。"

------ Sundar Pichai,20252

尽管这些数字没有精确的测量方法,但 CEO 的预测仍能很好地让我们窥见目前的进展。在谈未来预测、讨论接下来会发生什么之前,先让我们理解我们是如何走到今天这一步的。

演进之旅(Evolution journey)

这段旅程在很久以前就开始了:工程师需要通过在纸板上打孔来艰难地编写软件系统。这种劳动密集的流程、以及为实现一个小功能所需的巨大周转时间,逐渐被基于文本的界面和早期的集成开发环境(IDE)所取代------它们简化了开发,但仍然需要专家进行彻底的审阅与把关。随后,互联网带来了关键性的变革:开发者可以通过版本控制系统(如 Subversion(SVN)、Git 等)在不同系统间同步他们的工作,并把备份存放在远端位置。

开源运动进一步让软件开发变得更"民主化",像 GitHub 这样的平台出现了,使得全球开发者能够以非常透明、协作的方式共同构建软件。这也带来了一个巨大的正向副作用:这些仓库中数十亿行代码如今公开可得,数据科学家可以用它们来训练机器学习模型,从而构建能够学习、理解并"构思"代码的智能 AI 模型。

这些海量代码库与智能机器学习模型进一步演化为当下的现代 AI 编码助手。它们会在庞大的训练数据中分析模式,以便给出补全建议、对现有方案进行重构,甚至能够基于自然语言描述生成完整的函数与解决方案。今天的 AI 协作与编码工具,正是这条演进链路的最新阶段:它们与开发者并肩工作,扮演"智能伙伴",而不只是一个更聪明的拼写检查器或自动补全工具;它们从根本上改变了软件被构思与被开发的方式------用机器智能增强人类创造力。

开发团队中的 AI 编码工具(AI coding tools in development teams)

传统的开发周期正在发生变化,因为 AI 工具正在压缩"从构想到实现"的时间跨度。开发者如今可以通过自然语言描述功能来快速做原型,而不是从零开始手写代码。

让我们看看开发团队是如何利用 AI 工具提升生产力的。最近,几乎每一类编码工具都加入了 AI,以加速开发流程。

下表尝试对 AI 编码工具进行分类。它能帮助你理解使用 AI 工具的各种机会。鉴于这是一个快速增长的领域,这份清单并不穷尽:

类别(Category) 描述(Description) 代表工具(Notable tools)
带 AI 插件的传统编辑器(Pre-established editors with AI plugins) 通过插件与集成,为传统代码编辑器增加 AI 能力 Visual Studio Code + GitHub Copilot,JetBrains Suite + AI assistant
AI 优先 IDE(AI-first IDEs) 从零开始构建、以 AI 为核心的开发环境 Cursor,Replit AI,Windsurf AI,Lovable
AI 增强代码评审工具(AI-enhanced code review tools) 自动化代码评审,检测缺陷与安全问题,并提出改进建议 Amazon CodeGuru,DeepCode AI(Snyk)
AI 驱动测试与 QA 平台(AI-powered testing and QA platforms) 自动生成测试、智能维护测试、AI 驱动的代码质量分析 Mabl,Testim.io,DeepSource
AI UI 设计工具(AI user interface (UI) design tools) 从文本描述或粗略草图生成原型、线框图与 UI 设计 Figma + AI 插件,Uizard,V0.dev
AI 开发流程优化器(AI development workflow optimizers) 通过自动化、优先级管理与分析来增强整体开发流程 LinearB,GitClear
草图转代码工具(Sketch-to-code tools) 将设计稿与线框图转换为可运行的前端代码 Locofy.aiBuilder.io

表 1.1:AI 编码工具分类(Table 1.1: Categorization of AI coding tools)

如表中所示,项目的各个阶段都有对应的 AI 工具。开发团队正在通过把这些 AI 工具集成到工作流中来完成演进。初级开发者如今更擅长在复杂代码库中穿梭,能更快地添加功能;资深开发者则把更多时间转向软件架构,减少在"枯燥的代码产出"上的投入。与此同时,开发团队中也正在出现一个新的角色:负责管理不同阶段所使用的这些 AI 工具。我们将在后续章节通过场景与示例,进一步讨论这些团队动态的变化。

许多研究报告都指出,这些 AI 工具在团队中的渗透率已经带来了显著价值:

"GitHub 在 2023 年 6 月正式报告:已有超过 100 万开发者在使用 Copilot。"

------ GitHub 开发者调查 20233
"76% 的受访者正在使用或计划在今年使用 AI 工具进行开发流程(较去年 70% 上升)。"

------ Stack Overflow 开发者调查 20244

AI 工具在开发工作流中的采用正在快速发生。社交媒体也在推动跨国家、跨组织的认知传播;开发团队正在推动开发者开始使用这些工具,以获取生产力收益。

很快,在软件开发生命周期中完全不使用任何此类 AI 工具,几乎会变得不可能。

理解提示驱动开发(Understanding prompt-driven development)

现在我们已经理解了这些 AI 工具如何演进、以及它们在开发团队中的采用情况,让我们把注意力转向一个有趣的话题:vibe coding(氛围编程/随 vibe 编程)。

vibe coding 并没有一个正式定义,但正是 Andrej Karpathy(OpenAI 联合创始人、AI 社区的重要人物)通过他在 X(前身为 Twitter)上分享的洞见与经历,让 "vibe coding" 这个术语流行起来。他这样描述:

"有一种新的编码方式,我称之为 vibe coding:你完全沉浸在 vibe 里,拥抱指数级变化,然后忘记代码甚至存在......"

------ Andrej Karpathy 的 X 帖文

本手册在 Karpathy 的洞见之上,提供了一个与 AI 编码工具协作的结构化框架。vibe coding 捕捉了与 AI 协作时那种流动的、对话式的特质;而本书强调的是系统化技术:有效的提示工程(prompt engineering)、上下文管理(context management)、迭代式精炼(iterative refinement)与质量保障模式(quality assurance patterns)。这些结构化实践,使 AI 协作变得可靠、可重复,并可用于生产环境。

传统编程遵循一条线性的路径:定义问题、设计架构与底层实现,然后进入代码开发。然而,vibe coding 采取的是一种探索式的软件开发方式:开发者向 AI 工具阐述愿景与目标,而 AI 工具则反过来实现代码、提出边界情况、编写单元测试,并提供替代方案。在这种情况下,AI 工具充当开发者的"AI 编码伙伴"。这种协作促进创新:开发者可以一边头脑风暴、一边精炼想法,而 AI 伙伴负责技术执行。

vibe coding 的哲学以人机协作为核心,将 AI 作为增强器而不是替代机制。人类因此可以专注于与问题相关的更宏观背景、用例的伦理影响,以及将用例推广给消费者;而 AI 工具则可以以前所未有的速度与准确性,把这些想法转换成机器可理解的形式(代码)。当这些互补的优势融合得足够好时,开发体验会变得更有趣、更有成就感,并使生产力飙升。

核心原则(Core principles)

提示驱动开发------或者更广义的 AI 辅助开发------围绕四个相互依赖的原则展开:协作、创造力、效率、适应性,如下图所示:

图 1.1:AI 辅助开发的核心原则(Figure 1.1: Core principles of AI-assisted development)

协作(Collaboration) 是基础原则:开发者与 AI 工具以一种对话式的方法共同工作,更像结对编程(pair programming),而不是仅仅把 AI 工具当作自动补全。只有当双方都积极贡献解决方案时,这种伙伴关系才能发挥作用:人类提供方向与上下文,AI 提供实现选项、技术与优化建议。

创造力(Creativity) 会在一种环境中繁荣:开发者不再焦虑代码的语法结构,而是更多专注于创新的问题求解。这会显著降低开发者的认知负担,帮助他们探索更多想法。

效率(Efficiency) 体现为大幅缩短实现时间并减少错误。开发者不必花数小时调试语法错误,而是把需求表达给 AI 工具,由 AI 反过来帮助定位应用代码中的问题。

适应性(Adaptability) 是一个关键但也"棘手"的原则。不同场景需要不同程度的 AI 参与。新颖问题更依赖人类探索与构思;而定义清晰、模式成熟的任务,更适合交给 AI 主导并推进到完成。识别这些模式并有效处理它们,将成为开发者在未来时代必须掌握的新技能。

下面一节将帮助开发者在团队文化中做出这种决策:为采用 AI 所需要的思维转变是什么、以及在任务中 AI 应该参与到什么程度。

所需的思维转变(Mindset shift required)

采用 AI 辅助开发,需要开发者对自己在未来软件开发中的角色有一个根本性的思维转变。几十年来,社会一直在歌颂那种"天才程序员":他熟悉代码库里的每一行,每天敲出成堆成堆的代码。然而,展望未来,开发者需要扮演的是指挥家:指挥一支乐团,在其中主要负责引导团队创造"音乐魔法"。

过度控制流程会导致效率下降,并削弱 AI 工具带来的收益。能够明智使用这些工具的人,会在社会中发展得更好。

一个实用框架可以用来确定 AI 的最优参与度,它包含三个维度:问题新颖性(problem novelty)技术复杂度(technical complexity)风险等级(risk level)

下图用 x 轴表示新颖性、y 轴表示复杂度。风险应当根据工作领域与所解决用例来综合考虑。

图 1.2:确定 AI 参与度的框架(Figure 1.2: Framework to determine AI involvement)

新颖问题更适合人类进行更多探索与构思。对于定义明确的任务与成熟模式,其技术复杂度可能更适合 AI 主导。高风险组件(例如医疗与金融建议)仍然需要更多人工监督,AI 仅作为提升人类效率的辅助。这是因为这些领域涉及关键决策,可能显著影响人们的生命与财务稳定,因此必须依赖审慎的人类判断。

现在我们已经对"如何、在何处明智地引入 AI 工具"有了一个较为清晰的概念,接下来让我们简要理解这些 AI 编码工具到底是如何工作的。这将帮助你理解并欣赏这些工具,从而更有效地使用它们。

AI 编码助手的工作方式(Working of AI coding assistants)

像 GitHub Copilot、Cursor 这样的 AI 编码助手,由在海量公共代码仓库上训练出来的大语言模型(LLM)驱动。这些 LLM 通常会基于给定上下文预测下一个 token(字符或词),并最终形成段落或代码片段,以满足终端用户提出的请求。由于它们在编码场景中被喂入了数十亿行代码,因此能够理解语法、常见算法与主流语言的编程惯例。这类系统擅长模式识别:可以生成样板代码(boilerplate)、建议实现方式、并解释概念。

理解其工作方式后,你也会意识到一个主要缺陷:这些 LLM 基于既有数据训练,只能从那些海量数据集中进行预测。如果出现一种全新的编程语言或框架,这些编码代理就无法像面对热门语言与框架那样高效地产出代码。它们并不真正理解代码语义,可能会幻觉出无效的代码片段。此外,由于训练数据也会包含糟糕的代码与缺陷(bug)。

学习曲线(Learning curve)

采用 AI 辅助编程存在一条与传统编码实践不同的学习曲线。起初,开发者在学习如何与 AI 工具协作时,通常会同时体验到兴奋与挫败交织的感受。一些常见挑战包括以下几点:

  • 过度依赖 AI 的建议,却没有进行恰当的验证。
  • 提示不足,或用含糊不清的方式向 AI 工具解释想法。
  • 难以把 AI 的建议整合进现有代码。

在本书中,我们会覆盖面向软件开发特定实践的有效技巧,用以克服上述部分挑战。

从学习进阶的视角看,通常会经历以下四个阶段:

  1. 新手(Novice) :基础的代码补全与简单片段。
  2. 中级(Intermediate) :为特定函数与模块撰写有效提示。
  3. 高级(Advanced) :协作式问题求解,AI 扩展你的能力边界。
  4. 专家(Expert) :将 AI 无缝延展为开发伙伴,频繁且有效地对话,以高效完成工作。

通过一些技巧与"窍门",大多数开发者可以在 3 到 6 周内达到熟练水平;但要掌握更复杂的语言与模式,可能需要更长时间。好消息是,这项技术提供了一个相对"同一起跑线"的环境:各类组织都正作为早期采用者,踏上这种本质上全新开发方式的旅程。

AI 辅助开发的收益(Benefits of AI-assisted development)

既然我们已经理解了 AI 辅助开发的机制、AI 工具的功能以及学习曲线的要求,接下来将考察这种方法为开发者与软件开发实践带来的收益。人类创造力与 AI 的有意协作,不仅改变了我们如何写代码,更从根本上重塑了整个软件开发体验,在项目、团队与组织层面带来优势。本节将讨论那些远不止"提升生产力"的收益------从代码质量到组织内的团队协作方式,都会被触及。

下面的插图列出了 AI 辅助开发的收益:

图 1.3:AI 辅助开发的收益(Figure 1.3: Benefits of AI-assisted development)

开发速度加快(Accelerated development speed)

AI 辅助开发最直接、最显而易见的收益,是显著缩短开发时间。AI 工具擅长生成样板代码、重复结构与标准化组件------这些通常占据开发者日常任务中的很大一部分。

AI 工具可以处理表单校验、API 请求格式化、数据转换、API 文档编写、单元测试编写等例行任务,从而让开发者把精力投入到软件开发中更复杂、更具创造性的部分。这些任务对开发者时间消耗很大,而完成它们又是软件开发不可或缺的关键环节。

当把 AI 工具的影响放到完整项目生命周期中观察,其累积效应会非常显著。过去需要数小时手工编码的工作------比如搭建鉴权系统、创建 CRUD 操作、构建响应式 UI 组件------如今通过有效的人机协作,可能在几分钟内就能完成。每次迭代都会叠加这种节省,进而为掌握 AI 辅助开发工作流的团队创造实质性的竞争优势。

一致性与质量提升(Consistency and quality improvements)

AI 工具与编码助手可用于在代码库中强制执行一致的模式并应用最佳实践。与只能检查简单模式的静态代码检查器不同,这些 AI 编码工具可以更进一步,确保架构模式在整个代码库中保持一致。最关键的是:这些规则可以用简单而强大的自然语言来编写。

维持一致性的过程既可以发生在开发阶段,也可以作为代码评审的一部分。AI 代码评审工具是确保代码库保持一致且高质量的一种强大方式。

跨团队协作改进(Improved collaboration across teams)

AI 工具促进了跨团队的强协作,尤其适用于成员分布在全球各地的团队。它们提供了一种共同语言与共同理解,弥合了来自不同背景与不同 تخصص方向开发者之间的沟通鸿沟。

这些工具还帮助在技术语境与业务语境之间进行"翻译"。产品经理可以用自然语言描述一个功能,AI 随即生成初步的实现思路,开发者再对其精炼并落地实现。这使得跨角色交接更加顺畅、对需求的误解更少。

远程团队尤其能从 AI 工具中获益。初级开发者几乎随时都能获得一个"资深专家"的支持,不必等待团队负责人上线来解释某段代码或建议一种可实现的设计。

问题解决能力增强(Enhanced problem-solving capabilities)

AI 编码助手带来了强大的模式识别能力,在应对复杂编码挑战时与人类创造力并肩工作。

过去,开发者面对疑难问题时,往往要花数小时上网搜索,输入细致的查询词,滚动浏览无数潜在方案,再逐个尝试验证。

如今,直接集成在代码编辑器中的 AI 工具改变了这一过程。开发者只需向 AI 助手解释错误现象,AI 就会分析周边代码上下文,并迅速给出多个可能解法------常常只需几分钟,而不再是数小时。

降低新开发者门槛(Increased accessibility for new developers)

AI 辅助开发的范式显著降低了软件开发新人的进入门槛。AI 工具可以像耐心且礼貌的导师一样,解释概念、提出改进建议,并提供与当前工作内容相关的学习材料,而且不会做价值判断。

初级开发者反馈称:与 AI 工具并肩工作时,他们建立自信的速度更快。现在他们可以更自由地试验,因为 AI 工具会纠正他们、帮助他们学习,而不会带来任何"职业层面的后果"。

认知卸载与聚焦(Cognitive offloading and focus)

AI 辅助开发最容易被低估的收益之一,是它对开发者心理状态的影响。通过处理实现细节与分流编码任务,AI 工具让开发者能够把更多认知资源投入到架构决策、用户体验考量、伦理考量与创造性问题求解上。

认知负担的降低会直接带来更好的高层设计与更具创新性的方案。开发者也报告说:当他们把更多注意力放在创造性工作上,而不是日常高强度敲代码时,会出现更少的决策疲劳与更高的工作满意度。

学习与技能发展(Learning and skill development)

AI 编码工具与提示驱动开发方法,会让开发者接触到一些他们本来未必会自己发现的新编码模式、技术与思路。

传统情况下,当你不知道某个问题"存在"时,就很难去搜索它的解决方案;当你当前的代码已经能跑时,也很难再去发现更优方法。毕竟,当目标未知时,人要怎么搜索?

当 AI 工具集成到开发环境后,开发者身边就多了一个学习伙伴。只需要保持好奇、询问替代方案,就能在不必精确知道该搜什么的前提下,实现更快、更相关的技能成长。

这种对多样编码实践的持续暴露,会加速职业成长,并帮助开发者紧跟其领域的最新进展。

挑战与考量(Challenges and considerations)

尽管 AI 辅助开发的收益巨大,但如果不承认其挑战、就把它描绘成一个"完美无缺"的方法,那是不诚实的。和任何技术一样,这项创新也带来了一组挑战与考量;只有意识到它们,才能更有效地应对。本节将探讨这种 AI-人类协作的潜在陷阱、伦理考量与现实层面的顾虑。

下图总结了 AI 辅助开发的挑战与潜在解决方案:

图 1.4:实践 AI 辅助开发时的挑战与解决方案(Figure 1.4: Challenges and solutions while practicing AI-assisted development)

AI 辅助开发中的质量控制(Quality control in AI-assisted development)

尽管 AI 能生成令人印象深刻的代码,但要维持稳定一致的质量将是一场艰难的攻坚战。AI 工具的产出应当由人类进行彻底验证,并辅以健壮的自动化检查,以防止 AI 生成代码引入问题。一个常见陷阱是:在没有充分审查的情况下直接接受 AI 建议。这可能导致隐蔽的 bug,或对业务逻辑造成非预期的改动。更好的做法是建立一套验证例程,包括人工代码评审、自动化测试与边界情况分析。必须牢记:质量保障始终是软件开发的基础环节------而且在 AI 工具能生成比人类多得多的代码时,它反而变得更重要。

维护开发者的主导权与专业能力(Maintaining developer agency and expertise)

这是 AI 辅助开发最显著的担忧之一。当开发者养成把所有任务都委派给 AI 的习惯时,就会面临过度依赖的风险,从而削弱自身的专业能力。

不仅如此,随着 AI 接手更多日常编码任务,开发者可能会逐渐丢失对编程基本功的熟练度。更糟的是下一代开发者:他们甚至不再尝试学习基础知识,而是把所有任务都交给 AI 工具完成。

为了保留人类的创造力与批判性思维:

  • 把 AI 当作协作伙伴,而不是替代者。
  • 定期进行不使用 AI 辅助的编码练习。
  • 强迫自己理解 AI 建议代码的每一行。

目标并不是与 AI 竞争,而是让开发者的原创性与创造力被削弱。

持续学习的必要性(Need for continuous learning)

AI 工具的快速演进要求开发者持续适应。能力变化的速度很快,这需要持续的学习与灵活性。AI 时代的成功开发者应采用以下策略:

  • 固定留出时间试验新的 AI 能力。
  • 加入开发者社区,在那里人们分享 AI 工具与技巧。
  • 阅读关于新兴 AI 趋势的研究论文与博客。
  • 练习把新工具应用到真实世界的问题上。

自动化与创造力的平衡(Balancing automation and creativity)

软件开发并不仅仅是产出可运行的代码,它本质上是创造性的问题求解。过度自动化会带来"千篇一律、缺乏灵感"的方案。想象一下:如果所有网站的前端都用 AI 生成,最终所有站点可能看起来都很相似,缺少创造性与原创性。

有效的平衡方式,是让 AI 负责重复性任务,而由人类专注于架构、用户体验与创造性的问题求解。

伦理考量(Ethical considerations)

AI 辅助开发中一个尚未解决的挑战与谜题,是代码所有权与知识产权。近期有一项法院裁决指出:AI 生成的代码不能获得版权保护。这在企业界引发了相当大的震动,因为许多公司正在销售的产品,如今已经大量使用 AI 工具构建。

同样令人担忧的是 AI 系统可能存在的偏见。这些 AI 工具用大语言模型生成代码,而模型训练依赖既有代码库,因此既有代码中的偏见很可能会被传递到新生成的代码中。必须有意识地投入审查这些问题的工作。

团队采用策略(Team adoption strategies)

在团队中引入 AI 工具并不是一个简单的过程。专家建议从小规模、低风险项目入手,在扩大到组织范围之前先展示清晰收益。许多组织也在提出道德层面的问题,例如岗位安全或劳动力结构被扰动,这会加剧对 AI 工具的抵触。为应对这些担忧,组织应创造开放讨论的空间,并强调 AI 工具的目标是提升开发者生产力,而不是替代开发者。

成功的团队应把 AI 工具的采用视为一个迭代过程:定期收集反馈,并在持续试验中不断完善方法。

提示驱动开发的第一步(First steps in prompt-driven development)

在检视了概念、理解了收益与挑战之后,本节将通过更贴近实操的方式,帮助你对动手体验形成更深入的理解。

简单的起步点(Simple starting points)

进行这项练习时,推荐使用任意一种 AI 编码助手。本书将全程使用 Visual Studio Code 中的 GitHub Copilot

你也可以使用不同的 AI 模型,例如 GPT-4o、Claude Sonnet 或 Gemini。对于这些基础示例,它们的工作方式都大同小异。请记住:结果可能与这里展示的不同。AI 助手每次都会生成不同的响应,因此输出可能会因模型、工具,甚至请求发生的时间而有所变化。

下面是一个示例场景:开发一个用于计算数字阶乘(factorial)的函数。这个场景将以自然语言提示为驱动,并在每一步旁边给出 AI 工具生成的对应代码:

1. 生成一个简单函数(Generating a simple function)

a. 示例提示(Sample prompt):

用 Python 写一个函数来计算一个数的阶乘

b. AI 可能会生成类似如下内容:

  1. def factorial(n):
  2. if n == 0 or n == 1:
  3. return 1
  4. result = 1
  5. for i in range(2, n + 1):
  6. result *= i
  7. return result
2. 修改实现方式(Modifying the implementation)

a. 提示(Prompt):

你能把这个阶乘函数改写成使用递归吗?

b. AI 可能会回复:

  1. def factorial(n):
  2. if n == 0 or n == 1:
  3. return 1
  4. return n * factorial(n - 1)
3. 添加文档说明(Adding documentation)

a. 提示(Prompt):

给这个阶乘函数添加 docstring 文档

AI 会为该函数补充文档。对于对这种方式感到兴奋的人,进一步探索还可以包括:添加单元测试、要求处理边界情况,或让 AI 编码工具提供不同语言的示例。

这说明:在整个过程中,只要你持续"指令化"地驱动 AI 编码工具,它就会不断产出结果。下表讨论了一些有效提示的基础技巧:

技巧(Techniques) 示例提示(Sample prompts)
明确具体需求(Be specific about requirements) 生成一个能处理输入最大到 100,并能抛出合适错误的阶乘函数
请求解释(Request explanations) 解释这个递归阶乘实现的工作原理以及它的局限性
询问替代方案(Ask for alternatives) 除了迭代和递归,还有哪些实现阶乘函数的方法?
请求改进(Request improvements) 我们应该如何有效测试这个阶乘函数?

表 1.2:有效提示的基础技巧(Table 1.2: Basic techniques for effective prompting)

一些对初次使用者有帮助的建议如下:

  • 在处理复杂问题之前,先从简单且定义清晰的任务开始。
  • 仔细审查生成的代码,理解每个部分在做什么。
  • 对不清楚的部分继续追问。
  • 以渐进式请求为主,而不是一次性要求复杂解法。
  • 对比不同实现方式,以加深理解。

随着持续练习,开发者可以形成更舒适的人机协作节奏;当信心建立起来后,再逐步提高请求的复杂度。

按角色与能力等级的适配(Role and level-based adaptations)

对有经验的开发者而言,可以通过以下方式利用 AI 来提升生产力并探索新思路:

  • 脚手架(Scaffolding) :快速生成样板代码,把精力留给复杂逻辑。
  • 替代实现(Alternative implementations) :请求不同的解题路径。
  • 代码评审(Code review) :用 AI 评审代码,并给出改进建议。

下表给出了一些可以根据角色尝试的示例:

角色(Role) 可尝试的用例(Use case to try)
Web 开发者(Web developer) 从 UI 组件生成、表单校验、API 集成开始
数据科学家(Data scientist) 聚焦数据清洗、可视化代码、模型评估函数
后端开发者(Backend developer) 用 AI 生成数据库(DB)schema 设计、API endpoint 实现与错误处理

表 1.3:基于角色的 AI 工具用例分类(Table 1.3: Role-based categorization of use-cases to try with AI tools)

追踪你的成长(Track your growth)

对刚开始这段旅程的人,建议维护一个开发者日志(developer journal),用于记录成长模式。一些可追踪的指标包括:

  • 时间节省(Time savings) :对比有无 AI 辅助时的任务完成时长。
  • 代码质量(Code quality) :评估方案是否有所改进。
  • 学习结果(Learning outcomes) :评估学习是否有效。若结果显示进展不足,开发者应更多聚焦于向 AI 提出更有洞察、更能引发思考的问题,而不是只依赖它给出的解决方案。

结论(Conclusion)

本章为理解 AI-人类编程范式奠定了基础,但这只是开始。后续章节会在这些基础概念之上进行系统化推进,逐步走向可落地的实践实现。

下一章将进一步展开这里引入的一些基础内容,例如:LLM 如何生成代码、AI 编码助手的能力与局限、以及使用这些工具涉及的伦理考量。

走向提示驱动开发(或更广义的 AI 辅助开发)的旅程,不仅仅是学习新工具;更重要的是采纳一种将塑造下一代软件开发时代的思维方式。随着不断推进,鼓励开发者在项目中积极试验这些方法。今天形成的技能,将在推动这一职业中不可避免的变革方面扮演关键角色。

参考资料(References)

  1. https://techcrunch.com/2025/04/29/microsoft-ceo-says-up-to-30-of-the-companys-code-was-written-by-ai/
  2. https://www.moneycontrol.com/technology/over-30-of-google-s-new-code-now-ai-generated-working-on-deeper-coding-experiences-sundar-pichai-article-13003845.html
  3. https://github.blog/news-insights/research/the-economic-impact-of-the-ai-powered-developer-lifecycle-and-lessons-from-github-copilot/
  4. https://survey.stackoverflow.co/2024/ai#1-ai-tools-in-the-development-process
相关推荐
漂流瓶jz1 小时前
【AI】大模型本地部署与量化:Ollama、transformers、llama.cpp实践
人工智能·llm·ai编程
张彦峰ZYF5 小时前
MCP 从“能连工具”到“像 Web 一样部署”——无状态核心、扩展框架与企业级 Agent 基础设施的真正分水岭
人工智能·llm·agent·mcp
Darling噜啦啦8 小时前
LLM 记忆管理三剑客:截断、总结、检索,彻底搞懂 Agent 的 Memory 系统
langchain·llm·agent
今日无bug8 小时前
大模型的回答是怎么一个字一个字蹦出来的?前端流式输出解析
前端·llm·agent
桃西西呀12 小时前
《牛来》票房涨 1000 倍是真的吗?——2026暑期档 124 亿里的数学
人工智能·数据分析·llm
Behavior12 小时前
刚刚,Claude 5.1 发布!全球最强模型来了?
aigc·claude·vibecoding
tachibana214 小时前
如何设计多 Agent 的协作与动态切换机制?
网络·人工智能·ai·大模型·llm·agent
程序员三明治15 小时前
【体验毛坯房】Deep Harness 入门教程
java·人工智能·后端·大模型·llm·deepseek·dsh
桃西西呀15 小时前
AI 为什么一本正经地胡说八道?3 个底层原因 + 2 个防坑法
人工智能·llm·ai编程
阿黎梨梨15 小时前
AI也有记忆?LangChain Memory 管理指南
langchain·node.js·llm