城市便條技術筆記

技術筆記 #014|Agent 給的方案看起來都很合理,真的要照做嗎?

強迫自己每天輸出且(儘量)不用 AI 寫文章 Day023

TL;DR

  • Agent 可以道歉重跑,但最後承擔錯誤後果的還是使用它的人。
  • 不要輕易被 Agent 講得頭頭是道的方案說服。
  • 動手大改之前,先想一下:真的需要做到這麼複雜嗎?
  • 不要因為 Agent 可以做,就代表我們需要做。

雖然 Agent 的能力已經用非常驚人的速度在變強,但身為一個每天都在跟它們溝通的人,還是會覺得:它們做事的過程,或最後產出的成果,現階段仍然需要人類介入或審核。

針對人類的重要性,目前我想到兩件事。

① 知道「真正正確且合理的結果」是什麼樣子

其實就是先定義目標和預期結果。

在 Agent 開始執行前,先把「我要什麼」、「怎樣才算做對」跟它討論清楚,再讓它執行。

舉例來說:今天一份資料要計算的時間區間是 2019 年起,項目只有 A、B、C,結果 Agent 分析時,卻把 2018 年的 D 也一起算進去。

它可能還是會很認真地跑完整個流程、做出表格、寫出結論,看起來甚至都很合理。但它一開始吃進去的資料就錯了,後面的結果再完整也沒有用啊 🤣。

如果人類沒有回頭看 Agent 實際用了哪些資料,就直接把成果交付出去,最後真的造成業務上的損失,可不是 Agent 回一句「你說得對,我很抱歉」就能解決的 🤣。

最後要負責任的還是人類。

所以也提醒我自己:

  • 務必要回頭看產出的真實資料內容。
  • 不一定每筆都要人工重做,但至少要抽查。
  • 也要確認 Agent 執行任務時,實際做了哪些操作或指令。

② 能做出符合「任務目標」的判斷

另外一種情況,我在開發時也蠻常遇到。

有些東西其實根本沒有標準答案,也沒有什麼參考組可以照,幾乎就是自由發揮。這時候我發現 Agent 有個傾向:很容易把事情越做越複雜 🤣。

例如明明只要把搜尋條件放寬一點,就可以解決原本的問題,但 Agent 可能會很認真地跟你說:「我們可以新增這幾個欄位……」然後開始建議我改資料結構、補 Metadata、調整一堆流程。

乍看之下會覺得:「嗯……講得好像蠻有道理的?」

結果真的回頭看,才發現它提出來的新欄位,有些跟既有欄位根本就在做差不多的事情。最後原本只要改一個搜尋條件就能解決的問題,被搞到要大興土木,Metadata 也越來越肥 🤣。

這件事再次提醒我:不要因為 Agent 講得頭頭是道,就直接被它說服。

尤其是這種沒有標準答案的任務,Agent 可以一次生出很多看起來都很完整的方案,但「做得到」跟「有沒有必要這樣做」,其實是兩件事。

有些事情明明用最簡單的方法就能達到目的,那就先用簡單的方法。至少我現在會多問自己一句:

是真的需要做到這麼複雜,還是只是 Agent 很會把它講得很合理?

還要回頭看:我們現在到底想解決什麼問題?

Agent 可以幫忙分析、提出方案,甚至直接執行。但現階段我還是覺得,人要知道這次任務真正重要的是什麼,以及哪些東西可以犧牲、哪些不能。

所以我現在越用 Agent,反而越覺得人要把兩件事抓好:

  • 有標準答案的事情,要知道怎麼驗證它做對了。
  • 沒有標準答案的事情,要知道自己到底想解決什麼。

不然前者很容易得到一個「看起來正確」的錯誤結果,後者則很容易被 Agent 帶著一路加東加西,最後連原本要解決什麼都忘了 🤣。

Agent 現在真的很會做事,也很會提出方案。但我最近反而一直提醒自己:不要因為它可以做,就代表我們需要做。

有時候能用最簡單的方法達到目的,就先這樣就好。

你們在用 Agent 開發的時候,有遇過它把原本很簡單的問題越搞越大的情況嗎?🤣