编辑推荐 全面解析AI辅助编程:从AI辅助编程工具的优点到缺点,全面分析其在编程领域的应用。 深入技术原理:探讨AI辅助编程技术的原理,以及LLM的评估方式和衡量标准。 提示工程的艺术与科学:详细介绍如何通过提示工程优化AI辅助编程工具的性能。 深入浅出,理论与实践相结合:通过案例分析,采用直观易懂的方式,帮助读者深入理解AI辅助编程工具。 软件开发全周期指导:从早期阶段的想法、需求和规划,到编写代码、调试、测试和部署的全过程。 行业专家背书,学习无忧:微软亚太研发中心开发者事业部数据与AI团队首席研发经理黄寓凡、深圳大学副研究员王利作序推荐。 内容推荐 本书深入探讨了AI(人工智能)如何革新软件开发领域,从AI辅助编程的演变、优势与挑战到具体的工具与技术实现,为开发者打开了一个全新的世界。全书共10章,第1章介绍了编程的历史演变和生成式AI的崛起;第2章深入技术细节,解释了AI辅助编程工具的主要功能和工作原理;第3章讨论了提示工程的重要性,以及如何与AI工具进行有效沟通;第4章和第5章通过GitHub Copilot和其他AI编程工具的案例,展示了AI在实际开发中的应用;第6章扩展到通用大语言模型,如ChatGPT和GPT-4,探讨了它们在日常任务处理中的应用;第7章和第8章覆盖了软件开发的早期阶段和代码编写过程,展示了AI如何辅助决策、提高学习效率和代码质量;第9章讨论了调试、测试和部署过程中AI的作用;第10章总结了AI辅助编程的一些启示,包括学习曲线、优势、不足及对未来工作的影响。 本书适合软件开发者、编程爱好者、技术项目经理、高等院校计算机科学专业的学生及对AI在编程领域的应用感兴趣的专业人士阅读。 目录 推荐序1\t1 推荐序2\t3 序言\t5 前言\t7 第 1章 AI打开开发者的新世界\t13 1.1 编程的演变与革命\t14 1.2 生成式AI\t16 1.3 AI辅助编程工具的优点\t17 1.3.1 最小化搜索\t18 1.3.2 充当你的顾问\t20 1.3.3 与IDE集成\t20 1.3.4 适配你的代码库\t21 1.3.5 检查代码完整性\t22 1.3.6 AI驱动的文档生成器\t22 1.3.7 现代化支持\t23 1.4 AI辅助编程工具的缺点\t26 1.4.1 幻觉\t26 1.4.2 知识产权\t26 1.4.3 隐私\t27 1.4.4 安全\t28 1.4.5 训练数据\t28 1.4.6 偏见\t29 1.5 开发者的新世界\t29 1.5.1 职业发展\t30 1.5.210 倍开发者\t30 1.5.3 开发者的技能\t31 1.6 小结\t31 第 2章 AI辅助编程技术的工作原理\t33 2.1 AI辅助编程工具的主要功能\t33 2.2 智能代码自动补全与上下文感知的代码补全\t34 2.3 编译器与AI辅助编程工具\t34 2.4 能力等级\t36 2.5 生成式AI和LLM\t37 2.5.1 技术演变\t38 2.5.2 Transformer模型\t39 2.5.3 OpenAI Playground\t42 2.6 评估LLM\t47 2.7 LLM的类型\t50 2.8 评估AI辅助编程工具\t52 2.9 小结\t53 第3章 提示工程\t55 3.1 艺术与科学\t56 3.2 挑战\t56 3.3 提示\t57 3.4 上下文\t58 3.5 指令\t58 3.5.1 摘要\t59 3.5.2 文本分类\t59 3.5.3 建议\t60 3.5.4 翻译\t60 3.6 输入内容\t62 3.7 输出格式\t62 3.8 优秀实践\t63 3.8.1 越具体越好\t63 3.8.2 专业术语与缩略语\t64 3.8.3 零样本学习和少样本学习\t65 3.8.4 引导词\t66 3.8.5 CoT提示\t66 3.8.6 引导性问题\t67 3.8.7 请求类比示例\t67 3.9 减少幻觉\t68 3.10 安全和隐私\t69 3.11 自治的AIAgent\t70 3.12 小结\t73 第4章 GitHub Copilot\t75 4.1 GitHub Copilot 简介\t75 4.1.1 版本和价格\t76 4.1.2 案例:AMD公司的硬件编程\t77 4.1.3 案例:Shopify电商服务平台\t78 4.1.4 案例:埃森哲咨询公司\t79 4.1.5 安全\t79 4.2 使用Copilot\t80 4.2.1 Codespaces与VS Code\t81 4.2.2 代码建议\t82 4.2.3 注释\t84 4.2.4 聊天\t85 4.2.5 内联聊天\t90 4.2.6 打开的标签页\t92 4.2.7 命令行界面\t92 4.3 Copilot合作伙伴计划\t94 4.4 小结\t95 第5章 其他AI辅助编程工具\t97 5.1 CodeWhisperer\t97 5.2 Duet AI\t99 5.3 Tabnine\t101 5.4 Replit\t102 5.5 CodeGPT\t104 5.6 Cody\t105 5.7 CodeWP\t107 5.8 Warp\t108 5.9 Bito AI\t110 5.10 Cursor\t111 5.11 Code Llama\t112 5.12 其他开源模型\t113 5.12.1 StableCode\t113 5.12.2 AlphaCode\t114 5.12.3 PolyCoder\t114 5.12.4 CodeT5\t114 5.12.5 软件公司开发的模型\t115 5.13 小结\t116 第6章\tChatGPT和其他通用LLM\t117 6.1 ChatGPT\t117 6.2 GPT-4\t118 6.3 访问ChatGPT\t119 6.3.1 移动版ChatGPT\t122 6.3.2 自定义指令\t122 6.4 使用必应浏览功能\t123 6.5 处理乏味的任务\t126 6.5.1 正则表达式\t126 6.5.2 入门代码\t127 6.5.3 README文件\t128 6.6 跨浏览器兼容性\t129 6.7 bash命令\t130 6.8 GitHub Actions\t130 6.9 ChatGPT插件\t131 6.9.1 Codecademy插件\t131 6.9.2 AskYourDatabase插件\t133 6.9.3 Recombinant AI插件\t133 6.10 自定义GPT\t133 6.11 Gemini\t135 6.11.1 应用\t137 6.11.2 编程\t138 6.12 Claude\t139 6.13 小结\t141 第7章 软件开发的早期阶段:想法、需求和规划\t143 7.1 头脑风暴\t143 7.2 市场调研\t145 7.2.1 市场趋势\t147 7.2.2 市场规模\t148 7.3 竞争分析\t149 7.4 需求分析\t151 7.4.1 产品需求文档\t152 7.4.2 软件需求规约\t153 7.4.3 访谈\t154 7.4.4 白板讨论\t155 7.4.5 文档基调\t156 7.5 项目规划方法\t157 7.5.1 测试驱动开发\t159 7.5.2 Web设计规划\t160 7.6 小结\t162 第8章 编写代码\t165 8.1 现状:AI辅助编程工具能替代开发者吗\t165 8.2 决策:是否采用AI辅助编程工具\t167 8.3 提高学习效率\t167 8.4 高效注释\t169 8.5 模块化编程\t169 8.6 快速启动项目\t170 8.7 自动填充\t171 8.8 重构\t173 8.8.1 忍者代码\t173 8.8.2 提炼函数\t174 8.8.3 分解条件表达式\t175 8.8.4 重命名\t175 8.8.5 无用代码\t176 8.9 编写函数\t176 8.10 面向对象编程\t178 8.11 框架和库\t179 8.12 生成样本数据\t180 8.13 前端开发\t182 8.13.1 CSS\t182 8.13.2 创建图形\t183 8.13.3 AI工具\t184 8.14 API\t186 8.15 小结\t187 第9章 调试、测试和部署\t189 9.1 调试\t189 9.2 文档\t190 9.3 代码审查\t192 9.3.1 单元测试\t193 9.3.2 拉取请求\t195 9.4 部署\t197 9.4.1 用户反馈\t198 9.4.2 产品发布\t199 9.5 小结\t200 第 10章 AI辅助编程的一些启示\t201 10.1 陡峭的学习曲线\t201 10.2 主要优势\t201 10.3 不足之处\t202 10.4 提示工程是科学与艺术的结合\t203 10.5 编程之外的能力\t203 10.6 AI不会抢走开发者的工作\t203 10.7 小结\t204 书评(媒体评论) 推荐序1 在数字化进程加速的当下,编程已不再是一项孤立的技能,而是成为推动创新和技术进步的核心力量。《AI辅助编程实战》一书的出版,正逢其时,为我们提供了探索人工智能如何重塑编程领域的宝贵视角。通过作者Tom的精心编著和海霞的精准翻译,这本书不仅是一本技术指南,更是一份探索未来编程世界的导览。 AI辅助编程的兴起,无疑是近年来最令人振奋的技术变革之一。它不仅改变了我们编写代码的方式,更重要的是,它改变了我们思考和解决问题的方式。《AI辅助编程实战》一书以深入浅出的方式介绍了AI辅助编程的原理、优势、挑战,以及如何在实际开发中应用这些技术,为读者打开了通往未来编程世界的大门。 本书之所以独树一帜,不仅因为它全面覆盖了AI辅助编程的多个方面,从生成式AI的基础原理到具体工具的应用,从编程技术的深层机制到软件开发的初期规划,每一章都提供了丰富的信息和深刻的见解。更为关键的是,作者结合真实案例和个人经验,将抽象概念具体化,让读者能够直观地理解AI辅助编程在现实世界中的应用。 我特别推崇这本书对提示工程的深入探讨,这不仅因为它是AI辅助编程中的一项核心技术,更因为它展现了编程艺术和科学的完美融合。通过精心设计的提示,开发者能够引导AI生成更加准确和有效的代码,这无疑为软件开发带来了革命性的变革。 无论你是AI辅助编程的新手,还是希望深入探索这一领域的专家,《AI辅助编程实战》都将是你的良师益友。我相信,通过阅读这本书,你不仅能够获得宝贵的知识和技能,还能够激发对编程艺术的热情和创意。 在此,我要向译者表达深深的敬意和感谢,感谢她的辛勤工作和卓越贡献。正是她的努力,使众多中文读者得以接触并了解这项激动人心的技术。同时,我也要向每一位选择阅读本书的读者致以诚挚的谢意,因为正是你们的好奇心和求知欲,推动了技术的发展和创新。愿这本书成为你们探索AI辅助编程世界的灯塔,照亮你们前行的道路。 黄寓凡 微软亚太研发中心开发者事业部数据与AI团队首席研发经理 推荐序2 在过去的几十年中,编程领域经历了翻天覆地的变革。从早期的低级编程语言发展到今天的高级编程语言,编程技术的进步极大地提升了软件开发的效率和便捷性。人工智能的融入为编程领域开启了全新的篇章。 《AI辅助编程实战》在这样的大背景下应运而生。这本书不仅是一本编程指南,更是一本向读者展示如何利用人工智能工具和技术,从项目构想到最终实现,全方位优化编程过程的指南。 在这本书中,作者深入浅出地介绍了生成式AI如何转变开发者的工作方式,对GitHub Copilot、CodeWhisperer、Duet AI等流行AI辅助编程工具进行了全面剖析,并探讨了如何根据专有代码库的需求对这些工具进行个性化定制。书中详细讲解了如何利用AI 工具进行高效的错误修复、代码审查、单元测试编写等,以确保软件的质量与稳定性。无论你是编程新手还是经验丰富的专家,都能从这本书中获益。书中的实例和实践建议将帮助你在实际工作中迅速应用所学,提升编程效率,降低错误率。 特别值得一提的是,作者不仅关注技术的应用,还深入探讨了人工智能如何改变编程的思维方式。这种思维方式的转变,不仅能让开发者在技术层面上取得突破,更能在理念和方法上获得新的启发。 在此,我还要特别感谢这本书的译者。我与译者相识已久,深知其作风认真严谨。她在翻译过程中付出了巨大的努力和心血,不仅精准地翻译了书中的技术细节,还确保了语言的流畅性和可读性,使得更多的中文读者能够领略这本佳作的精髓。她的辛勤工作,让这本书在中文世界里得以传递其价值和理念。 总之,这本书是一本的佳作。它不仅能帮助你掌握近期新的编程技术,更能引领你进入人工智能时代的编程新世界。我相信,这本书将成为你编程生涯中的得力助手,让你在编程的道路上走得更远、更稳。 希望你能像我一样,从这本书中获得启发和力量。 王利 深圳大学大数据系统计算技术国家工程实验室副研究员 |