iT邦幫忙

技術文章

RSS
鐵人賽 AI Engineering DAY 8

[ Agent Architecture ] Day 26 — 現代 Agent 設計模式全景圖:四個模式與它們的代價

I. 前言:模式解決的是「不要全塞進一個 Prompt」 昨天釐清了什麼時候該用 Agent。今天處理下一個問題:確定要用 Agent 之後,內部該怎麼組織?...

鐵人賽 AI Engineering DAY 8

[ Agent Architecture ] Day 25 — Flow vs Agent:何時用工作流?何時用自主 Agent?

I. 前言:一個 for 迴圈解決得了的事 昨天把框架拿掉,用八十行原生 Python 跑通了整個 Agent Loop,也算出了自架與商業 API 的損益平...

鐵人賽 AI Engineering DAY 8

[ Production Architecture ] Day 24 — 無框架原生 Agent Loop:把框架拿掉,看看還剩下什麼

I. 前言:驗收完了,現在來拆 昨天完成了三方對決,數字有了。今天要做一件看起來有點多餘、但其實是整個系列最重要的驗證之一:把 Google ADK 整個拿掉...

鐵人賽 AI Engineering DAY 8

[ Benchmark & Evaluation ] Day 23 — 閉環驗收:ADEval + Twinkle Eval 雙評測三方對決

I. 前言:唯一的變數應該只有模型本身 從 Day 1 開始鋪陳的所有工作,都是為了今天這一步:在完全相同的條件下,量出微調前後的真實差距。 這件事的難處不在...

鐵人賽 AI Engineering DAY 8

[ Training & Deployment ] Day 22 — 模型匯出、量化與 vLLM 私有化部署:讓微調模型變成一個能被呼叫的服務

I. 前言:訓練完成,離「能用」還有三步 昨天處理完踩坑與二次訓練,手上有了一個 loss 收斂、快測結果合理的 LoRA Adapter。 但那個 Adap...

鐵人賽 AI Engineering DAY 8

[ Training & Deployment ] Day 21 — 微調踩坑實錄與二次訓練決策樹:失敗才是最好的老師

I. 前言:為什麼要為失敗保留一整天 在規劃這個 30 天系列時,這一天的位置是刻意安排的。 從訓練到最後的驗收,文章能不能順利產出,取決於一件我無法完全控制...

鐵人賽 AI Engineering DAY 8

[ Model Fine-Tuning ] Day 20 — 執行 SFT 微調與 Loss 曲線判讀:從訓練損失看見工具能力

I. 前言:一個會誤導人的指標 前面十九天的準備工作,都是為了今天按下訓練鍵的這一刻。 而按下之後,最直覺的判斷依據就是 loss 曲線 —— 它平穩下降,我...

鐵人賽 AI Security DAY 5

越獄和LLM的關係

