同事常問「Agent 到底是什麼」。與其講定義,不如看同一支程式的前後對照 —— 我沒有重寫它,只是在外面包了一層。這份文件講那一層是什麼,以及做它的時候, 哪幾步真正決定成敗。
左邊這些欄位、下拉選單、按鈕都還在,沒有被拿掉。差別是:原本要點六個地方才記得起來的一筆帳, 現在可以直接說「今天午餐 150」。
點上方按鈕切換。兩張畫面讀的是同一個 SQLite 檔案 —— 在網頁記一筆,打開桌面程式立刻看得到。
從「填六個欄位」變成「講一句話」。欄位沒有消失,是多了一條路徑。
「這筆算飲食還是娛樂」原本由人決定,現在 AI 先提議,人確認。
桌面程式只能在這台電腦;網頁介面同樣跑在本機,但換成瀏覽器就能開。
這是最常被誤解的一點。把 AI 接上去不等於做出 Agent —— AI 只負責「決定要呼叫哪一個工具」, 真正決定它能做什麼、不能做什麼的,是你自己寫的那一層。
AI 是「會判斷的大腦」,Agent 是「手腳加上規矩」。只有大腦沒有手腳,它只能跟你聊天; 有手腳卻沒有規矩,它會把你的資料改壞。
九個步驟裡,前四步做完就有一個會動的 Demo —— 很多人做到這裡就停了。 但真正讓它敢接上自己每天在用的資料的,是中間那三步。
先看清楚這支程式哪一層可以被機器呼叫。
從既有函數挑出 11 個值得開放給 AI 的。
用免費的 Gemini,但留著五家可以換。
收訊息、決定呼叫工具、把結果餵回去。
先預覽,等人說「好」,才真的寫進資料庫。
用程式比對「它說做了」跟「它真的做了」。
明確列出可讀可寫的資料夾,其餘一律拒絕。
本機網頁,不經過任何聊天中繼伺服器。
每一輪把今天日期重新告訴模型。
我請 AI 整理一份近期收支明細,總金額它算對了,但表格裡的每一筆交易都是它自己編的。 它確實呼叫了查詢工具、拿到了真實資料,卻在寫回答時改用自己「想像中比較合理」的內容。 模型講得越有條理,越不容易看出這種錯。
沒有一筆對得上。這就是為什麼 Phase 6 要用程式去驗證模型的說法, 而不是相信它的文字。
原本的程式一行都沒改。Agent 是直接呼叫它既有的函數, 所以之後那支程式怎麼改,Agent 會自動跟上。
決定它能做什麼的是工具層與權限設定。換成別家模型, 規矩不用重寫。
預覽確認、說謊偵測、資料夾白名單 —— 這三層決定了它是一個 Demo 還是一個敢每天用的工具。
會講話的程式不難做。 難的是讓人敢把真的資料交給它。