龍顏fun書獎

讓 AI 寫出好程式!AI Coding 專案開發實戰指南

活動訊息

全館滿$1,200送150點金幣,4月歡慶兒童節,童書、玩具、文具滿1000元再送200點金幣!

內容簡介

內容介紹:
AI 世代強勢來臨,這是一場關於「開發效率」與「思考維度」的革命!

從開發者的實際痛點出發,帶你學會如何在不同開發階段策略性地與 AI 協作。從需求分析、使用者故事定義,到資料庫設計、Flask 後端實作及 UI 介面優化,逐步打造可維護、可上線的應用程式,並有效提升開發效率。

帶你從實務專案出發,建立可維護、可驗證的 AI 輔助開發流程
● 將 AI 工具整合進實際開發流程
● 建立可重複使用的 AI 提示詞
● 產出專業級文件與自動化測試
● 高效進行除錯與程式重構
● 有效避開 AI 常見的幻覺問題
本書特色:
本書適合 ~
● 想提升開發效率的 Python 開發者:將 AI 整合進實際開發流程,提升程式開發品質。
● 想掌握 AI 輔助開發流程的學習者:從規劃、設計、實作到除錯,完整理解 AI 如何參與軟體開發生命週期。
● 重視程式碼品質與可維護性的工程師:深入了解如何運用 AI 協助重構、除錯、文件撰寫與測試生成。

本書不限於使用特定 AI 工具,重點在於培養與 AI 協作的思維與方法,讓你能靈活應用於不同開發情境。並且將會簡介 GitHub Copilot、ChatGPT、Gemini、Blackbox AI、Tabnine、Cursor 等工具的特色與適用情境,幫助讀者從實作案例中比較差異,找到最適合自己的 AI 輔助開發工具。

別讓 AI 只是你的玩具,讓它成為你的專業開發夥伴!

作者

Jeremy C. Morgan 致力於協助開發者精進專業能力,現任 KodeKloud 的資深訓練架構師。擁有二十年的工程師經驗,曾為各種規模的組織打造軟體,服務對象從 Fortune 100 企業到小型新創公司皆包含在內。過去幾年,專注於生成式 AI 與機器學習專案,並在自己的技術部落格撰寫教學文章,且廣受讀者歡迎。歡迎造訪作者的個人網站:www.jeremymorgan.com

目錄

目錄:
▌第 1 篇 AI 輔助程式開發入門

第 1 章 認識生成式 AI
▸ 1.1 給開發者的生成式 AI
 .1.1.1 程式碼生成與自動補全
 .1.1.2 錯誤偵測與自動修正
 .1.1.3 文件生成
 .1.1.4 程式重構與優化
 .1.1.5 生成測試案例與建立模擬資料 (mock data)
▸ 1.2 開發者工具概述
 .1.2.1 整合型開發工具
 .1.2.2 獨立型工具
▸ 1.3 生成式 AI 是怎麼運作的?
▸ 1.4 什麼是 LLM?為何值得關注?
▸ 1.5 為什麼這些工具有時候會出錯?
 .1.5.1 LLM 與資料庫的區別
 .1.5.2 訓練階段問題
 .1.5.3 誤解上下文
▸ 1.6 LLM 的潛力
▸ 1.7 生成式 AI vs. 程式碼補全
 .1.7.1 其他類型的生成式 AI
 .1.7.2 為什麼開發者應該關注生成式 AI
▸ 1.8 結合 AI 協作的專案開發流程
 .1.8.1 構思與規劃
 .1.8.2 程式碼生成與協作
 .1.8.3 程式碼審查與分析
 .1.8.4 測試與除錯
 .1.8.5 文件與內容生成
▸ 1.9 選擇合適的生成式 AI 工具
 .1.9.1 資料品質與可用性
 .1.9.2 開發流程整合
 .1.9.3 品質驗證
 .1.9.4 持續追蹤工具演進
 .1.9.5 思維轉變
