摘要
在 AI 技術快速演進的 2025 年,agentic workflow(代理工作流程)已成為建構智慧應用系統的關鍵架構。本文深入探討 agentic workflow 的核心概念、架構設計、實作模式,以及主流框架的比較分析,為 AI 軟體工程師提供完整的技術指南。
什麼是 Agentic Workflow?
Agentic workflow 是一種 AI 驅動的流程架構,其中自主 AI agents(代理)能夠進行決策、執行行動並協調任務,最小化人工干預。與傳統的預定義流程不同,agentic workflow 具有動態性和適應性,能夠根據即時數據和環境變化調整執行策略。
核心定義
根據 Andrew Ng 教授的定義,agentic workflow 代表了 AI 系統的一個重要轉變:從單次的 prompt-response 模式,轉向迭代式、多步驟的問題解決過程。這種方法更接近人類解決複雜問題的思維模式。
關鍵特徵
- 自主決策能力:AI agents 能夠基於當前狀態和目標自主做出決策
- 迭代優化:通過 Thought-Action-Observation 循環不斷改進結果
- 工具使用:能夠調用外部工具和 API 來完成任務
- 協同工作:多個 agents 可以相互協作完成複雜任務
- 記憶機制:保留上下文信息,支持長期任務執行
核心概念與組件
Agentic workflow 的強大來自於其精心設計的核心組件。讓我們透過視覺化的方式來理解這些組件如何協同工作。
Thought-Action-Observation (TAO) 循環
Agentic workflow 的核心運作機制是 TAO 循環,這是一個迭代式的問題解決過程:

在這個循環中:
- Thought(思考):AI agent 分析當前狀態並制定下一步計劃
- Action(行動):執行選定的動作或調用工具
- Observation(觀察):評估行動結果並更新狀態
1. AI Agents
AI agent 是 agentic workflow 的基本執行單元。每個 agent 都是一個具有特定能力的智慧實體:

每個 agent 具備:
- 角色定義(Role):明確的職責範圍
- 目標設定(Goal):要達成的具體目標
- 背景故事(Backstory):幫助 LLM 理解 agent 的專業領域
- 工具集(Tools):可以使用的外部功能
- 記憶系統(Memory):保存上下文和經驗
# 範例:定義一個研究員 Agent
researcher = Agent(
role="AI Technology Researcher",
goal="Research the latest AI developments and trends",
backstory="You are an experienced AI researcher with deep knowledge in machine learning",
tools=[web_search_tool, arxiv_tool, wikipedia_tool],
memory=True # 啟用記憶功能
)
2. Large Language Models (LLMs)
LLMs 作為 agents 的「大腦」,負責:
- 自然語言理解與生成
- 推理和規劃
- 決策制定
- 工具選擇
3. 工具(Tools)
工具讓 agents 能夠與外部世界互動:
- 資訊檢索工具:網路搜尋、資料庫查詢
- 程式碼執行工具:Python interpreter、Shell commands
- API 整合工具:第三方服務整合
- 檔案操作工具:讀寫檔案、資料處理
4. 記憶系統(Memory)
記憶系統使 agents 能夠:
- 短期記憶:保存當前對話上下文
- 長期記憶:儲存跨會話的知識和經驗
- 向量資料庫:使用 embedding 進行語義搜尋
5. 提示工程(Prompt Engineering)
有效的提示設計對 agentic workflow 的性能至關重要:
- Chain of Thought (CoT):引導逐步推理
- Few-shot Learning:提供範例改善理解
- Self-reflection:讓 agent 評估和改進自己的輸出
與傳統自動化的差異
傳統 RPA vs Agentic Workflow
| 特徵 | 傳統 RPA | Agentic Workflow |
|---|---|---|
| 執行模式 | 預定義的固定流程 | 動態適應的智慧流程 |
| 決策能力 | 基於規則的條件判斷 | 基於 AI 的自主決策 |
| 錯誤處理 | 預設的例外處理 | 智慧型錯誤恢復 |
| 擴展性 | 需要重新編程 | 自動適應新場景 |
| 複雜度處理 | 適合簡單重複任務 | 能處理複雜多變任務 |
演進路徑
從傳統自動化到 agentic workflow 的演進代表了 AI 系統能力的躍升:

