課程資訊:瀏覽課程的詳細資訊
駕馭程式代理人原理:從零打造 AI 代理
寫程式的人,正在變成指揮代理的人。

Claude Code、Codex、Cursor 這類程式代理人,已經能自己讀專案、改檔案、跑測試,一整段開發任務可以連續交給它做完。在這個轉變裡,最有價值的是懂代理、能替團隊打造與調校代理的人:你得知道它為什麼會改錯、為什麼有時候看起來快完成了卻開始繞圈空轉,才調得動它。

用程式代理人寫程式,正在變成工程師的日常工具,職缺與面試都開始看你會不會用它。會用的人很多,看得懂它在做什麼的人少:它說做完了,你要驗得出來;它要碰正式環境,你要知道它碰得到什麼。

這門課怎麼教?

程式代理人看起來像魔法,其實是一個不長的迴圈:大型語言模型決定下一步要做什麼,你的程式真的去做,再把結果餵回去,一圈一圈地轉。

這門課用 10 小時,帶你親手把這個迴圈從零寫出來。不是看示範,是自己打。從一支最簡單的 HTTP 請求開始,一路加上多輪對話、工具呼叫(tool calling)、代理迴圈(agent loop)、指令執行與安全閘門、檔案沙箱、提示注入的防線,再把它換接到你自己機器上的模型與雲端供應商,最後加上壓縮對話歷史,變成一支能讀檔、改檔、跑測試、看到錯誤自己修的程式代理人。全程只用 Python 標準函式庫,不裝任何第三方套件,每一段程式碼都能當場跑起來;收尾時整支代理不長,也沒有用任何框架。

每寫完一個零件,我們也往下拆一層:模型的這個行為是怎麼訓練出來的、業界的工具在同一個位置多做了什麼、這一層防線擋得住什麼又擋不住什麼。

學完帶得走的

等這支程式跑起來,你再打開市面上那些工具,會發現裡面裝的就是你寫過的零件。它為什麼這樣改、為什麼會繞圈空轉、為什麼有些指令要先問你,就不再是猜測,而是你指得出來的機制。

工具會一直換,但底下的機制不會那麼快過時。不管換到哪一套工具,你都知道什麼時候可以放手交給它、什麼時候該自己接手;手上也有一支自己寫的、沒有任何框架的代理,課後可以接上自己的工具、放進自己的產品或團隊流程。

在「駕馭程式代理人」系列由內到外的四層(原理層、進階層、驗證層、使用層)裡,這門課是最內層的原理層:了解程式代理人從頭到尾是怎麼運作的。

程式代理人會成為工程師每天的工作夥伴,要駕馭它,得由內到外懂四層:懂它怎麼運作、調得動它、驗得了它做的東西,也懂軟體在哪裡跑、怎麼部署。
課程大綱
這門課的主線是:你會親手把一支程式代理人從零寫出來。從第一支程式到最後一支,是同一支程式一路長大,每一章加上一個零件。

一、大型語言模型

它對外就是一個會回話的伺服器,但它怎麼把你的字變成回答?文字先被切成詞元:你會看到幾種切法、位元組對編碼怎麼長出詞表、為什麼同一句話換一個模型就切出不同塊數、中文常被切得比較碎。它每一步只算一件事:下一個詞元,再從算出來的機率裡挑一個,直到它決定停下。同一個道理說明了它為什麼補得出程式,也說明了它為什麼會一本正經地講錯。最後看它從預訓練到能聽懂指令,中間經過哪幾段訓練。

二、第一次接觸

大型語言模型對外就是一個 HTTP 端點。先拿一個查天氣的網址練習送請求,再換成把一句話送給模型、把回應印出來;你會看懂網址、標頭、JSON,以及送出去的那一包裡每一個欄位在做什麼。

三、先想再答

有些模型會先推理再回答。你會比較關掉與開啟推理的回應差在哪裡,看那一段推理是怎麼用強化學習練出來的、推理強度該怎麼設。接著看每一則訊息都帶著角色:用系統訊息決定它扮演什麼,看這些角色標記是怎麼教給模型的,以及為什麼它自己寫出角色標記,也變不成新的一則:誰說了哪一則,由你的程式決定。

四、多輪對話

模型本身不記得你前一句講過什麼。你會寫一個互動式的對話程式,自己把對話歷史存起來、每次整段送回去,看懂它「記得」的真相。最後把歷史存成檔案,下次打開還能接著聊。

五、工具呼叫

