框架選擇
LangChain 和 AutoGen 有什麼差別?應該選哪個?
LangChain 適合單一 Agent 流程,強項是 RAG、Tool Use 和豐富的整合生態;AutoGen 適合需要多個 AI 角色協作、特別是需要自動執行和驗證程式碼的場景。兩者並不互斥,可以組合使用。
什麼時候需要 MCP Server?
當你想讓 Claude Desktop、Cursor、VS Code Copilot 等多個 AI 工具都能使用你的自訂工具時,MCP Server 提供標準化的介面,讓你只需開發一次就能整合到多個平台。
費用與效能
AI Agent 的 API 費用怎麼控制?
- 設定
max_tokens限制單次輸出長度 - 使用較便宜的模型(如
gpt-4o-mini)做初步測試 - 啟用 LangChain 快取,相同問題不重複收費
- 設定
max_consecutive_auto_reply防止 AutoGen 無限循環 - 在 OpenAI Dashboard 設定月度費用上限
Agent 回應很慢怎麼辦?
- 使用串流輸出(streaming)讓使用者看到即時進度
- 將不相依的工具呼叫改為並行執行
- 縮短 System Prompt 和 Context 長度
- 考慮使用速度更快的模型版本
常見錯誤
出現 RateLimitError 怎麼處理?
from langchain_openai import ChatOpenAI
import time
# 方法一:使用內建重試機制
llm = ChatOpenAI(
model="gpt-4o-mini",
max_retries=3 # 自動重試 3 次
)
# 方法二:手動處理
from openai import RateLimitError
try:
result = llm.invoke("你的問題")
except RateLimitError:
time.sleep(60) # 等待 1 分鐘後重試
result = llm.invoke("你的問題")Context 太長超過 token 限制怎麼辦?
- 使用
ConversationSummaryMemory將舊對話壓縮成摘要 - 使用
ConversationBufferWindowMemory只保留最近 N 輪對話 - 選用支援更長 Context 的模型(如 Claude 3.5 Sonnet 支援 200K tokens)
AutoGen 程式碼執行失敗如何除錯?
# 設定 verbose=True 查看完整執行過程
user_proxy = autogen.UserProxyAgent(
name="執行者",
human_input_mode="NEVER",
code_execution_config={
"work_dir": "coding",
"use_docker": False,
"last_n_messages": 5, # 增加 context 範圍
"timeout": 120 # 增加執行超時時間(秒)
}
)
# 查看 work_dir 中生成的程式碼檔案
import os
for f in os.listdir("coding"):
print(f)MCP Server 問題
Claude Desktop 找不到我的 MCP Server?
- 確認設定檔路徑正確(macOS:
~/Library/Application Support/Claude/claude_desktop_config.json) - 確認 Python 路徑是絕對路徑,不是相對路徑
- 重新啟動 Claude Desktop 後才會載入新設定
- 查看 Claude Desktop 的 MCP 日誌確認錯誤訊息
MCP Server 如何傳遞機密設定?
{
"mcpServers": {
"my-server": {
"command": "python",
"args": ["/path/to/server.py"],
"env": {
"DATABASE_URL": "postgresql://...",
"API_SECRET": "your-secret"
}
}
}
}找不到答案?查看 資源索引 中的官方文件和社群連結。