《現代軟體工程:從基礎到 AI Agent 實踐》大綱#
書籍定位#
軟體工程 + AI 融合的教科書,面向資訊工程系大學生,以混合式結構組織:前半部建立傳統 SE 骨幹,後半部融入 AI 工程新範式。
目標讀者#
大學生(資訊工程系),零基礎可讀,但假設具備基本程式設計能力。
核心理念#
- AI 沒有改變軟體工程的本質——需求模糊性、系統複雜性、品質驗證仍然是本質性困難
- AI 大幅降低了附屬性困難——樣板程式碼、基礎測試、文件生成等體力活被自動化
- 軟體工程師的角色從「建築工」轉變為「指揮官與架構師」——負責定義問題邊界、審查 AI 產出、承擔最終品質責任
- 「沒有度量就沒有改進」仍然是金科玉律——評估體系在 AI 時代更加重要
結構規劃:三篇 + 附錄#
第一篇:軟體工程基礎(Ch 1-6)#
以傳統 SDLC 為骨架,每個概念都用 AI 時代的案例重新詮釋。目的是讓學生先建立完整的 SE 心智模型,再進入 AI 領域。
| 章 | 標題 | 核心內容 | AI 融合點 |
|---|---|---|---|
| 1 | 軟體工程的本質 | 複雜性、本質性困難 vs 附屬性困難、人月神話、Brooks 法則 | AI 消滅了附屬性困難,但本質性困難永存 |
| 2 | 需求工程 | 需求挖掘、用例建模、使用者故事、邊界條件 | AI 輔助需求分析(Red Teaming Prompting、Spec 生成) |
| 3 | 系統設計 | 架構模式、模組化、API 設計、SOLID/DRY/KISS | Spec-Driven Development、ACI(Agent-Computer Interface) |
| 4 | 程式設計與實作 | 程式碼品質、重構、設計模式、Code Review | Agentic Coding:人機協同的程式碼生成 |
| 5 | 測試與品質保證 | 測試金字塔、TDD、整合測試、E2E 測試 | AI 自動生成測試、LLM-as-a-Judge |
| 6 | 部署與維運 | CI/CD、DevOps、監控、可观測性 | AI 驅動的異常偵測與自癒系統 |
第二篇:AI 工程基礎(Ch 7-10)#
從傳統 SE 過渡到 AI 工程,建立新的心智模型。這是本書的差異化核心,主要參考《AI Agent 實戰營》的內容提煉而成。
| 章 | 標題 | 核心內容 | 主要參考 |
|---|---|---|---|
| 7 | 從提示到上下文工程 | Prompt Engineering → Context Engineering 的演進、API 上下文結構、上下文壓縮、RAG | agent-book Ch2 |
| 8 | 工具與 Agent 架構 | 工具設計原則(ACI)、五類工具分類、MCP 協定、ReAct 迴圈、Coding Agent | agent-book Ch1、Ch4、Ch5 |
| 9 | Harness 工程 | 約束、驗證、糾正機制、從 Prompt → Context → Harness → Loop → Graph Engineering 的演進 | agent-book Ch1(Harness 工程)、chat/agent工程 |
| 10 | 評估與持續進化 | Eval 方法論、對比/消融實驗、Agent 的持續進化閉環、學習訊號與更新載體 | agent-book Ch7、Ch9 |
第三篇:主題式深入(Ch 11-14)#
以問題為導向,融合傳統 SE 與 AI 的深度議題。
| 章 | 標題 | 核心內容 | 主要參考 |
|---|---|---|---|
| 11 | 複雜系統的架構 | 事件驅動與非同步架構、即時互動(語音/Computer Use/機器人)、多 Agent 協作拓撲 | agent-book Ch6、Ch10 |
| 12 | 團隊協作與流程 | SDLC 演進史(瀑布→螺旋→敏捷→AI 增強)、多人 + AI 協同、Shared Context、自動化護欄 | chat/ai軟體工程、opencode.school |
| 13 | 安全與倫理 | 提示注入與防禦、工具安全與權限控制、AI 偏見與幻覺、合規與隱私 | agent-book Ch4、Ch7 |
| 14 | 前沿與展望 | 模型即 Agent、模型與 Harness 的飛輪效應、兩朵烏雲(即時互動、持續學習)、軟體工程師的未來 | agent-book 後記 |
與參考材料的差異化#
| 面向 | agent-book-zhtw | 本書 |
|---|---|---|
| 定位 | Agent 專業技術書 | CS 本科生教科書 |
| 起點 | 直接進入 Agent | 從 SE 基礎開始 |
| 深度 | 極深(模型後訓練、Mid-training 等) | 廣度優先,適度深入 |
| 受眾 | 有經驗的開發者 | 大學生(零基礎可讀) |
| 實驗 | 需要 API 金鑰和雲端環境 | 以本地工具(如 OpenCode Desktop)為主 |
寫作風格#
- 每章一核心公式/概念(如
Agent = LLM + Context + Tools、Agent = Model + Harness) - 實驗分級:★ 入門、★★ 中等、★★★ 挑戰
- 中英術語對照,首次出現即定義
- 避免過多評論,用案例和實驗說話
- 配套開源:程式碼倉庫 + 實驗指南
待決定事項#
- 模型後訓練(RL、SFT)講到什麼程度?CS 本科生可能沒有 ML 背景
- 實驗環境是否以 OpenCode / Claude Code 為主平台
- 語言:中文為主,還是中英夾雜
- 哪幾章是「核心必讀」、哪幾章是「選讀」
- 是否需要配套的投影片或課程大綱
附錄規劃#
兩份附錄是實用工具性內容,放在正文之後,作為工具書式的查閱章節。面向不熟悉這些工具的學生,建立動手做實務的基礎。
附錄 A:Git 與 GitHub 實務#
軟體工程的基本功,也是所有程式碼協作的基礎。建議在課程初期(第一篇期間)就一併教授,學生做作業時即可使用。
| 節 | 標題 | 內容 |
|---|---|---|
| A.1 | 版本控制的本質:為什麼需要 Git | 版本控制概念、分散式 vs 集中式、Git 的核心模型 |
| A.2 | Git 基礎操作 | init、add、commit、branch、merge、status、log |
| A.3 | 分支策略 | Git Flow、Trunk-Based Development、release 分支 |
| A.4 | GitHub 協作 | Pull Request、Code Review、Issue、Fork |
| A.5 | GitHub Actions | CI/CD 自動化的入門實作 |
| A.6 | Git 進階 | rebase、cherry-pick、bisect、衝突解決 |
附錄 B:OpenCode 與 AI 輔助開發#
本書所有 AI 相關實驗的推薦平台。以 OpenCode Desktop 為主介面(對不熟悉終端機的學生友善),CLI 作為進階選項。參考 opencode.school 的課程設計。
| 節 | 標題 | 內容 |
|---|---|---|
| B.1 | OpenCode 是什麼 | 從 CLI 到 Desktop、與其他 AI 工具比較 |
| B.2 | 安裝與設定 OpenCode Desktop | 下載、安裝、設定配置檔 |
| B.3 | AGENTS.md | 為 AI 寫崗位說明書、可重用的指示 |
| B.4 | 權限控制 | 讓 AI 能做什麼、不能做什麼 |
| B.5 | MCP Servers | 擴展 AI 的工具箱、加入外部工具 |
| B.6 | Skills | 教 AI 新技能、agentskills.io 規格 |
| B.7 | 實戰 | 用 OpenCode 完成一個小專案(端到端) |
附錄在教學流程中的使用建議#
- 附錄 A:在第 2 章(需求工程)之後、開始程式實作前教授,學生立刻可用
- 附錄 B:在第 4 章(程式設計)的 Agentic Coding 一節之前教授,讓學生跟得上 AI 實驗
- 兩份附錄都設計為「可跳過」——有經驗的讀者可直接略過,需要時回來查閱