零售集團 IT 子公司 — Senior Systems Analyst(AI 應用工程師 / 高級系統分析師)
負責雲端架構規劃、批次與資料平台、AI 應用開發與維運,橫跨 Cloud Architecture、DevOps、Data Engineering 與 AI 產品開發。
零售客戶 CDP:批次打包平台演進(ADF 輪詢 → Queue → 任務排程器)
ADF 15 分鐘輪詢 → Storage Queue → 單表任務排程器;主導 prod 切換、三次事故修補,二代 1,190 單元測試
- 將 ADF 每 15 分鐘輪詢的打包流程改為 .NET BackgroundService + Azure Storage Queue:sp_getapplock 全域併發認領、heartbeat 續租、poison queue + 失敗通知、RecoveryScan 兜底;認領延遲 15 分鐘 → 秒級;主導 prod 切換,前一日於 test 環境彩排並預先排除 trigger 分支與 storage 防火牆問題
- 三次事故後的韌性修補:Run From Package 根治部署競態、下載清單串流化根治 664 萬人名單 OOM、版更/重啟秒級交棒取代 60 分鐘殭屍回收、SQL 連線暫時性錯誤重試
- 設計並實作第二代任務排程器(dev 完成、待 prod):單一 job 表排程六種任務、每資源一把 applock、狀態轉換一律「條件更新看影響列數」、逾時用 DB 時鐘、擴機與併發只改表不重部署;取代 ADF 三條鏈與 Storage Queue;710 行 spec、1,190 單元測試、dev 整合測試 68/68;修復跨實例 race 與跨執行緒關連線死鎖
- 工作方法:設計期只留文件(spec + 約 40 份 brief/review),定案後授權 subagent 實作(sonnet 做簡單 task、opus 做 SQL/併發)、每 task review;單日 88 commits
零售客戶 CDP:打包 SQL 重寫與效能根因追查
Razor 拼 SQL 改參數化 builder;三次量測先行的根因追查:559s → 0.4s、整包 24m45s → 47s,builder 零修改
- 將 Razor 模板拼接 SQL 重寫為參數化 C# SqlBuilder(四種 BoxType)並修掉三個已知 bug;動手前先對 Synapse 做參數化行為 PoC(CTAS 多語句、暫存表可見性、TOP(@var)、字串參數型別),據此決定 DECLARE fallback;由 Copilot 依 15 個 TDD task 實作、Claude 分批 review
- 量測先於改碼的三次根因追查,builder 零修改:NVARCHAR 隱式轉換毀掉 82.7M 列索引 seek → 參數側 CONVERT,559s → 0.4s;dev 未同步 prod view 定義 → 單盒 1237s → 12.5s、整包 smoke 24m45s → 47s;appsettings.json 因 csproj 設定從未部署 → 3600s 逾時 ×3 改為 5.7 分完包,並修正預設值防再犯
- 儀表板 prod 契約改版(SP 三參數化、打包完成後同訊息接算儀表板,取代 ADF 派工)、SP 補桶子讓無消費包也能過檢核;多次引用的 CTE 改 CTAS 物化:最大包 12.6M 人 425/364s → 141/131s,四種規模輸出逐列相同
零售客戶 CDP:Text-to-SQL(PoC → 正式版)
9.2 億列資料的自然語言查詢,PoC → 正式 FastAPI 服務;gold SQL 10/10、行為測試 23/23、捏造 0
- PoC v1 合成資料 + DuckDB 驗可行;PoC v2 直連 prod 複本(9.2 億交易列):理解 → value linking 程式守門 → 選項式反問(≤3 輪)→ 回顯理解 → 生 SQL → sql_guard 驗證與自動修正 → EXPLAIN 閘門 → 執行 → 程式算統計、LLM 只解讀
- 正式版:獨立 FastAPI 服務;sqlglot AST 方言包同時支援 T-SQL 與 PostgreSQL;語意模型 YAML 每條事實帶 confidence / evidence / review;10 份 ADR;資料探測 650s → 338s
- 評估體系:gold SQL 數字比對(容差 0.5%)10/10、行為測試(該問 / 不該問 / 做不到)23/23 × 2、洞察捏造檢查 0 捏造、可行動分數 3.3 → 4.17;Claude vs GPT 比較(結論深度 vs 約 100× 費用)
- 產品定位決定(ADR):得知其他兩個系統也要接入 → 從「單一系統專用」改為「執行引擎 + 13 階段導入流程」;守門原則「轉不成 SQL 的條件一律反問、禁止靜默丟棄」
SRE-agent:Azure Data Factory 失敗判讀系統(獨立設計與實作,約 5 週)
對 ADF 唯讀的失敗判讀系統,約 5 週獨立完成;用 eval 否決換模型、改做前例覆寫,準確率 12% → 80%
- 對 3 個 ADF factory / 44 條 pipeline 全程唯讀:每 5 分鐘偵測 Failed run → 規則去重成 incident(失敗鏈、軟失敗偵測)→「規則優先、LLM 補位、失敗退未分類」分類 → Teams Adaptive Card 給值班工程師(結論 / 現在做什麼 / 動手前檢查);約 9,900 行 Python、208 個測試、140 incidents
- 規則引擎 patterns / actions 白名單 / playbooks 全為 YAML 且每輪熱重載;LLM(Azure OpenAI,可切 Claude)只在規則未命中時呼叫(約 3% 案例)
- 以 eval 否決升級模型:65 筆評估 rules 12% / gpt-mini 46% / Opus 83%,但排除重複案例後兩模型打平 → 瓶頸在規則給的動作而非模型 → 改做「人工前例覆寫」,動作準確率 12% → 80%、「要不要動手」25% → 92%;每日摘要降噪 53%、零誤收
- Learning agent(Claude Opus on Microsoft Foundry)採提案制:人在網站按「套用」才寫檔、套用後自動跑 pytest 不過即還原、通過自動 commit;工具只開讀 DB / 讀知識檔 / 留言 / 提案,零 shell、零 Azure 權限
- Streamlit 值班網站(含 /mobile)、supervisor 三程序守護 + 看門狗、SQLite / Azure Table 雙儲存實作、歸檔 73,292 筆 ADF 歷史 run
零售配貨標準化平台
2.5 個月獨立交付企業級配貨系統(1,100+ 檔);FastAPI + React 19、contract-first、Azure Pipelines CI/CD
- 以 AI 協作開發於 2.5 個月內獨立交付企業級零售配貨/配量系統(約 1,100+ 檔案),大量投入需求訪談,依各門市銷售數據與特殊需求設計配貨邏輯
- 後端 Python 3.12 / FastAPI / SQLAlchemy 2 / Alembic / PostgreSQL,分層架構(api / core / engine / etl / repositories / services);前端 React 19 + TypeScript / Vite / TanStack Query·Table·Virtual / react-hook-form + zod / Tailwind 4
- Contract-first:openapi.json → openapi-typescript 自動生成前端型別,確保前後端契約同步
- CI/CD:Azure Pipelines,PR 觸發後端 pytest 與前端 lint/test/build 平行 job;後端 8 個測試模組、前端 56 個測試檔、UAT smoke 測試
- 需求對齊:先以單檔 HTML prototype 讓需求方提前預覽並回饋,再進正式開發,大幅縮短「規格文件 → 開發 → 驗收」週期;完整文件紀律(decisions / lessons / runbooks / roadmap)
配量預測 ML 模型
LightGBM / CatBoost 店鋪配量預測,Optuna 調校、系統化實驗流程(baseline → ablation → blending)
- 店鋪配量/配率預測:LightGBM、CatBoost、Optuna 超參數調校、isotonic calibration
- 系統化實驗流程:baseline → 特徵工程 → ablation study → 模型 blending → 規則覆蓋層 → 誤配診斷;交付 ML 配量規劃草案、ER model 與 table schema
企業級 CDP(Customer Data Platform,6 repos / 2,200+ 檔案):AI API 與基礎
6 repos 的 CDP:React + .NET + Synapse;AI API 以 Google ADK pipeline 做商品標籤與行銷文案生成
- 前端 React 19 + TS + TanStack Router/Query、.NET Web API、.NET 批次系統(含單元測試);SQL Server 多 schema + Azure Synapse 倉儲(CTAS / HASH-distributed 優化)
- AI API:Python 3.13 + FastAPI + Google ADK agent pipeline + LiteLLM → Azure OpenAI;商品標籤自動分類(自 legacy 服務遷移)、三階段 pipeline 生成行銷文案;嚴謹 API 契約(四種狀態碼、per-user rate limiting、「誠實失敗、不做 fallback」)
- 每個 repo 三環境(dev/test/prod)Azure DevOps pipeline;產出 incident 記錄、架構追查手冊等維運文件;legacy 服務退役與 prod 設定缺失事故處理
MCP Gateway(自建 AI 基礎設施)
3 天上線:內部 API 封裝為 MCP tools,per-client 授權、SSRF 防護、憑證加密、input/output 稽核
- 將公司內部 HTTP API 統一封裝為 MCP tools,讓 Claude Code / Codex / Copilot 經單一入口安全存取內部系統;工具目錄存 DB,審核後即時上線、免改碼免重啟
- 安全設計:per-client Bearer token 授權、SSRF 防護(拒絕 localhost/雲端 metadata + 允許清單)、上游憑證 Fernet 加密、稽核記錄含敏感參數遮罩
- Python 3.12 / MCP SDK(Streamable HTTP)/ Starlette / SQLAlchemy 2 / Streamlit 管理後台;20+ 測試檔含 acceptance test(pytest-asyncio + respx);3 天完成 v1 上線
- 增補:稽核記錄新增 output(UTF-8 邊界截斷 + 原始 byte 數標記)、八種 AI client 的 Connect 設定頁、per-client → per-user 權限草案
便利商店自動訂貨系統:維運文件化
為自動訂貨系統寫維運上手計畫與每日配信手冊;盤點 183 條 pipeline、1,324 行核心 SP
- 為無接觸者撰寫維運上手計畫(10 節):盤點 183 條 ADF pipeline(39 條無觸發)、66 trigger、1,324 行核心 SP;風險表(單人維護、明文 SAS、無測試環境、全域暫存表)與四週學習路線
- 每日配信維運手冊:五段主線耗時與最晚啟動時間、emergency 平行機制、決策樹;關鍵洞察「ML timeout + retry 最壞卡 8 小時不報錯 → 用時間判斷(09:30 決策點)不能等告警」;BlobFuse 升級調查、ML pipeline retry / webhook 設計提案
Log 異常分析系統
Gradio 兩層過濾 → Azure OpenAI 分析 → SQLite;送 AI 前先算 token 與費用
- Gradio 介面兩層過濾大量 log → Azure OpenAI 分析異常 → SQLite 存檔;嚴格三層解耦(filter / ai / db);送 AI 前先做 token 預估與費用試算,超閾值警告
企業聊天機器人產品部署工程
Java 企業聊天機器人(700+ 檔)Docker 化與部署 SOP;正式機與 UAT 版更、事件處理
- 企業聊天機器人產品(Java/JSP/Kotlin,700+ 檔)原始碼治理與 Docker 化:Compose 整合 MSSQL 2022、Redis Stack、Solr 9.5、自製 parser;DB 初始化、健康檢查、全新 VM 部署 SOP;git filter-repo 清理歷史、Git LFS 管理大檔;正式機與 UAT 版更(含教同事操作)、OOM / WSL 事件處理
Azure IaC、資安與資料工程
Bicep 模組化 IaC、與 Portal 手改對齊、Dify on Container Apps、PQC 加密資產掃描器
- Bicep 模組化 IaC(network / keyvault / storage / postgres / appservice):IP 白名單 + Private Endpoint 雙路徑、Key Vault 集中機密、VNet Integration + RBAC,含 rollback 文件
- IaC 與 Portal 手改實況對齊:what-if 因 listKeys() 與 runtime 參照回「無變更」→ 改用 az show 逐項比對 + activity log 追溯;RBAC assignment 沿用既有 GUID 避免 guid() 重複建;App Service Linux 容器重啟後 crontab 消失 → 啟動腳本重註冊排程
- Dify(開源 LLM 平台)on Azure Container Apps 部署(PostgreSQL + pgvector / Redis / Storage,含成本估算);Terraform 管理 LLM 資源群組
- PQC 加密資產盤點掃描器 M0:TLS / Key Vault / App Service / App Gateway 四來源盤點演算法、金鑰長度、到期日與量子風險等級(NIST FIPS 203/204/205)
AI 工程方法論(制度化與推廣)
AGENTS.md 雙 agent、AI code review 迴圈、含 evals 的 Claude Skills、dispatch skill 與 context-bar mod、內部分享
- 以共用 AGENTS.md 同時駕馭 Claude Code 與 Copilot CLI 雙 agent,於企業專案實戰;git worktree 平行開發多分支
- 導入並營運 agent skill 工具鏈,建立自動化 AI code review 迴圈(AI 修 code → commit → 回覆 review thread → 觸發再審,直到收斂)
- 將團隊 domain 知識封裝為含 evals 的 Claude Skills(Azure Synapse 效能調校、ADF 開發標準),並加上專案專用 skills(如 Azure DevOps PR 流程)
- 自製 dispatch skill 將任務分級派給最便宜夠用的模型(haiku 找 / sonnet 規格清楚 / opus 跨檔與併發);自製 Claude Code mod context-bar 即時顯示 context 用量、token 費用與 rate limit
- 對內技術分享:「需求 → AI 快速 prototype → 使用者對齊 → 正式開發」工作流(14 頁大綱 + 講稿 + 4 張流程圖),隨附 5 個去專案化可複用 skills