這三個層次展示了 agentic 行為的演進:
- AI Workflow(輸出決策)
- 基礎層次:AI 根據提示生成輸出
- 決策發生在模型內部
- 透過提示工程優化結果
- Router Workflow(任務決策)
- 中級層次:AI 可以選擇工具和路徑
- 在預定義環境中做出決策
- 目前大多數創新集中在此層
- Autonomous Agent(流程決策)
- 高級層次:完全自主的 AI 系統
- 能夠制定和執行長期計劃
- 根據環境變化動態調整策略
架構設計模式
1. 反思模式(Reflection Pattern)
反思模式允許 AI agents 評估和改進自己的輸出:
# Actor-Critic 架構範例
class ReflectionWorkflow:
def __init__(self):
self.actor = Agent(role="Content Creator")
self.critic = Agent(role="Quality Reviewer")
def execute(self, task):
# Actor 生成初始輸出
output = self.actor.generate(task)
# Critic 提供改進建議
feedback = self.critic.review(output)
# Actor 根據回饋改進
improved_output = self.actor.refine(output, feedback)
return improved_output
2. 工具使用模式(Tool Use Pattern)
讓 agents 動態選擇和使用適當的工具:
# 工具選擇範例
@tool
def web_search(query: str) -> str:
"""搜尋網路獲取最新資訊"""
# 實作搜尋邏輯
return search_results
@tool
def calculate(expression: str) -> float:
"""執行數學計算"""
# 實作計算邏輯
return result
# Agent 會根據任務需求自動選擇工具
3. 規劃模式(Planning Pattern)
將複雜任務分解為可管理的子任務:
class PlanningAgent:
def plan_and_execute(self, goal):
# 步驟 1:任務分解
subtasks = self.decompose_task(goal)
# 步驟 2:制定執行計劃
plan = self.create_execution_plan(subtasks)
# 步驟 3:逐步執行
results = []
for task in plan:
result = self.execute_subtask(task)
results.append(result)
# 步驟 4:整合結果
return self.synthesize_results(results)
4. 多代理協作模式(Multi-Agent Collaboration)
多個 agents 協同工作完成複雜任務,形成強大的團隊協作能力:

在這個架構中:
- Manager Agent 負責整體規劃和任務分配
- 專門化 Agents 各自擁有特定技能和工具
- 協同執行 確保任務高效完成
- 結果整合 將各個 agent 的輸出合併為最終成果
# 分層協作架構實現
class HierarchicalTeam:
def __init__(self):
self.manager = Agent(role="Project Manager")
self.researcher = Agent(role="Researcher")
self.developer = Agent(role="Developer")
self.reviewer = Agent(role="Code Reviewer")
def collaborate(self, project):
# Manager 分配任務
tasks = self.manager.delegate(project)
# 並行執行
research = self.researcher.execute(tasks['research'])
code = self.developer.execute(tasks['development'], research)
# Review 和迭代
feedback = self.reviewer.review(code)
final_code = self.developer.refine(code, feedback)
return final_code
主流框架深度剖析
1. LangChain & LangGraph
LangChain 提供了構建 LLM 應用的基礎設施,而 LangGraph 專注於構建有狀態的多步驟工作流程。
核心特點
- 圖形化工作流:支援循環和條件分支
- 狀態管理:內建持久化狀態支援
- 串流支援:原生支援 token-by-token 串流
- 人機協作:易於實現 human-in-the-loop
實作範例
from langgraph.graph import StateGraph
from langchain_core.messages import HumanMessage
# 定義狀態
class AgentState(TypedDict):
messages: list
current_speaker: str
task_completed: bool
# 建立工作流圖
workflow = StateGraph(AgentState)
# 添加節點
workflow.add_node("researcher", research_node)
workflow.add_node("writer", writer_node)
workflow.add_node("reviewer", review_node)
# 定義邊和條件
workflow.add_edge("researcher", "writer")
workflow.add_conditional_edge(
"writer",
lambda x: "reviewer" if needs_review(x) else END
)
# 編譯和執行
app = workflow.compile()
result = app.invoke({"messages": [HumanMessage("研究 AI 最新趨勢")]})
2. Microsoft AutoGen
AutoGen 專注於多代理對話系統,強調代理間的自然對話。
核心特點
- 對話式協作:agents 通過自然語言對話協作
- 靈活的代理類型:AssistantAgent、UserProxyAgent 等
- 程式碼執行支援:內建安全的程式碼執行環境
- 群組聊天:支援多代理群組討論
實作範例
from autogen import AssistantAgent, UserProxyAgent, GroupChat
# 創建 agents
assistant = AssistantAgent(
name="AI_Assistant",
llm_config={"model": "gpt-4"},
system_message="You are a helpful AI assistant."
)
coder = AssistantAgent(
name="Coder",
llm_config={"model": "gpt-4"},
system_message="You are an expert programmer."
)
user_proxy = UserProxyAgent(
name="User",
code_execution_config={"work_dir": "coding"}
)
# 設置群組聊天
groupchat = GroupChat(
agents=[assistant, coder, user_proxy],
messages=[],
max_round=10
)
# 啟動對話
user_proxy.initiate_chat(
groupchat.manager,
message="創建一個網頁爬蟲程式"
)
3. CrewAI
CrewAI 提供了更高層次的抽象,專注於團隊協作。
核心特點
- 角色導向設計:強調 agent 的角色和專長
- 任務管理:結構化的任務定義和分配
- 靈活的流程控制:順序、並行、階層式執行
- 工具整合:豐富的預建工具庫
實作範例
from crewai import Agent, Task, Crew
# 定義 agents
researcher = Agent(
role='Senior Research Analyst',
goal='發現突破性的 AI 技術趨勢',
backstory='你是矽谷頂尖的技術分析師',
tools=[SerperDevTool(), WebsiteSearchTool()]
)
writer = Agent(
role='Tech Content Strategist',
goal='撰寫引人入勝的技術文章',
backstory='你是知名科技媒體的資深編輯'
)
# 定義任務
research_task = Task(
description='研究 2025 年最重要的 AI 技術趨勢',
agent=researcher,
expected_output='詳細的研究報告'
)
writing_task = Task(
description='基於研究撰寫部落格文章',
agent=writer,
expected_output='完整的部落格文章',
context=[research_task]
)
# 組建團隊
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, writing_task],
verbose=True
)
# 執行
result = crew.kickoff()
框架比較
| 特性 | LangGraph | AutoGen | CrewAI |
|---|---|---|---|
| 學習曲線 | 中等 | 較低 | 最低 |
| 靈活性 | 最高 | 高 | 中等 |
| 圖形化流程 | 原生支援 | 部分支援 | 有限支援 |
| 程式碼執行 | 需要整合 | 內建支援 | 需要整合 |
| 社群活躍度 | 非常高 | 高 | 快速成長 |
| 企業支援 | LangChain Inc. | Microsoft | CrewAI Inc. |
實戰案例分析
案例 1:智慧客服系統
場景:構建能處理複雜查詢的客服系統
架構設計:
用戶查詢 → Router Agent → [FAQ Agent / Technical Agent / Escalation Agent]
↓
Knowledge Base Agent
↓
Response Generator
↓
Quality Assurance Agent
實作要點:
- Router Agent 分析查詢類型和複雜度
- 專門化 agents 處理不同類型問題
- Knowledge Base Agent 提供上下文資訊
- QA Agent 確保回應品質
案例 2:程式碼審查助手
場景:自動化程式碼審查流程
工作流程:
class CodeReviewWorkflow:
def __init__(self):
self.syntax_checker = Agent(role="Syntax Analyzer")
self.security_auditor = Agent(role="Security Expert")
self.performance_analyzer = Agent(role="Performance Engineer")
self.best_practices_reviewer = Agent(role="Code Quality Expert")
async def review_code(self, code_changes):
# 並行執行各項檢查
reviews = await asyncio.gather(
self.syntax_checker.analyze(code_changes),
self.security_auditor.audit(code_changes),
self.performance_analyzer.analyze(code_changes),
self.best_practices_reviewer.review(code_changes)
)
# 整合審查結果
final_report = self.synthesize_reviews(reviews)
return final_report
案例 3:研究報告自動生成
場景:根據主題自動生成深度研究報告
Multi-Agent 架構:
- Research Manager:規劃研究方向
- Data Collectors (多個):從不同來源收集資料
- Fact Checker:驗證資訊準確性
- Report Writer:撰寫報告
- Editor:編輯和優化
最佳實踐與設計原則
1. Agent 設計原則
- 單一職責:每個 agent 專注於特定任務
- 清晰的角色定義:明確的 role、goal 和 backstory
- 適當的工具配置:只給予必要的工具權限
- 錯誤處理機制:預設失敗情況的處理策略
2. 工作流程設計
- 模組化設計:可重用的 agent 組件
- 漸進式複雜度:從簡單流程開始,逐步增加複雜度
- 監控和日誌:完整的執行追蹤
- 人機協作點:在關鍵決策點加入人工審核
3. 性能優化
# 並行處理範例
async def parallel_agent_execution(agents, tasks):
"""並行執行多個 agent 任務"""
results = await asyncio.gather(
*[agent.execute(task) for agent, task in zip(agents, tasks)]
)
return results
# 快取策略
from functools import lru_cache
@lru_cache(maxsize=100)
def cached_llm_call(prompt: str, model: str) -> str:
"""快取 LLM 呼叫結果"""
return llm.invoke(prompt, model=model)
4. 成本控制
- 智慧路由:根據任務複雜度選擇適當的模型
- 結果快取:避免重複的 LLM 呼叫
- 提前終止:設定最大迭代次數
- 本地模型混合:結合本地和雲端模型
未來展望
框架演進歷程
Agentic workflow 框架的發展速度驚人,各大科技公司和開源社群都在積極推動這個領域的創新:

