環境設定

從 Python 虛擬環境到 API 金鑰管理,完整設定 AI Agent 開發環境。

系統需求

在開始安裝之前,請確認你的開發環境符合以下最低要求。AI Agent 框架對 Python 版本有嚴格限制,使用過舊的版本會導致套件相依性衝突,初學者常在這個環節卡關:

確認 Python 版本:在終端機執行 python --versionpython3 --version。若版本低於 3.10,請先前往 python.org 下載最新版本,或使用 brew install python@3.11(macOS Homebrew)、winget install Python.Python.3.11(Windows)。

步驟一:建立虛擬環境

強烈建議每個 AI 專案都使用獨立的虛擬環境。LangChain 與 AutoGen 可能對同一個底層套件(如 pydantichttpx)有不同版本要求,混裝在全域環境必然產生衝突。虛擬環境讓你隔離每個專案的依賴,刪除時也不影響其他專案或系統 Python。

推薦使用 uv 取代 pip:如果你還沒有偏好的套件管理器,強烈推薦改用 uv。它是 Rust 撰寫的高速 Python 套件管理器,安裝速度比傳統 pip 快 10–100 倍,完全相容所有 pip 指令,且內建虛擬環境管理。安裝一次,受益終身。
# 方法一:使用 Python 內建 venv(無需額外安裝)
python -m venv agent-env

# 啟用虛擬環境
source agent-env/bin/activate    # macOS / Linux
agent-env\Scripts\activate       # Windows PowerShell

# 確認虛擬環境已啟用(提示符前方會出現 (agent-env))
which python    # macOS/Linux:應顯示 .../agent-env/bin/python
where python    # Windows

# 方法二:使用 uv(推薦,速度更快、依賴解析更精準)
pip install uv
uv venv agent-env
source agent-env/bin/activate    # macOS / Linux
agent-env\Scripts\activate       # Windows
每次開啟新的終端機視窗,都需要重新執行 source agent-env/bin/activate 來啟用虛擬環境。提示符前方出現 (agent-env) 代表已成功啟用。若想自動啟用,可安裝 direnv,在專案目錄放置 .envrc 檔案即可自動切換。

步驟二:安裝 LangChain

LangChain 自 v0.2 起採用模組化套件結構,核心套件與各 LLM 提供商的整合是分開發布的。根據你打算使用的 LLM 服務,選擇對應的整合套件安裝。以下指令在啟用虛擬環境後執行:

# 安裝 LangChain 核心套件
pip install langchain

# 選擇 LLM 整合套件(至少安裝一個)
pip install langchain-openai        # OpenAI GPT-4o / GPT-4o-mini
pip install langchain-anthropic     # Anthropic Claude 3.5 Sonnet / Haiku
pip install langchain-google-genai  # Google Gemini 1.5 Pro / Flash

# 安裝社群整合套件(包含大量工具、文件載入器、向量庫整合)
pip install langchain-community

# 向量資料庫(二選一,也可以都裝)
pip install faiss-cpu               # FAISS:本地執行,輕量快速,適合開發測試
pip install chromadb                # Chroma:本地執行,支援持久化與複雜篩選條件

# 文件處理工具(讀取 PDF、Word、HTML 等格式)
pip install pypdf docx2txt unstructured
若安裝 faiss-cpu 時出現編譯錯誤,改用 pip install faiss-cpu --prefer-binary 直接安裝預編譯版本,可跳過本地編譯依賴問題。macOS Apple Silicon 用戶建議加上 --no-build-isolation 旗標。
一次安裝所有常用套件:如果你想快速開始,可以用這一行指令安裝本教學所有章節需要的套件:
pip install langchain langchain-openai langchain-anthropic langchain-community \
            faiss-cpu chromadb pypdf python-dotenv

步驟三:安裝 AutoGen

AutoGen 是微軟開發的多 Agent 協作框架。安裝時需注意:PyPI 上的套件名稱為 pyautogen,但在 Python 程式碼中引入時使用 import autogen。這個命名差異是初學者常見的混淆點:

# 安裝 AutoGen 核心套件
pip install pyautogen

# 若需要讓 Agent 在隔離沙箱中安全執行程式碼(生產環境強烈建議)
pip install docker
# 並確保 Docker Desktop 已安裝並在背景執行

# 若需要 AutoGen Studio(視覺化 no-code 介面,可選)
pip install autogenstudio

# 確認安裝成功
python -c "import autogen; print('AutoGen', autogen.__version__, '安裝成功')"
安全警告:AutoGen 預設允許 UserProxyAgent 在本機直接執行 LLM 生成的程式碼。開發測試時方便,但部署到生產環境前務必改用 Docker 沙箱隔離執行(設定 code_execution_config={"use_docker": True}),避免 LLM 產生惡意程式碼在你的伺服器上執行。

步驟四:安裝 MCP SDK

MCP(Model Context Protocol)是 Anthropic 制定的開放標準。Python SDK 讓你快速開發符合規範的 MCP Server,一旦開發完成,任何支援 MCP 的 AI 用戶端(Claude Desktop、Continue、Cursor 等)都能直接使用你的工具,無需為每個用戶端單獨整合:

# 方法一:使用 pip 安裝
pip install mcp

# 方法二:使用 uv 安裝(推薦,自動解析依賴版本衝突)
uv add mcp

# 確認安裝版本
python -c "import mcp; print('MCP SDK 版本:', mcp.__version__)"

步驟五:設定 API 金鑰

安全守則:永遠不要將 API 金鑰硬編碼在程式碼中!一旦不小心將含有金鑰的程式碼推送到 GitHub 公開儲存庫,自動掃描機器人會在幾分鐘內找到並盜用,造成鉅額帳單。請一律使用環境變數或 .env 檔案管理金鑰。

以下示範三種主流 LLM 服務的 API 金鑰設定方式。金鑰申請入口:OpenAI PlatformAnthropic ConsoleGoogle AI Studio

# 方法一:臨時環境變數(關閉終端機視窗後即失效)
export OPENAI_API_KEY="sk-proj-..."           # macOS / Linux bash / zsh
export ANTHROPIC_API_KEY="sk-ant-api03-..."
export GOOGLE_API_KEY="AIzaSy..."

# Windows PowerShell
$env:OPENAI_API_KEY = "sk-proj-..."
$env:ANTHROPIC_API_KEY = "sk-ant-api03-..."

# 方法二:建立 .env 檔案(永久保存,務必加入 .gitignore)
# 在專案根目錄建立名為 .env 的純文字檔,內容如下:
OPENAI_API_KEY=sk-proj-...
ANTHROPIC_API_KEY=sk-ant-api03-...
GOOGLE_API_KEY=AIzaSy...

# 安裝 python-dotenv,讓程式啟動時自動載入 .env
pip install python-dotenv
# Python 程式碼中載入 .env 並讀取金鑰的標準寫法
from dotenv import load_dotenv
import os

load_dotenv()  # 自動尋找並載入目前目錄(及父目錄)的 .env 檔案

openai_key    = os.getenv("OPENAI_API_KEY")
anthropic_key = os.getenv("ANTHROPIC_API_KEY")
google_key    = os.getenv("GOOGLE_API_KEY")

# 驗證金鑰已成功載入(只顯示前 8 字元,避免洩漏完整金鑰)
print("OpenAI Key:", openai_key[:8] + "..." if openai_key else "未設定")
print("Anthropic Key:", anthropic_key[:8] + "..." if anthropic_key else "未設定")
print("Google Key:", google_key[:8] + "..." if google_key else "未設定")
記得將 .env 加入 .gitignore:執行 echo ".env" >> .gitignore。若使用 conda 管理環境,也可以透過 conda env config vars set OPENAI_API_KEY=sk-... 設定環境層級的變數,該 conda 環境啟用時自動載入。

步驟六:虛擬環境管理(conda 替代方案)

