
2025年10月,一個叫做 “ai‑agents‑from‑scratch” 嘅GitHub開源項目以驚人速度走紅,短短兩個星期內攞到 42k+ Star、18k+ Fork,成為AI開發者社群嘅「新聖經」。項目作者 pguso(化名)用極簡主義手法,唔夠 2000行Python代碼,由零實現咗一個完整可運行嘅AI Agent系統——毋須LangChain、LlamaIndex等重型框架,徹底打破咗「AI Agent必須依賴複雜生態」嘅行業共識。本文深入拆解該項目嘅核心架構、技術亮點同潛在影響,為開發者提供由零構建智能代理嘅實戰路線圖。
一、項目定位:極簡至上,回歸本質
同市面上動輒數十萬行代碼嘅Agent框架唔同,ai‑agents‑from‑scratch 嘅設計哲學係 “Do One Thing and Do It Well”。項目目標好明確:
用最少代碼,實現一個能感知、思考、行動、反思嘅完整Agent閉環。
佢唔係追求功能堆砌,而係聚焦四大核心模塊:
- 感知(Perception):由文本、圖像、API輸入提取結構化資訊
- 記憶(Memory):向量數據庫 + 短期/長期記憶分層
- 規劃(Planning):ReAct + 自省式Chain‑of‑Thought
- 執行(Execution):工具調用(Tool Use)同環境互動
成個系統運行喺 單文件 agent.py 裏面,配合 tools/ 目錄嘅輕量工具,就可以完成由「查天氣」到「自動發郵件」再到「分析PDF並生成報告」嘅完整任務流程。
二、核心技術拆解:極簡中嘅巧思
1. 感知層:多模態輸入嘅“零依賴”解析
項目摒棄咗LangChain嘅Document Loaders,轉而使用原生Python庫:
def load_pdf(path):
return PyPDF2.PdfReader(path).pages
def load_image(path):
return PIL.Image.open(path)
通過函數式管道(functional pipeline)將原始輸入轉為統一Message對象,格式為:
{"role": "user", "content": "圖中是...", "modality": "image"}
呢種設計令Agent天然支持多模態,而唔使引入額外依賴。
2. 記憶系統:SQLite + FAISS 嘅“輕量混合存儲”
長期記憶用FAISS向量索引(本地文件 <32MB),短期記憶就存喺 SQLite 事務表:
# 自动摘要 + 嵌入 summary = llm.summarize(conversation[-10:]) vector = embedder.encode(summary) faiss_index.add(vector)
當上下文超窗(default 16k tokens)時,系統會自動:
- 壓縮歷史對話做摘要
- 檢索相關記憶片段注入提示
- 保留關鍵事實(例如用戶偏好)
呢個機制喺 <100ms 內完成檢索,遠超傳統RAG系統嘅延遲。
3. 規劃引擎:ReAct + Self‑Reflection 雙驅動
項目實現咗一個純函數式ReAct循環:
while not task.done:
thought = llm.think(observation)
action = llm.act(thought)
observation = execute(action)
reflection = llm.reflect(thought, action, observation)
關鍵創新喺於 Self‑Reflection 模塊:Agent會喺每一步後自我評估:
「呢個動作係咪推進咗目標?有冇更好嘅方案?」
呢一步靠提示工程實現,唔使額外訓練,但顯著提升複雜任務嘅成功率(根據項目自測由67%提昇到91%)。
4. 工具系統:JSON Schema + 動態註冊
所有工具以JSON Schema定義:
TOOLS = {
"send_email": {
"description": "发送邮件",
"parameters": {"to": "str", "subject": "str", "body": "str"}
}
}
LLM輸出結構化JSON → 解析 → 執行 → 返回結果。支持熱插拔:運行時可以通過register_tool()加入新功能。
三、性能實測:輕量但強悍
作者喺 MacBook Air M2 上做基準測試(GPT‑4o‑mini + Qwen2‑7B):

相比LangChain Agent(平均延遲3倍、內存2倍),ai‑agents‑from‑scratch 喺資源受限環境下表現好搶眼。
四、社區反響與生態影響
項目發布後,迅速引發熱議:
- HuggingFace 官方將佢列為「推薦輕量Agent模板」
- LangChain核心開發者喺X上評論:「呢個先係Agent應該有嘅樣——透明、可控、可教學」
- 教育機構(如CMU、Stanford)已經將佢納入「AI系統設計」課程嘅實驗項目
仲有開發者基於此衍生出:
- ai‑agents‑web:Flask前端可視化界面
- ai‑agents‑mcp:Minecraft插件版Agent
- ai‑agents‑cli:終端命令行工具
五、局限與未來方向
雖然極簡高效,項目仍存在明顯短板:
- 缺乏分布式支持:單機運行,無法處理高並發
- 工具安全待加強:無沙箱機制,易被惡意提示攻破
- 可觀測性弱:無日誌中心、鏈路追蹤
作者喺README入面清楚表示:
「呢個唔係生產就緒系統,而係教學同原型工具。歡迎fork並加強。」
社區已經提出多個改進方向:
- 整合 LiteLLM 支持多模型統一介面
- 引入 Docker + FastAPI 實現微服務部署
- 開發 VS Code插件 實現「拖拽式Agent構建」
六、結語:極簡即極致,Agent開發嘅新範式
ai‑agents‑from‑scratch 嘅爆紅唔係偶然。佢證明咗一個事實:
複雜嘅AI系統,都可以用簡單嘅方式構建、理解同擴展。
喺LangChain、AutoGPT等「黑盒框架」主導嘅市場入面,呢個項目好似一陣清風,提醒開發者:
- Agent嘅核心唔係框架,而係循環:感知‑思考‑行動‑反思
- 可解釋性 > 功能完整性
- 100行可讀代碼 > 10000行依賴地獄
對初學者嚟講,佢係最佳入門項目;對老手嚟講,佢係重構複雜系統嘅參考藍圖。正如pguso喺提交日誌入面寫:
“Build agents like you build Lego — one block at a time.”
喺AI Agent百花齊放嘅2025年,呢個極簡項目可能正悄悄掀起一場「回歸本質」嘅技術革命。