從 2023 年底 LangChain 的推出開始,短短一年多的時間裡,我們見證了:
- 框架多樣化:從單一選擇到百花齊放
- 功能專門化:每個框架都有獨特優勢
- 社群快速成長:開發者積極參與和貢獻
- 企業級採用:從實驗到生產環境部署
技術趨勢
- 更強大的推理能力:新一代 LLMs 將提供更好的規劃和推理
- 多模態支援:整合視覺、語音等多種輸入模態
- 邊緣部署:支援在邊緣設備上運行的輕量級 agents
- 標準化協議:跨框架的 agent 通訊標準
應用前景
根據 Gartner 預測,到 2028 年:
- 33% 的企業軟體將包含 agentic AI
- 15% 的日常工作決策將由 AI 自主完成
- Agentic workflow 將成為企業數位轉型的核心技術
挑戰與機遇
挑戰:
- 可解釋性和可控性
- 安全性和合規性
- 成本優化
- 技術人才缺口
機遇:
- 革命性的生產力提升
- 新型應用場景
- 人機協作新模式
- 產業數位化加速
結論
Agentic workflow 代表了 AI 應用開發的範式轉移,從被動響應到主動解決問題。對於 AI 軟體工程師而言,掌握 agentic workflow 的設計和實現將成為核心競爭力。
隨著技術的成熟和工具鏈的完善,我們正站在一個新時代的起點——AI agents 將成為軟體系統的基本組成部分,而 agentic workflow 將定義這些 agents 如何協作創造價值。