▸ 1.10 不必害怕 AI 的崛起
▸ 1.11 開始動手寫程式!

第 2 章 AI 協助撰寫程式的第一步
▸ 2.1 什麼是 GitHub Copilot?
 .2.1.1 GitHub Copilot 的運作方式
 .2.1.2 與 GitHub Copilot 互動
▸ 2.2 常見模式
▸ 2.3 關鍵的上下文 (Context is everything)
▸ 2.4 什麼是自然語言處理 (NLP)?
▸ 2.5 一個簡單的 Python 專案
 .2.5.1 準備你的開發環境
 .2.5.2 建立應用程式
 .2.5.3 支線任務:測試函式速度

▌第 2 篇 AI 輔助建構應用程式

第 3 章 探索需求與生成設計文件
▸ 3.1 認識 ChatGPT
▸ 3.2 問題陳述 (使用者需求)
▸ 3.3 建立正確的提示詞 (prompt)
▸ 3.4 衡量 ChatGPT 對設計流程的影響
▸ 3.5 使用 ChatGPT 創建的設計文件
▸ 3.6 軟體設計文件:業餘無線電 (HAM) 執照練習測驗應用程式
▸ 3.7 深入探討細節
 .3.7.1 系統概述 (第 2 點)
 .3.7.2 技術堆疊 (第 5 點)
▸ 3.8 生成專案的使用者故事
 .3.8.1 在提示詞中定義角色
 .3.8.2 輸出結果:使用者故事
 .3.8.3 分析輸出結果
 .3.8.4 仔細檢視使用者故事文件

第 4 章 撰寫應用程式的第一版程式碼
▸ 4.1 Stubbing:建立應用程式的骨架
▸ 4.2 從設計文件中擷取需求
 .4.2.1 步驟 1:使用 ChatGPT 擷取需求
 .4.2.2 步驟 2:使用 Gemini 擷取需求
▸ 4.3 設定開發環境
▸ 4.4 Flask 應用程式結構 (structure)
▸ 4.5 為應用程式建立骨架 (stubbing)
▸ 4.6 初次執行應用程式

第 5 章 使用 Blackbox AI 生成程式碼
▸ 5.1 使用生成式 AI 工具進行應用程式開發
▸ 5.2 建立開發環境
▸ 5.3 開發核心功能
 .5.3.1 建立資料庫
 .5.3.2 連線至資料庫
 .5.3.3 從前端呼叫資料庫
 .5.3.4 重構 Questions 類別
 .5.3.5 修改應用程式入口點 (App.py)
 .5.3.6 抽取一組題目
 .5.3.7 建立測驗工作階段 (session) 資料
 .5.3.8 建立測驗工作階段的程式碼
 .5.3.9 產生題目集合 (question set)
 .5.3.10 驗證測驗工作階段 (session) 是否建立成功
 .5.3.11 結論

第 6 章 使用 Tabnine 建立軟體後端
▸ 6.1 建立工作階段與發現第一個 bug
▸ 6.2 建立索引頁面
 .6.2.1 建立啟動工作階段的互動介面 (新增按鈕)
 .6.2.2 讓工作階段持續存在
 .6.2.3 重構工作階段的建立流程
 .6.2.4 重構題目集合方法
 .6.2.5 建立結束工作階段的功能

▌第 3 篇 進階 AI 開發技術

第 7 章 使用生成式 AI 建構使用者介面
▸ 7.1 使用 AI 工具取得策略方向
 .7.1.1 ChatGPT 的輸出結果
 .7.1.2 Gemini 的輸出結果
 .7.1.3 Blackbox AI 的結果
 .7.1.4 提示詞優化 (refinement)
▸ 7.2 建立樣板
▸ 7.3 梳理應用程式的流程
 .7.3.1 建立整體設計
 .7.3.2 根據線框圖撰寫 HTML 草稿
 .7.3.3 應用程式的最終介面 (UI)

