Deep Agents: 開箱即用的 AI 助手,讓你輕鬆打造聰明代理人!
嘿,各位熱愛 AI 科技的台灣朋友們!今天要為大家介紹一個超棒的工具:Deep Agents。 想像一下,你不需要從頭開始建構 AI 代理人(agent),就能擁有一個能規劃、讀寫文件、執行程式碼,甚至還能自己管理上下文的 AI 助手。 Deep Agents 就能幫你實現這個願望!
什麼是 Deep Agents? 簡單來說…
Deep Agents 是一個「開箱即用」的 AI 代理人框架。它預先整合了各種實用的功能,讓你省去繁瑣的設定,馬上就能開始使用。你可以把它想像成一個裝滿了工具箱的代理人,裡面包含了各種 AI 助手常用的工具,像是:
- 規劃(Planning):
write_todos功能可以幫你把任務分解成更小的步驟,並且追蹤進度。 - 檔案系統(Filesystem):
read_file,write_file,edit_file,ls,glob,grep等工具讓你讀取、寫入、編輯檔案,就像在電腦上操作一樣。 - Shell 存取(Shell access):
execute功能可以在安全沙盒中執行命令,讓你直接在 AI 代理人裡面執行程式碼。 - 子代理人(Sub-agents):
task功能可以讓你將複雜的任務委派給更小的子代理人,每個子代理人都有自己的上下文環境,分工合作更有效率。 - 智慧預設(Smart defaults): Deep Agents 內建的提示詞(prompts)會教導模型如何有效地使用這些工具。
- 上下文管理(Context management): 當對話內容過長時,會自動摘要;長篇輸出會儲存成檔案,方便管理。
總之,Deep Agents 就像一個全能的 AI 助手,能幫你完成各種任務,從研究、寫作到程式開發,它都能派上用場。
為什麼 Deep Agents 適合你?
- 快速上手: 只需要幾個簡單的指令,你就能啟動一個 AI 代理人。
- 彈性十足: 你可以根據自己的需求,加入新的工具、更換模型、調整提示詞、設定子代理人等等。
- 基於 LangGraph: Deep Agents 建立在 LangGraph 這個強大的框架之上,支援串流、持久化、檢查點等等功能,讓你的 AI 代理人更穩定、更高效。
- 開放原始碼: Deep Agents 採用 MIT 許可,完全開放原始碼,你可以自由地使用、修改和擴展。
- 跨平台: 支援各種 LLM (大型語言模型),包括 frontier 和 open models,給你更多的選擇。
快速入門: 讓 AI 代理人為你工作!
準備好開始了嗎? 讓我們一起來安裝 Deep Agents,並嘗試第一個範例!
步驟 1:安裝 Deep Agents
你只需要使用 pip 這個 Python 的套件管理工具:
pip install deepagents
或者,你也可以使用 uv 套件管理工具:
uv add deepagents
步驟 2:使用 Deep Agents
以下是一個簡單的範例,讓你的 AI 代理人幫你研究 LangGraph,並寫一篇摘要:
from deepagents import create_deep_agent
agent = create_deep_agent()
result = agent.invoke({"messages": [{"role": "user", "content": "Research LangGraph and write a summary"}]})
print(result)
就是這麼簡單! create_deep_agent() 函數會建立一個預設的 AI 代理人。 agent.invoke() 函數會接收你的指令,並讓 AI 代理人執行任務。 print(result) 會印出 AI 代理人的工作結果。
深入了解 Deep Agents 的核心概念
為了更深入地理解 Deep Agents,讓我們來看看它的核心概念:
- 代理人(Agent): AI 代理人是一個能夠自主執行任務的程式。它接收指令,使用工具,並做出回應。 Deep Agents 提供了一個框架,讓你更容易地建立和管理 AI 代理人。
- 工具(Tools): 工具是 AI 代理人完成任務的「武器」。 Deep Agents 預設提供了一些常用的工具,例如讀寫檔案、執行命令等等。 你也可以自定義工具,讓 AI 代理人具備你需要的特定功能。
- 規劃(Planning): Deep Agents 的規劃功能可以幫助 AI 代理人將複雜的任務分解成更小的步驟。 這樣一來,AI 代理人就能更有條理地完成任務。
- 上下文管理(Context Management): AI 代理人需要記住過去的對話內容,才能更好地理解你的指令。 Deep Agents 的上下文管理功能可以自動摘要,避免對話內容過長,並且更有效地管理資訊。
- 模型(Model): Deep Agents 支援多種 LLM (大型語言模型),你可以根據自己的需求選擇。
自定義你的 AI 代理人: 讓它更符合你的需求!
Deep Agents 的強大之處在於它的彈性。你可以根據自己的需求,自定義 AI 代理人。以下是一些常見的自定義方式:
- 添加自定義工具: 你可以編寫自己的工具,例如從 API 獲取資料、與資料庫互動等等。 只要將你的工具傳遞給
create_deep_agent()函數,AI 代理人就能使用它們。 - 更換模型: 你可以選擇不同的 LLM,例如 OpenAI 的 GPT-4o,甚至是開源模型。
- 調整提示詞(Prompts): 提示詞會影響 AI 代理人的行為。 你可以修改提示詞,讓 AI 代理人更符合你的期望。
- 配置子代理人: 你可以使用子代理人來分解複雜的任務。
- 設定系統提示: 可以在
create_deep_agent()函數中加入system_prompt參數,來設定 AI 代理人的行為。 例如,你可以設定 AI 代理人扮演的角色,或給予它特定的指令。
以下是一個自定義的範例:
from deepagents import create_deep_agent
from langchain.chat_models import init_chat_model
# 建立一個自定義工具 (範例)
def my_custom_tool(input: str) -> str:
"""一個簡單的自定義工具"""
return f"你輸入了: {input}"
agent = create_deep_agent(
model=init_chat_model("openai:gpt-4o"), # 使用 GPT-4o 模型
tools=[my_custom_tool], # 加入自定義工具
system_prompt="你是一位專業的研究助理。", # 設定系統提示
)
result = agent.invoke({"messages": [{"role": "user", "content": "告訴我一個笑話,並且使用我的自定義工具"}]})
print(result)
在這個例子中,我們添加了一個自定義工具,並設定了 AI 代理人的角色。 這讓 AI 代理人能更精準地完成任務。
Deep Agents CLI: 命令行下的 AI 代理人體驗
Deep Agents 也提供了 CLI (命令行介面),讓你更方便地使用。 你可以使用 CLI 來執行各種操作,例如:
- 網路搜尋: 讓 AI 代理人查詢網路資料。
- 遠端沙盒: 在安全的環境中執行程式碼。
- 持久化記憶體: 讓 AI 代理人記住過去的對話內容。
- 人工審核: 在 AI 代理人執行某些操作前,進行人工審核。
安裝 Deep Agents CLI:
curl -LsSf https://raw.githubusercontent.com/langchain-ai/deepagents/main/libs/cli/scripts/install.sh | bash
安裝完成後,你就可以在命令行中使用 deepagents 指令了。 例如:
deepagents "研究 Deep Agents 並寫一篇摘要"
Deep Agents 與 LangGraph 的完美結合
Deep Agents 是建立在 LangGraph 這個強大的框架之上。 LangGraph 是一個用於構建 AI 代理人的框架,它提供了流式處理、持久化、檢查點等等功能。
因此,你也可以使用 LangGraph 的所有功能,來增強你的 AI 代理人。
常見問題解答(FAQ)
- 為什麼要使用 Deep Agents?
- 開源且易於擴展。
- 支援多種 LLM。
- 基於 LangGraph,功能強大。
- 開箱即用,快速上手。
- 可以快速客製化。
- Deep Agents 的安全性如何?
- Deep Agents 採用「信任 LLM」的模型。 這意味著 AI 代理人可以執行其工具允許的任何操作。 安全性應在工具/沙盒層級強制執行,而不是期望模型自我監管。
更多資源
- 官方文件: docs.langchain.com – 深入了解 Deep Agents 的所有功能。
- API 參考: reference.langchain.com/python – 查看 Deep Agents 的 API 參考文檔。
- LangChain 論壇: forum.langchain.com – 與其他開發者交流。
- 範例: examples/ – 查看 Deep Agents 的使用範例。
個人實作心得與錯誤排除指南
我個人使用 Deep Agents 的經驗非常愉快。 它確實讓建立 AI 代理人變得更容易了。 以下是我的一些心得:
- 善用自定義工具: 添加自定義工具是讓 AI 代理人更有價值的關鍵。 你可以建立與 API 交互的工具,或是與資料庫交互的工具,讓 AI 代理人能處理更複雜的任務。
- 仔細調整提示詞: 提示詞會影響 AI 代理人的行為。 嘗試不同的提示詞,找到最適合你的任務的提示詞。
- 善用子代理人: 對於複雜的任務,使用子代理人可以讓你的 AI 代理人更有條理,也更容易維護。
- 注意安全: Deep Agents 預設信任 LLM。 因此,在設計工具時,請務必注意安全性。 避免讓 AI 代理人執行不安全的程式碼。
錯誤排除指南:
- 模型錯誤: 如果你的程式碼拋出模型錯誤,請檢查你的 API 金鑰和模型名稱是否正確。 確保你使用的模型支援你使用的工具。
- 工具錯誤: 如果你的自定義工具無法正常工作,請檢查你的工具程式碼是否正確。 檢查工具的輸入和輸出是否與 AI 代理人的期望相符。
- 上下文過長: 如果你的對話內容過長,可能會導致 AI 代理人的性能下降。 你可以使用 Deep Agents 的上下文管理功能,或是手動摘要對話內容。
結語: 開啟你的 AI 助手之旅!
Deep Agents 是一個功能強大且易於使用的 AI 代理人框架。 它能讓你快速上手,並且根據你的需求進行客製化。 無論你是 AI 初學者還是經驗豐富的開發者,Deep Agents 都能幫助你打造出令人驚豔的 AI 助手。 現在就開始使用 Deep Agents,開啟你的 AI 助手之旅吧!
參考閱讀
https://github.com/langchain-ai/deepagents