AI輔助編程實戰 Ai-Assisted Programming: Better Planning, Coding, Testing, and Deployment
[美]湯姆·陶利(Tom Taulli)
- 出版商: 人民郵電
- 出版日期: 2024-11-01
- 定價: $419
- 售價: 8.5 折 $356
- 語言: 簡體中文
- 頁數: 205
- ISBN: 7115651590
- ISBN-13: 9787115651594
- 此書翻譯自: Ai-Assisted Programming: Better Planning, Coding, Testing, and Deployment (Paperback)
已絕版
商品描述
本書深入探討了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網站等媒體撰稿,並為O'Reilly和Pluralsight開發教育課程,專註生成式AI、數據庫技術及Python編程等領域。
譯者簡介
成海霞,微軟高級軟件工程師,負責Java on Azure面向傳統應用服務器的雲原生解決方案的設計和研發,助力企業客戶將Java遺留系統成功轉型並無縫遷移至Azure容器平臺,實現技術現代化的飛躍。曾就職於甲骨文上海研發中心,從事自動化測試產品及PAAS平臺現代化DevOps系統的研發。Microsoft Azure for Java Developers圖書技術評審,InfoQ中國社區編輯/譯者,翻譯了多本技術圖書。
目錄大綱
推薦序1 1
推薦序2 3
序言 5
前言 7
第 1章 AI打開開發者的新世界 13
1.1 編程的演變與革命 14
1.2 生成式AI 16
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和LLM 37
2.5.1 技術演變 38
2.5.2 Transformer模型 39
2.5.3 OpenAI Playground 42
2.6 評估LLM 47
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 自治的AIAgent 70
3.12 小結 73
第4章 GitHub Copilot 75
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 使用Copilot 80
4.2.1 Codespaces與VS Code 81
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 CodeWhisperer 97
5.2 Duet AI 99
5.3 Tabnine 101
5.4 Replit 102
5.5 CodeGPT 104
5.6 Cody 105
5.7 CodeWP 107
5.8 Warp 108
5.9 Bito AI 110
5.10 Cursor 111
5.11 Code Llama 112
5.12 其他開源模型 113
5.12.1 StableCode 113
5.12.2 AlphaCode 114
5.12.3 PolyCoder 114
5.12.4 CodeT5 114
5.12.5 軟件公司開發的模型 115
5.13 小結 116
第6章 ChatGPT和其他通用LLM 117
6.1 ChatGPT 117
6.2 GPT-4 118
6.3 訪問ChatGPT 119
6.3.1 移動版ChatGPT 122
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 Actions 130
6.9 ChatGPT插件 131
6.9.1 Codecademy插件 131
6.9.2 AskYourDatabase插件 133
6.9.3 Recombinant AI插件 133
6.10 自定義GPT 133
6.11 Gemini 135
6.11.1 應用 137
6.11.2 編程 138
6.12 Claude 139
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 CSS 182
8.13.2 創建圖形 183
8.13.3 AI工具 184
8.14 API 186
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