第 8 章 使用生成式 AI 建立有效測試
▸ 8.1 為什麼要使用生成式 AI 來進行測試?
▸ 8.2 什麼是單元測試?
▸ 8.3 生成 Python 測試的工具
▸ 8.4 使用生成式 AI 撰寫單元測試
 .8.4.1 unittest 還是 pytest?
 .8.4.2 使用 Copilot 生成測試
 .8.4.3 使用 Tabnine 生成測試
 .8.4.4 使用 Blackbox AI 生成測試
 .8.4.5 應該使用哪一個工具來產生測試?

第 9 章 提示工程 (Prompt Engineering)
▸ 9.1 了解提示工程
▸ 9.2 認識提示詞的組成
 .9.2.1 關鍵元素:上下文、指示、範例
 .9.2.2 示範精準提示詞G以 MySQL 連線為例
▸ 9.3 打造終極提示詞
▸ 9.4 基本提示詞類型
 .9.4.1 Zero-shot (零樣本) 提示
 .9.4.2 Few-shot 提示
 .9.4.3 開放式 (Open-ended) 提示詞
 .9.4.4 限制型 (Constrained) 提示詞
 .9.4.5 結構化 (Structured) 提示詞
 .9.4.6 迭代式流程的案例
▸ 9.5 進階的提示工程
 .9.5.1 思維鏈提示 (Chain-of-thought prompting)
 .9.5.2 遞迴提示 (Recursive prompting)
 .9.5.3 情境操控 (Context manipulation)
 .9.5.4 指令精鍊 (Instruction refinement)
 .9.5.5 輸出控制 (Output control)
 .9.5.6 小結
▸ 9.6 程式設計師專用的提示詞技巧
 .9.6.1 角色與視角設定
 .9.6.2 情境與限制條件
 .9.6.3 任務拆解與流程控制
 .9.6.4 輸出結構與格式控制
 .9.6.5 品質檢查與改善標準
 .9.6.6 方案比較、取捨與反例

第 10 章 使用 Cursor 進行 Vibe Coding
▸ 10.1 什麼是 Vibe Coding?
▸ 10.2 什麼是 Cursor?它為什麼與眾不同?
 .10.2.1 介面
 .10.2.2 專案層級的上下文理解、客製化能力
▸ 10.3 初始構想
▸ 10.4 建立遊戲的初始提示詞
▸ 10.5 Cursor 基礎操作
 .10.5.1 提供回饋
 .10.5.2 添加上下文 / 情境 (Adding context)
 .10.5.3 選擇模式 (Selecting a mode)
 .10.5.4 模型選擇 (Model selection)
 .10.5.5 MAX 模式
▸ 10.6 初次提示詞的結果
▸ 10.7 第一次執行遊戲
▸ 10.8 進一步調整遊戲
 .10.8.1 修正木頭重疊
 .10.8.2 加入高分紀錄
 .10.8.3 讓遊戲持續進行

配送方式

  • 台灣
    • 國內宅配:本島、離島
    • 到店取貨:
      金石堂門市 不限金額免運費
      7-11便利商店 萊爾富便利商店 全家便利商店
  • 海外
    • 國際快遞:全球
    • 港澳店取:
      順豐 7-11便利商店

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • 紙本平裝
    • ISBN
    • 9789863128717
    • 分級
    • 普通級
    • 頁數
    • 512
    • 商品規格
    • 18開17*23cm
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

退換貨須知:

**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**

  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
    1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
    2. 依消費者要求所為之客製化給付。(客製化商品)
    3. 報紙、期刊或雜誌。(含MOOK、外文雜誌)
    4. 經消費者拆封之影音商品或電腦軟體。
    5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
    6. 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
  • 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
  • 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
  • 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
※ 本商品會員日滿額金幣加碼回饋最高15倍
將於 2026/06/03 開賣 
金石堂門市 全家便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing