</> 技術筆記Tech Notes
// Engineering Notes

技術筆記

實作紀錄、疑難排解與架構筆記——寫給未來的自己,也寫給正在踩同一個雷的你。

10 篇文章

AI 寫得快了,我反而花更多時間證明它沒寫錯

有一次我用 AI 把規格、測試、後端修正和上版流程跑了一輪。程式碼真的生得很快,快到我還沒喝完一杯咖啡,它已經改了好幾個模組。 那天最後花最多時間的,卻不是寫程式。 我在補測試、修測試抓到的 bug、整理測試資料、接假伺服器,還要確認整套東西絕對不會碰到正式帳號。AI 把「寫出來」壓到幾分鐘,「證明它真的對」還是花了幾…

AI 軟體測試 E2E Fake API Docker 閱讀全文

AI 工具先別買,我會先問這七個問題

我遇過好幾次類似的開場。 主管在外面看完一場 AI 分享,回來交代 IT:「找幾套工具來 Demo,看看能不能導入。」接下來大家開始比較模型、功能和價格,會議開了不少,卻沒有人講得清楚到底要改善哪一件工作。 從表面看,AI 是技術,交給 IT 很合理。真正開始做後,我越來越覺得這是順序弄反了。 IT 可以選工具、串資料…

AI 企業導入 流程改善 需求分析 閱讀全文

Dashboard 圖表越放越多,反而沒人知道下一步

我以前規劃 Dashboard,第一個動作是盤點有哪些資料。 營收、訂單、使用者、區域、產品線,每個部門再加兩張自己想看的圖。最後一個頁面有 KPI 卡、圓餅圖、折線圖、地圖和明細表,看起來很完整。主管打開後問的第一個問題卻是:「所以現在有什麼要處理?」 那時我才發現,資料都放上去不等於能做決定。Dashboard 最…

Dashboard 產品設計 資料視覺化 KPI 閱讀全文

兩份搜尋結果怎麼合?我用 RRF 只看名次

我在做文件搜尋時,同一個問題會跑兩條路。 一條是關鍵字搜尋。產品代號、錯誤碼和專有名詞對得很準。另一條是向量搜尋。使用者講得很口語,文件裡沒有出現同一組字,它還是有機會找到意思相近的段落。 兩條都留著不難,麻煩的是它們各自交回一份排名。我最後只能給模型一份文件清單,兩份要怎麼合? 我一開始想得很直覺:分數加起來就好了。…

RRF RAG Hybrid Search BM25 向量搜尋 閱讀全文

叫 AI 幫 AI 打分,我後來先做了一把尺

我第一次叫 AI 幫忙評答案,指令只有這樣: 請評估這個答案的品質,給 1 到 5 分。 它很配合地給了 4 分,理由也寫得很順。問題是我看完還是不知道這個 4 分能拿來做什麼。 「品質」到底是事實正確、答到問題、語氣自然,還是字數剛好?同一批答案隔幾天再跑,分數也可能變。換另一個模型當評審,更像連尺都一起換掉。 我後…

AI LLM 評估 Rubric RAG 閱讀全文

我把開發環境塞進 Docker,才敢讓 AI 自己跑測試

我剛開始讓 AI Agent 幫忙改程式時,最常看到的不是 bug,而是一長串解釋。 測試失敗了,它會猜可能是 PostgreSQL 版本不同、Redis 有舊資料、環境變數沒設,或某個服務還沒起來。這些猜測有時候是對的,但它沒有辦法靠同一組指令把現場重建一次,只能繼續猜。 人碰到這種環境已經很煩,Agent 更糟。它…

Docker AI Agent E2E CI/CD DevOps 閱讀全文

自己寫了一個部落格產生器,現在跑著三個站

我有三個部落格:木工、攝影,還有你現在看的這個技術筆記。文章都是 Markdown,我用 Typora 寫,圖片就丟在文章旁邊的 .assets 資料夾裡。 寫是不麻煩,麻煩的是發佈。三個站三套做法,每次都要重想一遍:這個站的輸出目錄在哪?圖片要不要先壓過?上次到底是怎麼傳上去的?現成的產生器我也試過幾套,不是設定檔要…

Velo Swift SwiftUI Cloudflare Pages 靜態網站 BLAKE3 閱讀全文

用 C# 接本機的 Ollama,做一個聽得懂人話的預約系統

講到接 LLM,大家第一個想到的通常是 OpenAI 或 Gemini 的 API,第二個想到的是「所以要用 Python 吧」。 這兩件事其實都不一定。模型可以跑在自己的電腦上,語言也可以是 C#。 在本機跑有幾個很實際的好處:使用者打的句子不會送到別人家的伺服器(做企業內部系統時這點常常是關鍵)、沒有用量帳單、也不…

C# .NET Ollama Llama 3 LLM 提示工程 閱讀全文

只有一個實作,還要不要寫介面?

「只有一個實作,幹嘛寫介面?」這句話我聽過很多次,自己也講過。 平心而論它不是沒道理。YAGNI 講的就是這件事:不要為了想像中的需求先做設計。如果你寫的是一個一次性的小腳本,跑完就丟,那多開一個檔案放介面確實只是增加負擔。 但工作上碰到的多半不是那種東西。維護個幾年的系統,我後來的答案是:還是會寫。而且理由跟「以後可…

軟體設計 介面 相依性注入 單元測試 Java 閱讀全文

獎金規則老是在變,我用 DSL 把它們搬出程式碼

做企業系統最累的不是功能難寫,是規則一直改。 獎金公式、風險評分、簽核條件,這些東西幾乎每季都會動一次。如果它們是寫死在程式裡的 if/else,那每次業務調一個係數,你就得改程式、寫測試、重新編譯、跑一次發版流程。改的內容可能只有一個數字,流程卻要走兩個禮拜。久了 IT 就變成業務推不動事情的原因。 問題其實不在改得…

DSL C# T-SQL 軟體架構 JSON YAML 閱讀全文