新書推薦:
《
资治通鉴臣光曰辑存 资治通鉴目录(司马光全集)(全二册)
》
售價:HK$
296.7
《
明代社会变迁时期生活质量研究
》
售價:HK$
308.2
《
律令国家与隋唐文明
》
售價:HK$
74.8
《
紫云村(史杰鹏笔下大唐小吏的生死逃亡,新历史主义小说见微之作,附赠5张与小说内容高度契合的宣纸彩插)
》
售價:HK$
101.2
《
现代吴语的研究(中华现代学术名著3)
》
售價:HK$
66.7
《
天下的当代性:世界秩序的实践与想象(新版)
》
售價:HK$
79.4
《
德国天才4:断裂与承续
》
售價:HK$
112.7
《
妈妈的情绪,决定孩子的未来
》
售價:HK$
43.7
|
編輯推薦: |
全面解析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在编程领域的应用感兴趣的专业人士阅读。
|
關於作者: |
作者简介Tom Taulli,作家、顾问和投资者,著有Artificial Intelligence Basics等图书。他还为AIBusiness网站、Inc.网站、Barrons网站、eSecurity Planet网站和Kiplingers网站等媒体撰稿,并为OReilly和Pluralsight开发教育课程,专注生成式AI、数据库技术及Python编程等领域。译者简介成海霞,微软高级软件工程师,负责Java on Azure面向传统应用服务器的云原生解决方案的设计和研发,助力企业客户将Java遗留系统成功转型并无缝迁移至Azure容器平台,实现技术现代化的飞跃。曾就职于甲骨文上海研发中心,从事自动化测试产品及PAAS平台现代化DevOps系统的研发。Microsoft Azure for Java Developers图书技术评审,InfoQ中国社区编辑/译者,翻译了多本技术图书。
|
目錄:
|
推荐序11 推荐序23 序言5 前言7
第 1章 AI打开开发者的新世界13 1.1 编程的演变与革命14 1.2 生成式AI16 1.3 AI辅助编程工具的优点17 1.3.1 最小化搜索18 1.3.2 充当你的顾问20 1.3.3 与IDE集成20 1.3.4 适配你的代码库21 1.3.5 检查代码完整性22 1.3.6 AI驱动的文档生成器22 1.3.7 现代化支持23 1.4 AI辅助编程工具的缺点26 1.4.1 幻觉26 1.4.2 知识产权26 1.4.3 隐私27 1.4.4 安全28 1.4.5 训练数据28 1.4.6 偏见29 1.5 开发者的新世界29 1.5.1 职业发展30 1.5.210 倍开发者30 1.5.3 开发者的技能31 1.6 小结31
第 2章 AI辅助编程技术的工作原理33 2.1 AI辅助编程工具的主要功能33 2.2 智能代码自动补全与上下文感知的代码补全34 2.3 编译器与AI辅助编程工具34 2.4 能力等级36 2.5 生成式AI和LLM37 2.5.1 技术演变38 2.5.2 Transformer模型39 2.5.3 OpenAI Playground42 2.6 评估LLM47 2.7 LLM的类型50 2.8 评估AI辅助编程工具52 2.9 小结53
第3章 提示工程55 3.1 艺术与科学56 3.2 挑战56 3.3 提示57 3.4 上下文58 3.5 指令58 3.5.1 摘要59 3.5.2 文本分类59 3.5.3 建议60 3.5.4 翻译60 3.6 输入内容62 3.7 输出格式62 3.8 优秀实践63 3.8.1 越具体越好63 3.8.2 专业术语与缩略语64 3.8.3 零样本学习和少样本学习65 3.8.4 引导词66 3.8.5 CoT提示66 3.8.6 引导性问题67 3.8.7 请求类比示例67 3.9 减少幻觉68 3.10 安全和隐私69 3.11 自治的AIAgent70 3.12 小结73
第4章 GitHub Copilot75 4.1 GitHub Copilot 简介75 4.1.1 版本和价格76 4.1.2 案例:AMD公司的硬件编程77 4.1.3 案例:Shopify电商服务平台78 4.1.4 案例:埃森哲咨询公司79 4.1.5 安全79 4.2 使用Copilot80 4.2.1 Codespaces与VS Code81 4.2.2 代码建议82 4.2.3 注释84 4.2.4 聊天85 4.2.5 内联聊天90 4.2.6 打开的标签页92 4.2.7 命令行界面92 4.3 Copilot合作伙伴计划94 4.4 小结95
第5章 其他AI辅助编程工具97 5.1 CodeWhisperer97 5.2 Duet AI99 5.3 Tabnine101 5.4 Replit102 5.5 CodeGPT104 5.6 Cody105 5.7 CodeWP107 5.8 Warp108 5.9 Bito AI110 5.10 Cursor111 5.11 Code Llama112 5.12 其他开源模型113 5.12.1 StableCode113 5.12.2 AlphaCode114 5.12.3 PolyCoder114 5.12.4 CodeT5114 5.12.5 软件公司开发的模型115 5.13 小结116
第6章ChatGPT和其他通用LLM117 6.1 ChatGPT117 6.2 GPT-4118 6.3 访问ChatGPT119 6.3.1 移动版ChatGPT122 6.3.2 自定义指令122 6.4 使用必应浏览功能123 6.5 处理乏味的任务126 6.5.1 正则表达式126 6.5.2 入门代码127 6.5.3 README文件128 6.6 跨浏览器兼容性129 6.7 bash命令130 6.8 GitHub Actions130 6.9 ChatGPT插件131 6.9.1 Codecademy插件131 6.9.2 AskYourDatabase插件133 6.9.3 Recombinant AI插件133 6.10 自定义GPT133 6.11 Gemini135 6.11.1 应用137 6.11.2 编程138 6.12 Claude139 6.13 小结141
第7章 软件开发的早期阶段:想法、需求和规划143 7.1 头脑风暴143 7.2 市场调研145 7.2.1 市场趋势147 7.2.2 市场规模148 7.3 竞争分析149 7.4 需求分析151 7.4.1 产品需求文档152 7.4.2 软件需求规约153 7.4.3 访谈154 7.4.4 白板讨论155 7.4.5 文档基调156 7.5 项目规划方法157 7.5.1 测试驱动开发159 7.5.2 Web设计规划160 7.6 小结162
第8章 编写代码165 8.1 现状:AI辅助编程工具能替代开发者吗165 8.2 决策:是否采用AI辅助编程工具167 8.3 提高学习效率167 8.4 高效注释169 8.5 模块化编程169 8.6 快速启动项目170 8.7 自动填充171 8.8 重构173 8.8.1 忍者代码173 8.8.2 提炼函数174 8.8.3 分解条件表达式175 8.8.4 重命名175 8.8.5 无用代码176 8.9 编写函数176 8.10 面向对象编程178 8.11 框架和库179 8.12 生成样本数据180 8.13 前端开发182 8.13.1 CSS182 8.13.2 创建图形183 8.13.3 AI工具184 8.14 API186 8.15 小结187
第9章 调试、测试和部署189 9.1 调试189 9.2 文档190 9.3 代码审查192 9.3.1 单元测试193 9.3.2 拉取请求195 9.4 部署197 9.4.1 用户反馈198 9.4.2 产品发布199 9.5 小结200
第 10章 AI辅助编程的一些启示201 10.1 陡峭的学习曲线201 10.2 主要优势201 10.3 不足之处202 10.4 提示工程是科学与艺术的结合203 10.5 编程之外的能力203 10.6 AI不会抢走开发者的工作203 10.7 小结204
|
|