
本文記錄我在 60 分鐘限時考核中用上述方法完成兩個 Python 任務的完整過程。二、考題概覽三、考題一Excel 報表3.1 需求澄清交給 AI 之前我先把需求寫成一段契約text復制下載輸入sales_raw.xlsx日期/銷售員/產品/數量/單價/地區(qū) 輸出report.xlsx明細清洗后 / 按銷售員 / 按地區(qū) / 總覽 清洗規(guī)則剔關鍵字段缺失 → 剔數量0 → 全字段去重 派生銷售額 數量 × 單價 匯總按銷售員、按地區(qū)、按月 邊界文件不存在/空/缺列/全臟 → 中文報錯 非 0 退出碼 約束絕不修改原文件3.2 讓 AI 拆任務而不是寫代碼我先別寫代碼幫我把這個需求拆成 4~5 個可驗證的小步。AI 給出讀校驗 → 清洗 → 派生 → 聚合 → 寫出。我采納并補上打印每步剔除行數以便驗證。3.3 Code Review 三處修正#AI 第一版問題我的修正1只對數量做to_numeric補上單價2直接df.to_excel()覆蓋改ExcelWriter上下文3業(yè)務異常用raise Exception統(tǒng)一ReportError 中文提示3.4 關鍵代碼片段python復制下載df[數量] pd.to_numeric(df[數量], errorscoerce) df[單價] pd.to_numeric(df[單價], errorscoerce) df df.dropna(subset[日期, 銷售員, 數量, 單價]) df df[df[數量] 0].drop_duplicates() df[銷售額] (df[數量] * df[單價]).round(2)四、考題二FastAPI 記賬接口4.1 先寫接口契約MethodPath說明POST/records新增校驗金額/類型/日期GET/records按 type/category/start/end 篩選 分頁GET/summary收入/支出/結余4.2 用 Pydantic 做第一道防線python復制下載class RecordIn(BaseModel): amount: float Field(..., gt0) type: Literal[收入, 支出] category: str date: date任何不合法的輸入FastAPI 自動返回 422 結構化錯誤無需手寫。4.3 并發(fā)安全內存存儲用threading.Lock保護add()和 ID 自增讀取時做快照避免迭代中被改。python復制下載def add(self, rec): with self._lock: rid self._next_id self._next_id 1 self._data[rid] {id: rid, **rec.model_dump()} return self._data[rid]4.4 測試覆蓋python復制下載def test_create_zero_amount(): # 邊界金額為 0 r client.post(/records, json{..., amount: 0}) assert r.status_code 422 def test_create_bad_type(): # 邊界類型非法 ... def test_summary_bad_range(): # 邊界start end ...text復制下載7 passed in 0.32s五、AI 協(xié)作的經驗總結? 這樣做效率高? 這樣做會翻車 必須人工把關的 4 件事六、結語Vibe Coding 的本質是讓 AI 承擔體力活人專注于判斷與決策。真正決定交付質量的從來不是 AI 生成的代碼而是你交給 AI 的需求清晰度以及你對 AI 輸出的審查深度。完整源碼結構text復制下載vibe_coding_exam/ ├── task1_excel/report.py ├── task2_fastapi/{main,storage,schemas}.py ├── task2_fastapi/tests/test_api.py └── run_all.sh一條命令跑通全部一、什么是 Vibe CodingVibe Coding 不是讓 AI 替我寫代碼而是用自然語言指揮 AI 完成工程任務的一種協(xié)作方式。核心能力有三點需求澄清在敲第一個字符前先把目標、輸入輸出、邊界、驗收標準寫清楚。任務拆解把大需求拆成可獨立運行、可獨立驗證的小步。過程管理每一步都跑通再進下一步對 AI 輸出做 Code Review關鍵節(jié)點人工接管。考題一Excel 報表腳本 —— 讀sales_raw.xlsx清洗 統(tǒng)計輸出含 4 個 Sheet 的report.xlsx考題二FastAPI 記賬接口 —— POST/GET/SUMMARY 三個接口帶校驗、分頁、匯總讓 AI拆任務而不是讓 AI一把梭寫全部。每一步都跑通再進下一步避免錯誤堆疊。讓 AI 生成樣板代碼Pydantic 模型、pytest 骨架、pandas 鏈式聚合。讓 AI 幫你列邊界清單然后你來篩選。一次性讓 AI 寫完整項目 → 出錯后不知道從哪查。不做 Code Review 直接跑 → 靜默錯誤如字符串單價參與乘法。讓 AI 決定業(yè)務邊界金額能否小數、時區(qū)怎么處理→ 結果不符合預期。讓 AI 自由重構 → 范圍失控改壞無關模塊。數據一致性類型轉換、空值處理、單位統(tǒng)一。并發(fā)與冪等鎖、自增 ID、重復提交。輸入校驗范圍、格式、枚舉、注入風險。副作用文件寫入、數據庫提交、網絡調用是否可回滾。