重點摘要
1. AI 代理:
賦予系統超越僵化、預設工作流程的自主決策能力。
運用迭代推理、適應性執行與持續學習。
2. Smolagents:
輕量級 Python 程式庫(約 1,000 行程式碼),簡化 AI 代理的建置。
直接輸出可操作的 Python 程式碼片段,並在沙盒環境中安全執行。
支援多種模型、多模態(文字、圖片、音訊、影片)以及外部工具整合。
3. Novita AI 支援:
與 Smolagents 相容,支援 DeepSeek R1 Turbo 等強大模型,效能更佳且價格實惠。
人工智慧已從模式識別進展至內容生成。下一個重大躍進是 代理型 AI(agentic AI)——能夠自主決策並採取行動,解決複雜的多步驟問題。本文將探討 AI 代理的概念、深入解析程式碼代理的細節、說明如何建置這類代理、比較不同底層模型的效能,並回答關於這項變革性技術的常見問題。
什麼是 AI 代理?
代理型 AI 旨在克服傳統僵化工作流程難以有效處理的挑戰。許多真實場景涉及複雜、細膩的流程,無法完全由靜態、預先定義的 if-else 結構來捕捉。代理型 AI 為工作流程導入靈活性與適應性,讓系統能根據不斷變化的情境動態決定並執行最佳的行動序列。
運作原理?
代理型 AI 透過感知、推理、行動與學習的迭代動態循環來運作。AI 代理以大型語言模型(LLM)作為推理引擎,分析情況、規劃回應、協調專用模型並執行任務。工作流程通常包含以下步驟:
- 資料攝取與感知: 代理從多個來源收集並處理資料,獲得情境感知,以輔助決策。
- 推理與規劃: 代理利用 LLM 解讀資料、推理可能的解決方案、制定策略計畫,並決定達成目標所需的行動。
- 行動與執行: 代理整合外部工具與預先定義的函式,根據推理結果執行任務。它們反覆執行行動、觀察結果並據此調整,直到達成目標。
- 持續學習: 透過回饋迴路與檢索增強生成(RAG)等技術,代理存取專有資料來源,逐步改善理解,持續提升效能、準確度與相關性。
結合這些能力——自主決策、迭代推理、外部工具整合與持續改善——代理型 AI 有效橋接了 LLM 的推理能力與實際世界的執行與適應。

來源:Nvidia
什麼是 smolagents?
Smolagents 是一個輕量級 Python 程式庫,旨在簡化強大 AI 代理的建置。其核心邏輯僅約 1,000 行程式碼,提供極簡的抽象層,讓開發者擁有更大的直接控制權。Smolagents 定位為 transformers.agents 的後繼者,後者最終將被棄用。更多細節請參閱 GitHub!

主要功能 與關鍵機制
✨ 簡潔
- Smolagents 以約 1,000 行程式碼實現強大的 AI 代理邏輯,保持極簡抽象,讓開發者擁有更大彈性(參見
agents.py)。
🧑💻 第一等程式碼代理支援
- Smolagents 的
CodeAgent直接將代理動作輸出為 Python 程式碼片段,而非 JSON 或純文字,從而提升效率與效能。它能在沙盒環境(E2B、Docker)中安全執行程式碼,並同時保留對傳統 JSON/文字代理的支援。
🤗 Hub 整合
- Smolagents 允許透過 Hugging Face Hub 輕鬆分享與載入可重複使用的 Python 工具,促進協作與工具重用。
🌐 模型無關
- Smolagents 支援幾乎任何大型語言模型(LLM)——本機
transformers或ollama模型、Hugging Face 託管模型,以及透過 LiteLLM 使用的外部供應商(如 OpenAI 或 Anthropic)。
👁️ 模態無關
- 使用 Smolagents 建立的代理能無縫處理多種輸入模態,包括文字、圖片、影片與音訊。
🛠️ 工具無關
- Smolagents 能靈活整合來自各種生態系的工具,例如 LangChain、Anthropic 的 MCP,或 Hugging Face Hub Spaces。

如何使用 Smolagents 與 Novita AI API 建置代理?
Novita AI 是一個 AI 雲端平台,為開發者提供簡單 API 快速部署 AI 模型,同時提供實惠且可靠的 GPU 雲端服務,便於建置與擴展。
Smolagents 支援多種大型語言模型(LLM),包含 Novita AI!接下來我們將以 deepseek r1 turbo 為例,展示 Smolagents 與 Novita AI 的強大威力!
值得注意,Novita AI 推出了 Turbo 版本,吞吐量提升 3 倍,並有限時 60% 折扣!
範例
輸入:
import os
from smolagents import OpenAIServerModel, CodeAgent, DuckDuckGoSearchTool
model = OpenAIServerModel(
model_id="deepseek/deepseek-r1-turbo",
api_base="https://api.novita.ai/v3/openai",
api_key="Your API Key" # 換成目標伺服器的 API 金鑰
)
agent = CodeAgent(tools=[DuckDuckGoSearchTool()], model=model)
agent.run("請規劃從上海到北京的週末旅行,包含交通選項、行程安排與必備物品清單")
輸出:
transport = web_search(query="Shanghai to Beijing transportation weekend trip 2024")
print("Transportation options:", transport)
attractions = web_search(query="Beijing 2-day itinerary top attractions 2024")
print("Attraction recommendations:", attractions)
details = web_search(query="Beijing travel must-haves 2024")
print("Essential items and tips:", details)
weekend_plan = {
"Transportation": {
"Recommended Option": "Friday evening G12 train (18:00-22:30) from Shanghai Hongqiao to Beijing South",
"Alternative": "Saturday morning flight (07:00-09:00+transit time)"
},
"Itinerary": {
"Day 1 (Saturday)": [
"08:30 - Tiananmen Square (free entry)",
"10:00 - Forbidden City (booked ticket, 3-4hr tour)",
"14:00 - Temple of Heaven",
"Evening: Houhai Lake dinner + hutongs exploration"
],
"Day 2 (Sunday)": [
"07:00 - Depart for Mutianyu Great Wall (book shuttle/taxi)",
"09:00-12:00 - Great Wall visit (cable car recommended)",
"14:00 - Summer Palace",
"18:00 - Return to city, take G27 train (19:00-23:18) back to Shanghai"
]
},
"Must-Haves": [
"Pre-booked Forbidden City ticket (¥60)",
"Comfortable walking shoes",
"Layered clothing (check weather forecast)",
"Portable WiFi/power bank",
"WeChat Pay/Alipay balance",
"ID/passport for train ticket collection"
]
}
final_answer(weekend_plan)
最終答案
Final answer: {'Transportation': {'Recommended Option': 'Friday evening G12 train (18:00-22:30) from Shanghai Hongqiao to Beijing South', 'Alternative': 'Saturday morning flight (07:00-09:00+transit time)'}, 'Itinerary': {'Day 1 (Saturday)': ['08:30 - Tiananmen Square (free entry)', '10:00 - Forbidden City (booked ticket, 3-4hr tour)', '14:00 - Temple of Heaven', 'Evening: Houhai Lake dinner + hutongs exploration'], 'Day 2 (Sunday)': ['07:00 - Depart for Mutianyu Great Wall (book shuttle/taxi)', '09:00-12:00 - Great Wall visit (cable car recommended)', '14:00 - Summer Palace', '18:00 - Return to city, take G27 train (19:00-23:18) back to Shanghai']},
'Must-Haves': ['Pre-booked Forbidden City ticket (¥60)', 'Comfortable walking shoes', 'Layered clothing (check weather forecast)', 'Portable WiFi/power bank', 'WeChat Pay/Alipay balance', 'ID/passport for train ticket collection']}
Smolagents 中的模型效能比較

更多細節請參閱 Hugging Face
代理型 AI 代表了人工智慧的重大進展,賦予系統自主解決問題與執行任務的能力。Smolagents 提供一個輕量但強大的框架,專為建置智慧代理而設計,強調直接以程式碼為基礎的行動,並與多種大型語言模型(LLM)相容。隨著開源模型快速進步,Smolagents 為開發者提供了易於上手且功能多樣的工具箱,得以在各個領域探索與實現代理型 AI 的無限潛力。
常見問題
代理型 AI 與生成式 AI 的主要差異為何?
生成式 AI 專注於創造新內容(如文字、圖片),而代理型 AI 則專注於做出決策及執行自主任務以達成目標。
在 smolagents 中執行程式碼安全嗎?
smolagents 提供安全的程式碼執行選項,包括使用 E2B 或 Docker 的沙盒環境,可消除對本機系統的風險。
我可以在哪裡找到更多關於 smolagents 的資訊?
您可以在 smolagents 的 GitHub 儲存庫及專屬的 Hugging Face Space 中找到完整的文件、教學與範例。
Novita AI 是一站式雲端平台,助力您的 AI 願景。整合 API、無伺服器、GPU 實例——兼具成本效益的工具。無需管理基礎設施,免費開始,讓您的 AI 願景成為現實。

