第一章:AI Agent 與 CrewAI 概念解析 (踏入多智能體宇宙)
歡迎來到 Course 5: CrewAI Multi-Agents (終極挑戰)! 這門課將徹底顛覆你過去對程式開發的想像。如果你覺得 ChatGPT 或 Cursor 幫你寫程式已經很神奇了,那麼準備好見證下一個維度的技術。
在過去的開發中,我們是一行一行寫死「死板的邏輯 (If-Else)」。 但在多智能體 (Multi-Agents) 的世界裡,我們不再寫死邏輯,而是「打造一群擁有大腦的虛擬員工,讓他們互相討論、互相合作幫你完成任務」! 我們將使用目前 Python 生態系中,在商業實戰上最穩定、最強大的框架:CrewAI。
🎯 本章目標
- 聽懂什麼是 Agent (智能體)?它跟一般 ChatGPT 有什麼不同?
- 了解 CrewAI 的三大核心靈魂:Agent、Task、Crew。
- 建立 Python 環境,順利安裝並啟動你的第一個虛擬團隊。
- 撰寫第一個讓 AI 自己上網搜尋資料並寫成市場分析報告的腳本。
🧠 第一步:核心概念解析 (虛擬公司的組織圖)
在 CrewAI 的框架中,你就像是一家公司的老闆,你必須組建你的團隊。這家公司有三個最重要的元素:
-
Agent (智能體 / 員工): 就是你聘請的員工。你不能只叫它做事情,你必須賦予它「角色 (Role)」、「最高目標 (Goal)」以及「背景故事 (Backstory)」。 💡 例如:你可以設定一個 Agent 是「資深 Python 工程師」,另一個 Agent 是「極度嚴格、吹毛求疵的 QA 測試員」。這兩個員工的講話風格與做事標準會完全不同!
-
Task (任務): 你交代給員工的具體工作清單。包含清楚的「描述 (Description)」與預期的「產出格式 (Expected Output)」。 💡 例如:要求工程師「寫一支貪食蛇遊戲」,並預期產出「完整的 main.py 程式碼」。
-
Crew (團隊): 老闆(也就是你) 把一群 Agent 和一堆 Task 組合起來的單位。你可以設定他們是要「循序漸進 (Sequential)」(工程師寫完,再交給 QA 測) 還是「階層式 (Hierarchical)」(選一個主管 Agent 去管其他小弟) 來完成大任務。
🛠️ 第二步:建立總部 (環境建置)
首先,請在你的專案資料夾中建立一個新的 Python 虛擬環境 (避免套件打架)。 啟動虛擬環境後,讓我們安裝 CrewAI 的火力裝備。
🔥【Vibe Prompt 實戰咒語】
我想要建立一個 CrewAI 的 Python 專案。1. 請給我建立 venv 與啟動它的指令 (Mac/Windows 都要)。2. 請給我 pip 安裝 crewai 以及相關工具包 (crewai[tools], langchain-openai) 的指令。
在終端機執行安裝:
pip install 'crewai[tools]' langchain-openai python-dotenv
(備註:因為 CrewAI 依賴較多底層 AI 套件,安裝時間可能會花上 1~2 分鐘,請耐心等待。)
🤖 第三步:召喚你的第一批虛擬員工
現在,我們要請 AI 幫我們寫一份腳本,目標是:調查市場上最新的「電動車固態電池」技術趨勢,並寫成一篇具備商業洞察的部落格文章。
首先,你需要在專案根目錄建立一個 .env 檔案,並放入你的 OpenAI 金鑰 (這是員工們的運算大腦):
OPENAI_API_KEY=sk-你的真實金鑰放在這裡
🔥【Vibe Prompt 實戰咒語】
我正在使用 CrewAI (Python)。請幫我寫一個完整的 main.py 腳本。我需要兩個 Agents:1. Researcher (市場研究員):負責上網尋找最新的「電動車固態電池」技術趨勢。(請幫他寫詳盡且霸氣的 backstory)2. Writer (資深撰稿人):負責把研究員找出來的資料,寫成一篇活潑生動的科技部落格文章。(請幫他寫 backstory)
我需要兩個 Tasks (ResearchTask 與 WriteTask) 分別派給他們,並清楚定義 Expected Output。最後請建立一個 Crew 把它們串起來,設定 process 為 Sequential,並呼叫 kickoff() 開始執行。請加上詳細的中文註解。
AI 會幫你生成類似以下的強大程式碼 (節錄重點片段):
import os
from dotenv import load_dotenv
from crewai import Agent, Task, Crew, Process
from langchain_openai import ChatOpenAI
load_dotenv() # 載入 .env 金鑰
# 1. 定義員工 A:資深研究員
researcher = Agent(
role='矽谷科技市場資深研究員',
goal='發掘 2026 年最新、最具顛覆性的電動車固態電池技術與商業化時程',
backstory='你是一個在矽谷打滾 10 年的科技分析師,你看過無數新創起落,對於發掘尚未被大眾關注的底層技術非常有熱忱。你絕不盲從新聞稿,總是能找出背後的數據。',
verbose=True, # 打開詳細輸出,讓我們看到他在想什麼
allow_delegation=False # 此任務不允許他推給別人
)
# 2. 定義員工 B:王牌商業撰稿人
writer = Agent(
role='王牌科技商業撰稿人',
goal='將生硬的技術報告轉化為引人入勝、易於分享的部落格文章',
backstory='你曾擔任過《Wired》雜誌的主編,你擅長用生動的比喻來解釋複雜的科技名詞,並且總能在文章最後給出極具價值的商業洞察。',
verbose=True,
allow_delegation=False
)
# ... (Tasks 定義略過,就是把工作交給上面的 Agent) ...
# 3. 成立專案團隊 (Crew) 並發號施令
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, write_task],
process=Process.sequential, # 循序漸進:研究員先做完,資料才會交給撰稿人
verbose=True
)
# 老闆下令:開始工作!
print("🚀 團隊開始運作...")
result = crew.kickoff()
print("######################")
print("✅ 最終產出的文章:\n", result)
🤯 見證奇蹟的時刻 (Thought Process)
當你在終端機輸入 python main.py 執行後,這將是你工程師生涯中最震撼的一刻。
你會在畫面上看到 AI 們「自言自語的思考過程 (Thought)」!
你會看到 Researcher 在畫面上印出:
「Thought: 我需要找出固態電池的最新技術,我將先統整 2024~2025 年的重大突破...」
接著,他做完報告後,資料會自動傳遞給 Writer。
你會看到 Writer 印出:
「Thought: 研究員給的資料很豐富,但我需要一個吸引人的標題。我將用『告別里程焦慮』作為切入點...」
最後,他們會吐出一篇完美、極具深度的文章給你!
✅ 本章小結
太不可思議了!你剛剛成功當了一回老闆,不寫任何爬蟲邏輯,就讓兩個虛擬員工幫你完成了複雜的內容產出任務。
但是,你有沒有發現一個問題?剛剛的 Researcher 其實只是「靠他腦袋裡(模型本身) 的訓練資料」在空想,他並沒有真正的去 Google 搜尋今天的最新新聞。
如果要讓 AI 真的具備毀滅性的商業價值,我們必須為他們裝上「武器」。
下一章,我們將教你如何為 Agent 裝備「工具 (Tools)」,讓他們能夠自己去 Google 爬網頁、去 YouTube 看影片、甚至去幫你抓取競爭對手的股價!