內部分享 · 2026.09 · 記帳本專案

我把一支記帳程式,
變成一個會對話的 Agent

桌面版一行程式碼都沒改。
難的不是讓它會做事,是讓它不會做錯事。

9個建置步驟
Phase 1–9
11個交給 AI 的
工具
66個自動化
測試
0行原程式
被修改

往下捲

Exhibit 1 — Agent 前 / Agent 後

同樣一份資料,從「自己操作介面」變成「開口問」

兩張圖背後是同一個 SQLite 檔、同一批 53 筆記錄。變的不是資料,是取用資料的方式。

桌面記帳程式畫面:上方新增記錄的表單欄位,中間收支明細清單,右側收入支出結餘統計,下方支出分類長條圖
tkinter 桌面程式你要知道欄位在哪、按鈕在哪、數字要自己讀。它只做「你叫它做的那幾件事」。
對話式記帳助理畫面:左側工具與模型設定,右側是使用者提問「我可以怎麼節省」,AI 依照支出結構分項給出建議
本機網頁對話介面你只描述想知道什麼。它自己決定去查哪些資料、怎麼組合。

第三列才是真正的差別:前兩件事只是變快,第三件事是原本做不到。你沒有為「怎麼省」寫過任何一行程式——能力來自把資料的取用權交出去。

Exhibit 2 — 建置過程

九個步驟裡,只有前四個在「讓它會動」

中間三步完全在處理「它可能會做錯什麼」。這是整段過程最花時間、也最少被談論的部分。

PHASE 01

分析專案

先讀懂既有程式:哪一層可以安全地交給 AI 用。

結果所有 SQL 集中在一個資料層、完全不碰畫面——包這一層就好,畫面完全不用動。

PHASE 02

挑工具候選

把 9 個資料庫方法,包成 11 個「AI 看得懂說明書」的工具。

重點每個工具都要寫清楚傳什麼、回什麼。分類只能從白名單挑,AI 不能自己發明。

PHASE 03

接上模型

選模型、拿金鑰、接 API。用免費額度的 Gemini。

意外半天就通了。這是整個專案最快的一步——也是大家以為最難的一步。

PHASE 04

決策迴圈

讓 AI 自己挑工具、拿到結果再回答,必要時連續呼叫好幾個。

實例問「9 月花在哪」,它自己選了「分類統計」,沒有人告訴它要用哪一個。

PHASE 05

兩段式寫入

任何會改資料的動作,一律先給預覽,等你回「確認」才真的寫。

擋掉什麼你問「如果改成 300 會怎樣」時,它只會給預覽——不會把那句假設當成指令去改。

PHASE 06

幻覺偵測

程式自己查核:AI 說「已新增」時,這一輪真的寫進去了嗎?

擋掉什麼沒寫成功卻說完成,系統會在回覆最前面插警告。測試中故意讓它謊報,警告確實跳出來、資料筆數沒變。

PHASE 07

權限邊界

明確圈出它能讀哪裡、能寫哪裡、不准刪。

擋掉什麼金鑰、密碼檔一律封鎖——就算哪天把整個資料夾開給它,這些檔案還是碰不到。

PHASE 08

對話介面

本機網頁聊天室:對話紀錄、附圖、停止鍵。

設定只聽本機、不對外開。要完全不外流,模型也可以換成跑在自己電腦上的。

PHASE 09

說話規範

告訴 AI 它在什麼介面上、以及這個記帳本的規矩。

實例使用者說「看牙醫 1200」,分類白名單裡沒有「看牙醫」——它歸到「醫療」,並主動說明它歸到哪一類。

Exhibit 3 — 這九步裡最重要的是什麼

最重要的不是讓它會做事,是讓它不會做錯事

如果只從這份分享帶走三件事,是下面這三件。

01

接上 AI 是最簡單的一步,不是最難的

大家問「怎麼接 AI」,但接模型半天就通了。真正的工作量在中間那三步——預覽、查核、圈範圍。因為記帳資料沒有「復原」按鈕,AI 誤判一次,你不知道哪一筆被改掉了。

02

舊系統一行都沒改,Agent 是長在旁邊的

很多人以為「導入 AI」等於重寫。這次不是:既有的功能被包成工具,Agent 是平行長出來的第二個入口。桌面版照樣雙擊就開,兩邊共用同一個資料檔。

這代表 導入風險很低:不想用就不開那個網頁,原本的東西完全不受影響。也代表任何有清楚功能分層的既有系統,都適用同一套做法。

03

不會報錯的錯,最貴

整份「行為守則」——分類規則、確認流程、回答方式——因為一段清理程式的順序問題,連續五個步驟根本沒送到模型。而程式照跑、答案照對、沒有任何錯誤訊息。

為什麼看不出來?因為每個工具的說明書裡各自也寫了一次規則,AI 靠那些片段就表現得「差不多對」。是在最後一步把實際送出去的內容整個印出來比對,才發現第一段不見了。

給大家的意涵:驗收 AI 系統不能只看「它有沒有給出合理答案」。合理答案可能來自你完全沒設定的地方。要看它實際收到什麼、實際做了什麼。

結論

Agent = 既有能力 × 工具介面 × 邊界

三個要素是相乘不是相加——任何一項是零,整體就是零。

既有能力 你本來就有的功能。這次是記帳程式的查詢與新增。 沒有它 → AI 只能陪你聊天,講不出一個真數字。
工具介面 把功能寫成 AI 看得懂的說明書:傳什麼、回什麼、有什麼限制。 沒有它 → 功能在那裡,但 AI 碰不到。
邊界 它能碰什麼、動手前要不要先問你、說謊時誰來抓。 沒有它 → 能用,但沒人敢真的放上去用。

Agent 不是「把 AI 加到產品上」,
是「把產品交給 AI 用」。
所以交出去之前,要先想清楚
交到哪裡為止。

專案:簡易記帳本(課程範例) 模型:Gemini(免費額度) 介面:本機網頁 方法:project-to-agent Phase 1–9