如果你已經習慣使用 Anaconda / Miniconda,也可以用 conda 管理 Python 環境。conda 的優勢是可以管理非 Python 的系統依賴(例如 FAISS 所需的 BLAS / LAPACK 函式庫),在某些平台上比 pip 更穩定:

# 建立 conda 環境,明確指定 Python 3.11
conda create -n agent-env python=3.11
conda activate agent-env

# 安裝套件(優先用 conda-forge,找不到再用 pip)
conda install -c conda-forge faiss-cpu
pip install langchain langchain-openai pyautogen mcp python-dotenv

# 管理 conda 環境的常用指令
conda env list                           # 列出所有環境
conda env export > environment.yml       # 匯出環境設定(方便團隊共享)
conda env create -f environment.yml      # 從設定檔重建環境
conda deactivate                         # 退出目前環境

步驟七:開發工具推薦

選擇合適的開發工具能大幅提升 Agent 開發效率,尤其是在除錯複雜的多輪 Agent 互動時。以下是針對 Python AI 開發特別推薦的工具與擴充功能:

在 VS Code 中按下 Ctrl+Shift+P(macOS:Cmd+Shift+P),搜尋 Python: Select Interpreter,選擇你建立的虛擬環境路徑(路徑中包含 agent-env)。設定完成後右下角會顯示目前使用的 Python 版本與環境名稱。

驗證安裝

完成上述所有步驟後,執行以下腳本確認所有套件都已正確安裝,沒有版本衝突:

python -c "
import langchain
import autogen
import mcp
import faiss
import chromadb
print('LangChain :', langchain.__version__)
print('AutoGen   :', autogen.__version__)
print('MCP SDK   :', mcp.__version__)
print('FAISS     : 已安裝')
print('ChromaDB  :', chromadb.__version__)
print()
print('所有套件安裝成功!可以開始 AI Agent 開發了。')
"

常見安裝問題與解法

以下是初學者最常遇到的四個安裝障礙,每個都附有具體的診斷步驟與解決方法:

問題一:pip install pyautogen 報錯 Could not find a version that satisfies the requirement

原因:Python 版本低於 3.8,或 pip 版本過舊,無法解析新版套件的 metadata。
解法:先升級 pip:pip install --upgrade pip,再重試。若 Python 版本低於 3.10,需先升級 Python。確認版本:python --version
問題二:macOS 上 faiss-cpu 安裝失敗,出現 Clang 或 C++ 編譯錯誤

原因:FAISS 部分版本需要本地編譯,但系統缺少 Xcode Command Line Tools(C/C++ 編譯器)。
解法一(推薦):加上 --prefer-binary 旗標跳過本地編譯:pip install faiss-cpu --prefer-binary
解法二:安裝 Xcode 工具後重試:xcode-select --install
問題三:設定 export OPENAI_API_KEY=... 後,Python 程式中 os.getenv() 仍回傳 None

原因:export 指令只對目前的 Shell session 有效,重新開啟終端機後失效。或者你在 VS Code 整合終端機設定了環境變數,但在另一個 Shell 視窗執行程式。
解法:改用 .env 檔案搭配 python-dotenv 在程式啟動時自動載入,或將 export 寫入 ~/.zshrc(zsh)/ ~/.bashrc(bash)後執行 source ~/.zshrc 使其生效。
問題四:Windows 執行 agent-env\Scripts\activate 出現「無法載入檔案,因為在這個系統上停用了指令碼執行」

原因:Windows PowerShell 預設的執行原則(Execution Policy)為 Restricted,禁止執行任何未簽署的本地腳本,包括虛擬環境的啟用腳本。
解法:以管理員身份開啟 PowerShell,執行:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser,然後關閉並重新開啟 PowerShell 視窗,再次執行啟用指令即可。
完成環境設定後,前往 LangChain 教學 開始建立你的第一個具備工具呼叫能力的 Agent,或先閱讀 概覽 深入理解 ReAct 推理模式與 Agent 的核心運作原理。