iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
生成式 AI

用 Node.js 打造生成式 AI 應用:從 Prompt 到 Agent 開發實戰系列 第 20

Day 20 - 認識 AI Agent:具自主決策與行動能力的智慧代理

  • 分享至 

  • xImage
  •  

在前面的實作中,我們多半以 提示工程(Prompt Engineering) 為核心:撰寫 prompt、送入 LLM 取得回應,再將結果整合到應用服務中。這種模式雖能解決許多實務需求,但本質仍是「你問我答」的互動,模型缺乏主動性,也無法掌控更複雜的流程。

隨著應用情境愈趨複雜,我們開始期待 AI 不只是回覆,而能在接到任務後主動規劃步驟、挑選合適工具,甚至記住中間結果並持續調整。這正是 AI Agent 要解決的挑戰。從今天開始,我們將進入 Agent 的世界,一起學習如何設計具備自主思考、動態決策與任務執行能力的智能流程,讓 AI 從回答者進化為真正的任務執行者。

什麼是 AI Agent?

AI Agent 也稱為 Agentic AI,是一種能夠自主決策並採取行動的人工智慧系統。它的特點在於,不只是回答問題,而是能根據任務與環境,自行規劃步驟並執行。這讓它比傳統的 LLM 更接近「智慧助理」的角色。

AI Agent 的運作大致可以分成以下環節:

  • 感知:Agent 需要先理解外部世界。這可能來自使用者輸入(文字、語音)、外部資料來源(檔案、API、資料庫),或是當前的任務設定。就像人類需要先觀察環境,Agent 也必須「看清楚」周遭資訊,才能開始判斷。
  • 規劃與決策:在取得資訊後,Agent 會思考下一步該怎麼做。它會分析當前狀況、判斷可能的路徑,並選擇合適的工具或策略。這個階段相當於 Agent 的「大腦」,負責推理與決策。
  • 行動:當有了計畫,Agent 會實際採取行動。例如呼叫 API、查詢資料庫、執行程式,或直接回覆使用者。這代表它不只是「想」,而是能真正完成任務。
  • 回饋與學習:執行後,Agent 會檢查結果是否符合預期。如果出現錯誤,它會調整策略;如果成功,它會累積經驗。這讓 Agent 能在反覆過程中逐步提升,變得更聰明。

這樣的運作流程,讓 AI Agent 不再只是「你問我答」的聊天機器人,而是能主動判斷、持續改進,甚至在複雜情境下完成任務的智慧系統。

以下我們透過一張對照表,來比較傳統 LLM 與 AI Agent 在特性上的差異:

項目 傳統 LLM 應用 AI Agent 應用
啟動方式 被動回應使用者輸入 接收任務目標後主動規劃與執行
任務分解 需要開發者或使用者逐步引導 prompt 可自行分析任務並拆解成子步驟
工具調用 工具使用需由開發者預先指定 可根據上下文自動挑選並呼叫合適的工具
記憶能力 僅限於上下文記憶 能追蹤狀態與中間結果,影響後續決策
執行流程 一次輸入 → 一次回應(線性流程) 多步驟流程,支援條件判斷、循環與分支控制
適用情境 問答、摘要、翻譯、文字生成 多階段分析、自動化流程、資訊整合、決策建議等

AI Agent 系統的組成元件

根據前 OpenAI安全研究副總裁 Lilian Weng 在其文章 LLM-powered Autonomous Agents 的整理,一個完整的 AI Agent 系統,除了以 LLM 作為核心大腦外,還需要搭配以下幾個關鍵元件,才能真正具備自主規劃與行動能力:

  1. 規劃(Planning)

    • 任務分解(Subgoal & Decomposition):將龐大的任務拆解成較小的子任務,逐步完成,避免一次性處理過於複雜的需求。
    • 反思與改進(Reflection & Refinement):透過自我檢討與反思,分析過去行為是否合理,並在下一次調整策略,使最終結果更完善。
  2. 記憶(Memory)

    • 短期記憶(Short-term Memory):通常指上下文記憶,例如透過 Prompt 工程維持對話或任務的臨時狀態。
    • 長期記憶(Long-term Memory):能保存並隨時檢索大量歷史資訊,常透過向量資料庫(Vector Store)實現,讓 Agent 可以持續累積知識並加以活用。
  3. 工具使用(Tool Use)

    當模型本身的知識不足或需要執行特定操作時,Agent 可以呼叫外部工具,例如:

    • API(取得即時資訊、金融數據、天氣等)
    • 程式執行環境(進行計算或模擬)
    • 私有資料來源(查詢專屬知識庫或內部文件)

這些元件相互搭配,使得 AI Agent 不再只是「被動輸入 → 被動輸出」的對話系統,而是具備長程記憶、任務分解能力,並能藉由外部工具突破模型本身限制,展現出更高的智能與靈活性。

https://ithelp.ithome.com.tw/upload/images/20250920/2015015047LcC6x0kQ.png

圖片來源:LLM-powered Autonomous Agents

常見的 Agent 實作模式

在實際應用中,不同的任務需求會對 Agent 的設計方式產生顯著影響。並不是所有 Agent 都需要同時具備「規劃」與「執行」的能力:有些場景只需要幫忙查資料,有些則需要能進行複雜推理與決策。以下介紹幾種常見的 Agent 模式,幫助你在面對不同場景時,選擇合適的設計思路。

ReAct Agent

ReAct 是由 Google Research 提出的一種經典 Agent 架構,名稱來自 推理(Reasoning)行動(Acting) 的結合。這種類型的 Agent 會在任務過程中不斷重複以下三個步驟:

  1. 思考(Think):根據任務與目前資訊進行推理與判斷。
  2. 行動(Act):選擇適當的工具或動作來完成當前步驟。
  3. 觀察(Observe):接收執行結果,並據此決定下一步。

透過這樣的迴圈,ReAct Agent 可以逐步完成需要多階段思考的任務。例如:

  • 解數學題:先推理公式,再計算數值。
  • 資料查詢:先決定查詢策略,再呼叫 API,最後整合結果。
  • 多階段指令:「幫我查台積電股價,然後評估是否值得投資」。

這類 Agent 的特點是靈活,適合處理不確定性高的任務,但同時需要更精細的 prompt 設計與結果追蹤機制。

工具調用型 Agent

這種類型的 Agent 以 工具使用能力 為核心,不一定具備複雜的推理能力,而是專注於根據輸入自動呼叫正確的工具。典型案例包括:

  • 資訊助理:查詢匯率、天氣、新聞或地點資訊。
  • 自然語言查詢引擎:將人類語言轉換成 SQL,再查詢資料庫。
  • 日常工具整合:日期差計算、單位換算、查詢當地時間。

這類 Agent 設計簡單,適合有明確「輸入 → 輸出」關係的場景。例如,當使用者輸入「台北明天會下雨嗎?」Agent 就會自動呼叫天氣 API 並回傳結果。

多 Agent 協作

當任務過於龐大或複雜,單一 Agent 難以勝任,此時可以透過 多個具專長的 Agent 分工合作 來解決。以產業研究報告自動生成為例,可能包含:

  • 規劃 Agent:規劃報告架構與子任務(如資料蒐集、分析、撰寫)。
  • 執行 Agent:針對每個子任務呼叫對應的工具或 API。
  • 評估 Agent:檢查結果品質,驗證資料正確性,或對草稿提出修改建議。

這樣的設計就像一個 AI 團隊,各司其職,整體系統因此更具彈性與擴充性。

人機協作型 Agent

並非所有任務都適合全自動化處理,尤其在需要人工判斷的場景下,引入 Human-in-the-Loop(人機協作) 機制就顯得重要。這類 Agent 的特色是在關鍵節點暫停,請人類參與決策,例如:

  • 文件審核:Agent 先產出回覆草稿,再請人工確認或修改。
  • 客服應用:當情緒分數過高時,請真人客服介入。
  • 複雜任務流程:詢問使用者是否要繼續下一步,或是否對目前結果滿意。

這種模式通常透過 Breakpoint、UI Prompt、等待使用者回覆 等方式實現,讓系統保持靈活與可控性,更貼近實務需求。

Note:以上幾種模式並不是互相排斥的,在實務應用中往往會交叉運用。比如,一個 ReAct Agent 可能同時具備多種工具調用能力;在多 Agent 協作的流程中,也可能加入人工中斷點以確保品質與正確性。掌握這些常見模式,有助於我們依照不同需求,靈活設計出最合適的 Agent 架構。

小結

今天我們正式進入 AI Agent 的主題,理解它如何從單純的問答模型進化為能自主規劃與執行任務的智慧代理:

  • AI Agent 不只是回應,而是能透過「感知 → 規劃 → 行動 → 回饋」的循環,持續調整並完成任務。
  • 與傳統 LLM 相比,Agent 能自動拆解任務、呼叫工具、維護記憶,並執行更複雜的多步驟流程。
  • 一個完整的 Agent 系統需要三大元件:規劃(任務分解、反思改進)、記憶(短期與長期記憶)、工具使用(API、程式環境、私有資料)。
  • 常見的 Agent 實作模式包含 ReAct Agent(推理與行動迴圈)、工具調用型 Agent(專注自動選用工具)、多 Agent 協作(分工合作完成大任務)、人機協作型 Agent(引入人工判斷確保品質)。

AI Agent 的價值在於讓模型從「被動回答者」轉型為「主動任務執行者」。接下來我們將進一步透過 LangGraph,學習如何將這些概念實作成靈活可控的 Agent 流程。


上一篇
Day 19 - RAG 實戰應用:打造可檢索公司年報的 AI 問答系統
下一篇
Day 21 - LangGraph 快速上手:使用圖形流程打造 AI Agent
系列文
用 Node.js 打造生成式 AI 應用:從 Prompt 到 Agent 開發實戰22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言