上一篇提到了,我透過OWASP了解打造Claude skill掃毒軟體小章魚可能會要防禦的威脅。 這一篇我想分享LLM(Large Language Model...

鐵人賽 AI Engineering DAY 8

[ Model Fine-Tuning ] Day 19 — Prompt Template 取捨與訓練前 Sanity Check:先跑通再放大

I. 前言:訓練與推論之間,有一個容易被忽略的契約 微調的效益之一是節省 Token。當工具的使用規則被內化進權重之後,System Prompt 就不必每次...

鐵人賽 AI Engineering DAY 8

[ Model Fine-Tuning ] Day 18 — Google Colab Pro 與 Colab CLI 工具鏈實戰:低成本跑通雲端訓練

I. 前言:硬體不該是微調的門檻 在分享微調相關主題時,我最常聽到的一句話是:「我手邊只有一台 MacBook,沒有 RTX 4090,微調是不是與我無緣?」...

鐵人賽 AI Engineering DAY 8

[ Model Fine-Tuning ] Day 17 — 開源基座模型選型與 Loss Mask 原理:不懲罰環境輸出

I. 前言:選型判準不只是 Benchmark 分數 在小語言模型(SLM)快速發展的今天,可用的開源基座相當豐富。Gemma、Qwen、Phi 各自都有多種...

鐵人賽 AI Engineering DAY 8

[ Agentic Data ] Day 16 — 負面樣本設計、資料擴增與反向驗證:守住品質防線

I. 前言:擴增的是表達方式,不是正確行為 昨天的結論相當明確:從評測軌跡萃取出來的黃金資料,去重之後只有幾十筆,而這個量級不足以讓模型穩定學會一組工具的使用...

鐵人賽 AI Engineering DAY 8

[ Agentic Data ] Day 15 — 從 Google ADK 日誌到 Agentic Dataset:軌跡切分與資料轉換

I. 前言:資料不是一句問答,而是一段推理軌跡 在傳統的 LLM 微調中,訓練資料往往是簡單的 {"prompt": "...&...

鐵人賽 AI Engineering DAY 8

[ DevOps in AI Agent ] Day 14 — 引入 Twinkle Eval:用標準 Benchmark 守住通用能力

I. 前言:一把尺只能量一個維度 Day 12 與 Day 13 建立了以 ADEval 為核心的評測流程,它在工具呼叫的名稱、參數與順序上提供了相當嚴苛的診...

鐵人賽 AI Engineering DAY 8

[ DevOps in AI Agent ] Day 13 — 建置評測環境、Baseline 與 Prompt 的極限:把那條界線畫出來

I. 前言:測試案例的覆蓋面,決定了診斷的精度 評測環境的建置本身並不困難,pip install 加上幾行設定就能跑起來。真正花時間、也真正影響結果的,是測...

鐵人賽 AI Engineering DAY 8

[ DevOps in AI Agent ] Day 12 — ADEval 架構與指標體系:知道指標的偏誤,比知道分數更重要

I. 前言:一個分數,不足以描述 Agent 的行為 昨天留下了三個尚未回答的問題:工具比對要不要檢查參數、多呼叫了一個工具算不算錯、以及呼叫順序重不重要。...

鐵人賽 AI Engineering DAY 19

Day 19|一個案例,拆解到底:怎麼判斷是不是真的在做 Harness

Day 19|一個案例,拆解到底:怎麼判斷是不是真的在做 Harness 前兩天分享了「為什麼需要 harness」跟「harness 是甚麼」,道理都懂,但實...

第 21 天:Telegram plugin 怎麼接到 OpenClaw 的核心

開場故事 假設你今天不是在寫一個聊天機器人,而是在替 OpenClaw 裝一扇新門。 這扇門剛好開在 Telegram 上。 有人從 Telegram 傳訊息進...

鐵人賽 Software Development DAY 4

[Day 04] 演算法正確性

前言 前面兩篇用 Big O 和 Space Complexity 描述一個做法的時間與空間成本,不過一個做法即使又快又省,仍然可能算出錯誤答案。 那要怎麼知...

Day 26|一檔活動的連結,要在貼出去之前就規劃好

八月底開始在鐵人賽挑戰連續三十天發文,一開始就規劃發完後也會貼到三個社群分享,畢竟寫都寫了,希望可以讓更多人讀到。 一個管道一條連結,這件事 Day 20〈UT...

3分鐘 AI Agent導論 系列 第 37 篇

[3分鐘 AI Agent導論] Day37 -- 記憶與檢索

前幾篇文章與RAG的部分都是建立在知識庫的基礎上,在寫後面的文章,我發覺需要先把基礎知識庫的概念說完,才能繼續下去。另外我們在"知識的組織與檢索&qu...

鐵人賽 AI Security DAY 4

Day 4|工具壞掉後,Agent 沒停下來,反而把問題越搞越大

工具失敗時,Agent 最危險的反應往往不是回覆錯誤,而是把同一個請求又送了一次。 Day 3 我只讓 Agent 查 mock SOP、建立 mock 工...

鐵人賽 Security DAY 4

04|凍結案發的瞬間:Evidence Acquisition

Acquisition 有哪些方式? 根據取得資料的範圍與設備當下的狀態,可以先簡單分成三種。 1. Physical Acquisition Physical...

白稜 系列 第 6 篇

Day 06|第 3 章:董事長的承諾(上)

1 董事長辦公室在七樓。 彼得後來想過很多次,為什麼董事長辦公室跟資訊處在不同的樓層。六樓和七樓之間只隔一層天花板和一段樓梯,但那個距離比它的物理尺寸大得多。六...

【Day 5】排序還有分很多種?Bubble Sort 又是什麼?

以前在前端寫 Code 的時候,我其實完全沒有想過「排序的底層到底是怎麼運作的」。 例如要處理一組資料,我可能就是使用 for 迴圈把資料一個一個拿出來比較,或...

鐵人賽 AI Engineering DAY 4
它說得頭頭是道 系列 第 4 篇

# Day 4 — 第一版連一行 AI 都沒有,它是一個靜態網頁

昨天那張表寫完之後,照理說下一步應該是開始做 AI。 我沒有。 第一版是一個靜態網頁。四個檔案,零 API,連一行跟 AI 有關的程式碼都沒有。 這篇講為什麼。...

鐵人賽 JavaScript DAY 5

Day05|陣列與索引:爬樓梯還是搭電梯?

今天的主題:陣列(Array) 今天學的是「一群資料的容器」——陣列。宣告方式是用中括號: const enemies = ["雜魚", &...

鐵人賽 Software Development DAY 7

管道與重導向 (Pipeline & Redirection)

上一篇我們為 mytool 加上了 Flag,執行後會把結果印在螢幕上。但在 Shell 中,mytool 和 ps、grep、git 一樣,都能透過標準的輸入...

鐵人賽 AI Engineering DAY 4

Day 04|Query Set 怎麼設計,才不會只測自己想看到的答案

昨天我把 corpus 的文件身份、metadata、重複與 snapshot hash 固定下來。但 corpus 乾淨,不代表評測就公平。 如果問題全是我看...

鐵人賽 Kubernetes DAY 4

Day 04|Kubernetes 看得到 GPU 之後,Scheduler 到底看到了什麼

昨天我把 Driver、Container Toolkit 與 Device Plugin 的責任分開,並定義了 nvidia.com/gpu 出現前後的實機驗...