iT邦幫忙

2026 iThome 鐵人賽

DAY 1
0
AI Engineering

AI Agent 系統開發 30 天系列 第 1

認識 AI Agent 與學習地圖

  • 分享至 

  • xImage
  •  

AI Agent 是一種軟體系統,能夠與其所處環境互動、收集資料,並運用這些資料執行自主任務,以達成預先設定的目標。

AI Agent 可以應用在客服、資料分析、軟體開發與日常行政工作中,幫助我們查詢資料並處理申請、蒐集資料並整理報告、修改程式並執行測試,或查找行事曆中的空檔並安排會議。這些工作往往需要查閱資料、使用不同工具,再根據結果採取下一步行動;Agent 可以將這些步驟串接起來,減少我們在系統之間反覆查找、搬移資料與手動操作的工作。

那麼,Agent 是如何把這些步驟串接起來的?以語言模型為核心的 Agent,可以拆成四個組成來理解:

  • Model(模型):理解使用者的需求,根據目前資訊決定要回答、追問,或提出工具呼叫請求。
  • Context(上下文):模型當次決策可以使用的資訊,包含系統指令、使用者訊息、工具說明與先前的執行結果。
  • Tools(工具):由程式提供的操作介面,例如查詢資料、檢索文件或建立申請,負責實際取得資料與執行操作。
  • Loop(執行循環):由程式串接模型與工具,將工具結果放回上下文,再交給模型決定下一步。

把這四個組成放回執行過程,就是下面這張圖的循環:

https://ithelp.ithome.com.tw/upload/images/20260912/20111896pgKNw69yOV.png

Agent 接收目標後,模型依據當下的上下文決定下一步:提出工具呼叫,或判定任務已完成。工具執行後的觀察結果會附加回上下文,再交還給模型判斷,這條回到「LLM 決定下一步」的路徑就是 Loop。每繞一圈,上下文就多一筆執行結果,模型的下一次決策也建立在更完整的資訊上;直到模型判定目標達成,才離開循環結束任務。

這份自由度也是風險所在,語言模型本質上是非確定性的機率推論,如果完全由模型主導流程,它可能在未滿足前置條件時直接觸發操作;而商業系統需要的是確定性的邏輯、資料驗證與權限控制。因此,一個可靠的 Agent 系統,核心在於落實「語意理解」與「流程控制」的職責分離:

  • 語意理解交給模型:模型專注於它最擅長的工作——理解自然語言、辨識使用者意圖、萃取關鍵參數,並提出下一步的操作建議。
  • 流程控制交給程式:外層程式負責把關所有具備副作用的操作。由程式透過資料契約(Contract)驗證參數格式、以狀態(State)追蹤流程進度,並依據硬性規則決定是放行執行、要求補充資訊,還是強制終止任務。

https://ithelp.ithome.com.tw/upload/images/20260912/20111896NVCTumCPcp.png

讓模型負責推論,程式負責把關與推進。兩者的職責邊界劃分清楚,非確定性的模型決策才能始終運行在受控的軌道上。

本系列共 30 篇,分為六個實作主題,以 Python 撰寫完整範例。我們將打造能查詢資料、使用工具與執行任務的 Agent,從最基礎的 API 呼叫開始,逐步加入狀態管理、安全防護與評估機制:

  1. 從原生 SDK 理解基本循環:我們不引入任何框架,直接使用 Python 與 Anthropic 原生 SDK 串接 API。手動將對話記錄放入 messages 陣列以維持上下文,並實作基礎 Tool Loop,由模型提出資料查詢請求、程式執行後回傳結果,掌握最核心的資料流向。
  2. 在入口驗證輸入並分流意圖:當使用者要求「查詢申請進度」卻缺少申請編號,或夾帶越權指令時,我們用 Pydantic 將非結構化文字收斂為嚴謹型別,缺漏時自動反問;並由程式掌握意圖分流與權限隔離,限制模型能接觸的操作邊界。
  3. 用 LangGraph 狀態圖管理複雜流程:當流程需要多步驟推進(查詢資料、驗證條件、等待補充文件與人工核准)時,while 迴圈難以維護。我們引入 LangGraph 將流程拆解為狀態機節點,並支援人工介入審核(Human-in-the-loop),在需要核准的操作前暫停並保存狀態,確認後再恢復執行。
  4. 建立安全的工具契約與寫入保護:模型產生格式合法的工具參數,不代表符合商業邏輯。我們為工具定義嚴格的資料契約(API Contract),並在寫入介面實作冪等鍵(Idempotency Key),防範因網路中斷重試而重複建立資料或提交申請。
  5. 擴展外部工具、知識與多 Agent 協作:當業務規則分散在多份文件、工具涉及多個內部系統時,我們透過 Model Context Protocol(MCP)標準協定接入外部資料庫,以 RAG 與 GraphRAG 即時檢索相關規範,並將複雜任務拆解給多個專責 Agent 協同分工。
  6. 用測試、評估與執行軌跡驗證系統:Agent 回覆「已完成任務」不代表真正執行無誤。我們針對確定性規則撰寫單元測試,用 LLM Judge 批量評估回答品質,並透過 Langfuse 記錄每一次呼叫的軌跡(Trace),為上線建立客觀的發布門檻。

釐清了核心概念與架構後,接下來就是動手寫程式。這個系列會從最基礎的 API 呼叫與上下文處理開始,循序漸進完成狀態管理與工具串接。準備好 Python 開發環境,系列實作正式開始。


下一篇
打造第一個對話 Agent:從單次問答到記住上下文
系列文
AI Agent 系統開發 30 天2
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言