模型只會產生文字。它之所以能動手,是因為你把函式描述成規格交給它,它回一段「我要呼叫哪個工具、帶什麼參數」,再由你的程式去執行。你會先用純文字協定自己做一次,再換成端點內建的工具呼叫,並看懂這個格式和「該不該呼叫」的判斷是怎麼練出來的。

六、代理迴圈

把工具結果接回去、再問一次,就是思考、行動、觀察這個迴圈。你會寫出第一支會自己連走好幾步的代理,加上步數上限,補上寫檔工具;也會親眼看到它繞圈空轉、工具出錯沒接住,以及缺了工具時它怎麼把沒做的事講得像做完了,以及代理行為背後的強化學習。

七、執行指令

能執行指令,代理才形成「跑測試、看到失敗、修、再跑」的自我修正迴圈,不會沒跑過就說「確認無誤」。但同一個能力也能刪錯檔案、跑錯指令,所以你會替它加上執行前先問你的確認閘、指令白名單,以及交給另一個模型判斷的分類器,再試著繞過去,看每一道各擋不住什麼,也看懂為什麼執行指令時不該交給 shell。接著規定沒讀過的檔案不准直接覆寫,最後處理跑不完的指令:時間到了,連它開出來的程式也要一起停掉。

八、檔案與沙箱

讓它讀寫檔案,就得先劃好它能碰的範圍。你會寫路徑檢查,擋下走出工作目錄的路徑,也會看到一種擋不住的情況:路徑合法,但改錯了。於是加上快照與執行軌跡,做錯了救得回來。白名單放行的程式自己會做什麼,路徑檢查管不到,所以接著把指令包進作業系統的沙箱,也不讓你的金鑰跟著傳過去。最後用鉤子在固定時機插手:它說做完了,測試沒過就不准收工。各道檢查最後收進動手前的同一道關卡。

九、提示注入

最難防的注入,藏在代理自己讀進來的資料裡。你會讓代理整理一個收件匣,看信裡的一句話怎麼叫它把客戶名單附進摘要,再看名單移到工作目錄外時,為什麼不管它聽不聽話都搬不走;網頁裡的注入也一樣。你會看懂代理湊齊哪三樣東西資料就會被搬走、指令階層裡誰說了算、常見的注入防禦為什麼都會漏,再用收窄工具與網址白名單把風險降下來,比較由弱到強的幾種隔離。接著整理前面做過的每道防線各擋什麼,以及代理跑壞了怎麼恢復、同一件事做了兩次會不會出事。最後拆開模型上下文協定(MCP):它跟你手寫的工具說明與工具分派是同一件事,只是搬到另一支程式、用 JSON-RPC 走標準輸入輸出來回。你會寫一支最小的 MCP 伺服器,在伺服器那頭擋下讀 ../.env 的呼叫,看懂 MCP 換的是邊界放在哪裡,防線還是原本那幾道。

十、挑選模型

到這裡用的都是課堂提供的模型。你會學會讀模型卡:參數量、閉源與開放權重,基礎、指令與推理模型,混合專家,同一家為什麼分大中小好幾層。挑模型要看能力、上下文視窗、每一步要等多久與速率限制,也要知道知識截止之後的事它會怎麼答、把模型搬回自己機器換到什麼又付出什麼。你也會用自己的任務評估一個模型:自己出一小組題目,每題跑好幾次,算成功率與花的時間;再算出每一步的小失誤在多步任務裡怎麼累積。最後寫一支小程式探測端點支不支援原生工具呼叫,決定要不要退回文字協定。

十一、本機與雲端

同一支代理換接兩種後端。本機這一半:看懂模型靠哪兩層程式跑起來、參數量與量化怎麼決定裝不裝得下、記憶體頻寬怎麼影響速度,以及 KV 快取與提示快取怎麼運作:上下文視窗開多大就先預留多少記憶體,好幾個請求同時跑時又怎麼分。接著用 LM Studio 下載一個開放權重的模型、開本機伺服器接上。電腦跑不動就到 Google Colab 借顯示卡。雲端這一半:拿到供應商的金鑰,用環境變數存而不寫死在程式裡,讀懂錯誤回應,遇到 429 與 5xx 用指數退避重試,最後只改環境變數就換一家供應商,也會看到雲端用得上快取的部分算比較便宜的價錢。

十二、壓縮對話歷史

代理每走一步都要把整段歷史重送一次,那一包只會愈來愈大,視窗開得大也不代表讀得對。你會先估它用掉多少上下文(中文和英文的估法不同),比較截斷與摘要,並驗證摘要有沒有留住該留的、有沒有多寫原文沒有的事;也會看到壓縮之後快取就接不上。接著把壓縮做法由便宜到貴排好:工具輸出先截短、清掉舊的工具結果、大輸出寫進檔案只留路徑、交給子代理去讀只帶回結論,再往下才是摘要;摘要漏掉的,靠代理邊做邊寫的筆記檔補回來。你會寫出把舊對話濃縮成摘要的壓縮,避開「把任務本身也壓掉」這類整合時真正會踩到的坑,最後整理成一份壓縮的規則清單。到這裡,前面所有零件就組成了一支完整的代理程式 agent.py。
適合對象
只要你寫過程式,懂變數、函式、迴圈、條件,哪個語言都可以,這門課都適合你。課裡的程式碼全是 Python,寫過會順一點;沒寫過也沒關係,只是會多花點時間在語法上。你不需要機器學習或數學背景。

特別適合以下幾類學員:

● 已經在使用 AI 寫程式工具的開發者
如果你已經在使用 Claude Code、Codex、Cursor 等工具,但常常覺得它有時很強、有時卻莫名其妙改錯,這門課會帶你看懂它背後的運作方式。

● 想理解 AI 開發工具底層原理的人
如果你不想只停留在「下提示」或「試到可以用」,而是想知道大型語言模型、工具呼叫、代理迴圈、權限與上下文如何組成一個程式代理人,這門課讓你自己組一次。

● 想把大型語言模型接進自己程式的人
如果你想在自己的產品或內部工具裡用上大型語言模型,這門課從 HTTP 請求開始,讓你看到不靠框架要寫哪些東西。
開發環境
請自備一台筆電,Windows、macOS、Linux 都可以。有兩段只在 macOS 與 Linux 上跑得動:停掉整組子行程那段,用 Windows 的學員改用 Google Colab;作業系統沙箱那段,Windows 與 Colab 都跑不了,改看講者示範。

寫程式只需要 Python 3。課堂上寫的每一支程式都只用 Python 標準函式庫,不需要安裝任何第三方套件,也不需要建立虛擬環境。

不需要自備 API 金鑰,也完全不用花錢:課堂提供一個上課期間可用的模型端點,不用申請帳號、不用綁信用卡,連上去就能用。

換接本機模型那一章,要在自己的電腦裝 LM Studio 並下載一個幾 GB 的模型,課程中途會請你先在家裝好。電腦記憶體不夠跑不動也沒關係,現場改用 Google Colab 借顯示卡。接雲端供應商的練習是選做,有 Google 帳號就能申請免費的金鑰(實際條件以開課時供應商公布的方案為準);沒有金鑰的人看講者示範。

真的裝不了 Python 也沒關係。幾乎所有範例都可以直接在瀏覽器裡用 Google Colab 開啟並執行,投影片上每一段程式碼都附有連結。
實體課程注意事項

●本班為實體課程,常見QA詳情連結

●校園防疫措施詳情連結

●公務員全程參與課程學習後可於課程結束後申請登錄公務人員學習時數

●課程影片觀看期限至課程結束後一週關閉

(一)退費期限:開課日後⅓時數內,詳情連結

(二)查詢結業狀況:結業名單連結

近期班次
第 486 期 駕馭程式代理人原理:從零打造 AI 代理
招生中
課程類別:六日兩日下午專題班
開課日期:2026.12.19 ~ 2026.12.20
上課時間:每週 (六)(日) 1:00 PM ~ 6:30 PM
學費:新生新台幣 4500 元整
注意事項:
  1. 上課時間:13:00-16:00;16:30-18:30
  2. 需自備筆電
第 486 期 駕馭程式代理人原理:從零打造 AI 代理
招生中
課程類別:六兩天下午專題班
開課日期:2027.01.23 ~ 2027.01.30
上課時間:每週 (六) 1:00 PM ~ 6:30 PM
學費:新生新台幣 4500 元整
注意事項:
  1. 上課日期:1/23(六)、1/30(六)
  2. 上課時間:13:00-16:00 ; 16:30-18:30
  3. 需自備筆電
講師介紹
李根逸

現任

國立臺灣大學資訊管理學系兼任助理教授

信革 (SIGONO) 數位有限公司技術總監

於本訓練班課程累積授課時數至114年5月已有5,401小時

 

曾任

雷亞 (RAYARK) 遊戲股份有限公司技術總監

 

學歷

國立臺灣大學資訊工程學博士

國立臺灣大學資訊工程學碩士

國立臺灣大學資訊工程學學士

 

相關榮譽

國立臺灣大學112學年度兼任教師教學優良獎

國立臺灣大學資訊工程系優良助教獎

國立臺灣大學書卷獎

 

相關資料與課程規劃可參考個人課程網站 : https://feis.studio