工具索引
這裡不教操作,操作問 agent 就好。每張卡只放三樣東西:這個工具在解決什麼、上課講過的幾個名詞、卡住的時候怎麼問。
Agent 環境與 vibe coding 第一版
第一堂就要能動:裝好 agent,vibe coding 出一版簡易地震監測系統。
- Claude Code / Codex:裝其中一個,能在終端機對話、能改檔案就算通過。
- vibe coding 的第一版:用自己的想法讓 agent 做一版地震監測系統,能動就好,不評分——玩的過程就是在探索需求。留著,之後每週拿來對照,看工程方法帶你走了多遠。
關鍵字:Claude Code、Codex、CLI、API key、終端機
卡住就問:「幫我確認這台電腦的 Claude Code 能不能用,帶我跑一次最小的測試。」
Agent loop
Agent 不是想完才動手,是一圈一圈跑:拿到目標和脈絡 → 判斷下一步 → 呼叫工具 → 看結果 → 修正。
- 能力來源:模型+工具+權限+回饋。
- 不確定性來源:每一步都靠當下的 context 猜,背景不完整就一路錯下去。
關鍵字:agentic loop、tool call、context、feedback
卡住就問:「你剛剛那步是根據什麼判斷的?把你看到的資訊列出來。」
Git
改壞了可以回去,忘記為什麼這樣改可以翻紀錄。
- commit:存檔點,訊息寫為什麼改。
- diff:改動前後的差異,agent 改完先看這個再決定收不收。
- branch:開一條線試東西,不影響能動的版本。
- PR:合回主線前的檢查點。
循環:agent 改之前確認狀態乾淨 → 改完看 diff → commit;大改動走 branch + PR。
關鍵字:repository、commit、diff、branch、merge conflict、PR、revert、git log、.gitignore
卡住就問:「剛剛改壞了,幫我看最近幾個 commit 改了什麼,回到還能動的版本。」
生命週期與迭代
需求不是答案,是假設;做出來給人用過才知道對不對。
- MVP:先做最小能用的版本,快點拿到回饋。
- 迭代:需求 → 做 → 驗 → 修,一圈一圈來,不要想一次到位。
關鍵字:SDLC、MVP、iteration、需求變更
卡住就問:「這個需求我想先做最小版本,幫我列出可以砍掉的部分。」
Harness 與 Skill
Agent 的能力不是只有模型,外面那圈也算。
- Harness:模型外面的框架——工具、權限、執行環境,決定它實際做得到什麼。
- Skill:把會重複用的流程寫成文件,讓 agent 每次照著做。
關鍵字:harness、skill、tool、permission、sandbox
卡住就問:「幫我把剛剛這套流程整理成一個 skill,下次直接用。」
Context 工程
不是塞越多越好,是給對的東西。
- 注意力有限:塞太多,重點會被稀釋。
- 入口文件(agents.md):專案是什麼、怎麼啟動、規則是什麼,讓每個新開的 agent 一看就懂。
關鍵字:context window、attention、agents.md、知識庫
卡住就問:「幫這個專案寫一份 agents.md,讓新的 agent 不用問我就知道怎麼上手。」
SDD 與資料管理
把「我想要的」變成「可以檢查的」。
- 規格:背景、目標、限制、驗收條件寫清楚,再開工。
- 資料管理:資料是最難改的地基。想清楚存什麼、存多久、用什麼形式存; AI 的 context 就從你的資料來——資料架構選錯,AI 不知道自己不知道。
- 資料契約:時間、單位、取樣率、欄位格式先固定,兩邊才接得起來——資料管理最小的一塊。
關鍵字:SDD、specification、資料管理、data model、資料契約、驗收條件、task list
卡住就問:「把這個需求整理成規格,包含驗收條件,我確認後你再開始做。」
TDD
「我覺得它是對的」不算數,測試過了才算。
- 先寫測試再寫程式,測試就是可執行的規格。
- fixture:固定的測試資料,結果才能重跑比對。
關鍵字:TDD、unit test、fixture、test case
卡住就問:「先為這個功能寫測試,我確認測試合理之後你再實作。」
Debug 與 Code Review
出錯不是亂試,是修正因果模型。
- Debug:先假設哪裡錯 → 設計實驗驗證 → 看證據 → 再修。
- Code Review:檢查跟規格一不一致、有沒有看不懂的地方。
關鍵字:debug、hypothesis、code review、log
卡住就問:「不要直接改,先列出三個最可能的原因,和你打算怎麼驗證。」
Docker
「我這裡能跑」不等於別人能跑。
- 把依賴和環境打包,換一台電腦也能重現。
關鍵字:Docker、Dockerfile、image、container、compose
卡住就問:「把這個專案容器化,讓另一台電腦 clone 下來就能跑。」
CI/CD
產出越快,檢查越要自動。
- 每次 PR 自動跑測試和建置,壞的擋在合併之前。
關鍵字:CI/CD、GitHub Actions、pipeline、smoke test
卡住就問:「加一個 GitHub Actions,每次 PR 自動跑測試。」
可觀測性
系統跑起來之後看不到裡面,要靠它自己說。
- log 記發生什麼、metrics 記多快多少;出錯先看訊號,不要用猜的。
關鍵字:log、metrics、trace、monitoring
卡住就問:「在資料處理的關鍵步驟加 log,讓出錯時看得出卡在哪。」
Agent 資安
Agent 能做什麼,應該由你決定,不是它。
- 最小權限:只給這次任務需要的檔案和權限。
- 信任邊界:外部來的資料是資料,不是指令。
關鍵字:least privilege、secrets、prompt injection、信任邊界
卡住就問:「檢查這個專案有沒有 secrets 被寫進程式碼或 commit 過。」
舊專案入口
接手陌生系統,從外部證據拼出它在幹嘛。
- 先找入口:怎麼啟動、設定在哪、資料從哪進從哪出。
- 不用讀完每一行,先建立「主要模組在做什麼」的地圖。
關鍵字:legacy、entry point、依賴、資料流
卡住就問:「研究這個專案怎麼啟動、輸入輸出是什麼,整理成一頁筆記。」
模組邊界與重構
好架構在保護你的理解。
- 邊界清楚,改一個地方不用怕動到全部。
- 重構時機:每次都要跨好幾個檔案才能改一件事的時候。
關鍵字:module boundary、coupling、refactoring
卡住就問:「這次修改動到了哪些模組?怎麼讓下次同類的改動只動一個地方?」
整合與資料追溯
每一段都對,接起來不一定對。
- 介面先固定:兩段之間傳什麼格式,先講好。
- 資料追溯:結果要能一路查回原始資料和參數。
關鍵字:integration、interface、PhaseNet、association、traceability
卡住就問:「這個 pick 是從哪筆波形、哪個模型版本、什麼參數算出來的?讓這件事查得到。」
Demo 與工程回顧
交付不是「能動」,是「有證據」。
- Demo:走一次完整流程給人看。
- 回顧:這學期做了哪些取捨、留了哪些債、什麼訊號出現要回來改。
關鍵字:demo、decision log、retrospective、交付證據
卡住就問:「從 commit 和 PR 整理出這個專案做過的重要決定和理由。」