iT邦幫忙

2025 iThome 鐵人賽

DAY 18
0
生成式 AI

從 RAG 到 Agentic RAG:30 天打造本機智慧檢索系統系列 第 18

Day 18:什麼! AI Agent 也有分哦! Agent flow介紹

  • 分享至 

  • xImage
  •  

前言

昨天的文章介紹到我們需要使用Agentic RAG來讓我們的RAG系統更聰明,並解決多輪思考或工具調用的瓶頸,也介紹到Agentic RAG其實就是透過AI Agent來驅動RAG工作的一種架構。
AI Agent在這邊扮演著重要的角色,但讀者們可能都知道,AI Agent是一個統稱,背後其實是一顆聰明的LLM搭配一個Agnet flow,而Agent flow有許多不同的選擇,今天我們就來介紹一下目前主流的Agent flow


🤖什麼是 Agent flow?

Agent flow 指的是一種基於「流程 (flow) + 代理人 (agent)」的架構設計方式。
它的核心特點包含:

  • 動態決策 (Dynamic Decision Making)
    代理人能根據任務情境,決定下一步要呼叫的工具或採用的策略。

  • 任務拆解與規劃 (Task Decomposition & Planning)
    複雜任務能被拆分為多個子任務,並逐步解決。

  • 反思與修正 (Reflection & Correction)
    Agent Flow 支援檢查中間結果,並根據評估調整策略(迭代檢索、重寫查詢)。

  • 多工具/多資料源協作 (Multi-Tool & Multi-Source Integration)
    不再局限於單一向量庫,可結合 API、結構化資料庫、Web 搜尋與專用工具。

  • 可編排性與可視化 (Orchestration & Visualization)
    流程可被定義、追蹤與監控,方便除錯與擴充。


🏗️主流 Agent Flow 框架比較

目前市面上有多種框架支援 Agent flow,以下整理幾個主流方案:

框架 核心特點 適用場景
LangChain 最早期與最廣泛應用的 Agent 框架,支援 ReAct、Self-Ask、MRKL 等 Agent 模式;整合工具豐富(DB、API、RAG) 研究、PoC、快速開發 Agent 驅動的應用
LlamaIndex (原 GPT Index) 強調知識管理與資料源整合;Agent flow 側重於資訊檢索與任務導向 資料導向應用(企業知識庫整合)
CrewAI 專注於多代理人協作,支援角色分工與任務協同 多步驟流程、自動化工作流
Haystack Agents (deepset) 與 NLP pipeline 整合緊密,提供強大的檢索、問答與 workflow 對 NLP / Search 領域需求高的應用
Autogen (Microsoft) 強調多代理對話與協作;可編排多 LLM 角色互動 複雜任務、多角色模擬、協作系統

而筆者算是早期就一直在使用LangChain,因此還是選擇以熟悉的框架為主,這邊也整理以下幾個LangChain的優點:

  • 成熟與廣泛使用:LangChain 幾乎成為 LLM Agent flow 的「標準框架」之一,社群與生態系豐富。
  • 內建多種 Agent 模式:支援 ReAct (Reason + Act)Self-Ask with SearchMRKL (Modular Reasoning, Knowledge and Language) 等。
  • 豐富工具整合:可輕鬆連接 向量資料庫APIRAG 管線數據庫查詢 等。
  • 可擴展性:支援自定義 Agent、工具、回應策略,可與 RAG 系統緊密結合。

後面的介紹我們將以LangChain支援的Agent flow來介紹如果讀者有更好的建議還請不吝提供。


🦜LangChain 的 Agent 類型介紹

LangChain 提供了多種 Agent 類型,每一種都有不同的設計理念與應用場景。以下整理幾個主要類型:


1. Zero-shot ReAct Description

  • 概念:基於 ReAct (Reason + Act) 模式,讓模型透過「推理 → 行動 → 觀察 → 推理 → 行動...」的循環完成任務。
  • 特點:不需要提供範例(Zero-shot),模型僅依靠工具描述與自身能力來決策。
  • 適用場景:工具豐富但需求靈活的情境,例如查詢資料庫 + API + 文件檢索的組合。

2. ReAct

  • 概念:最典型的 Agent 模式,強調「推理 (Thought) + 行動 (Action) + 觀察 (Observation)」的迴圈。
  • 特點:能夠多步驟推理與動態選擇工具。
  • 適用場景:需要多步查詢與決策的應用,例如多跳問答、多來源資料整合。

3. Self-Ask with Search

  • 概念:模型會先判斷自己是否能直接回答問題,若不能則拆分為子問題並透過檢索工具尋找答案。
  • 特點:特別適合於「複雜查詢 → 拆分成子問題 → 搜尋 → 整合答案」的場景。
  • 適用場景:需要 問題分解 (Question Decomposition) 的問答系統。

4. MRKL (Modular Reasoning, Knowledge and Language)

  • 概念:由多個模組化工具組成,Agent 負責「推理與決策」,然後選擇合適的工具執行。
  • 特點:強調結構化的多工具協作,並且模組化程度高。
  • 適用場景:需要結合結構化資料庫、計算工具、知識檢索與 LLM 的複雜應用。

5. Structured Chat

  • 概念:一種 更嚴格的對話格式,Agent 需要輸出結構化的 Action 與 Observation。
  • 特點:方便做可控性與追蹤,適合需要清楚交互的場景。
  • 適用場景:企業級應用,需要記錄 Agent 決策過程與結果。

🧩LangChain Agent Type 比較表

Agent Type 核心概念 優點 缺點 適用場景
Zero-shot ReAct Description 基於 ReAct 模式,透過工具描述即可決策,不需範例 建置快速、靈活性高;適合多工具情境 可能因缺乏範例而表現不穩定;推理容易偏差 多工具組合、快速原型
ReAct 思考 (Thought) → 行動 (Action) → 觀察 (Observation) 循環 多步推理能力強,能動態選擇工具 過程冗長,容易陷入無限循環 多步問答、多來源整合
Self-Ask with Search 問題拆解 → 搜索 → 整合答案 擅長處理複雜問題,能自動分解查詢 適用範圍偏窄,主要依賴檢索工具 問題分解、多跳查詢
MRKL (Modular Reasoning, Knowledge, Language) 多模組架構,Agent 在工具間做推理與決策 結構化明確,擴展性高;適合結合結構化與非結構化資料 架構較複雜,實作成本高 企業級應用、多模組整合
Structured Chat 嚴格結構化的對話格式,輸出清楚的 Action/Observation 高可控性、易追蹤;方便日誌紀錄與審計 限制模型靈活性,對 prompt 設計要求高 企業應用、法規合規場景

建議

  • 快速POC或工具測試 → Zero-shot ReAct Description
  • 需要多步推理與靈活決策 → ReAct
  • 複雜問答 / 拆解型問題 → Self-Ask with Search
  • 企業級多工具/多模組整合 → MRKL
  • 需要嚴格可控、可審計的場景 → Structured Chat

📌小結

今天我們進一步了解Agent和Agent flow的關係,也整理了目前LangChain所支援的Agent flow,筆者目前的實作比較後,主要都是以MARK作為Agent的框架,考量的面向主要是反應速度,明天我們將針對MARK做進一步的介紹,並為後面將MRKL結合Agentic RAG做準備!

✨參考資料

LangChain-AgentType


上一篇
Day 17: 大家都在Agent,那你知道什麼是Agentic RAG嗎?
下一篇
Day 19: AI Agent為何如此神奇? 一起來認識MRKL (唸Miracle)
系列文
從 RAG 到 Agentic RAG:30 天打造本機智慧檢索系統20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言