KeyFrame

Build Your First AI Agent in Python (Step by Step)

Kevin Stratvert·6月17日週三·12 min英文

三句話摘要

使用開源框架 Agentspan 在 Python 中從零建立具備崩潰恢復能力的 AI Agent。 Agent 能否在生產環境中可靠運作,關鍵在於把狀態交給 server 管理,並確保所有工具都是冪等的——崩潰只是一次可恢復的中斷,而非從頭再來。 工具定義的細節直接影響 AI 是否呼叫它。 函式名稱、參數型別提示、回傳型別、docstring 是 AI 判斷「何時該呼叫此工具」的依據,缺少 docstring 或名稱不具語意,AI 可能完全忽略該工具。

重點整理

重點
  • 1

    工具定義的細節直接影響 AI 是否呼叫它。 函式名稱、參數型別提示、回傳型別、docstring 是 AI 判斷「何時該呼叫此工具」的依據,缺少 docstring 或名稱不具語意,AI 可能完全忽略該工具。

  • 2

    Agent 的執行狀態由 server 持有,而非 Python 程序。 Python 只是 client,真正的 agent runtime 跑在 Agentspan server 上,因此 Python 程序崩潰、重啟,甚至換機器,agent 都能從斷點繼續。

  • 3

    崩潰恢復的關鍵是 execution ID 加上冪等工具。 用 `runtime.start()` 取得 execution ID,崩潰後以該 ID 呼叫 `runtime.resume()` 續跑;工具必須設計為冪等——若目標檔案已有對應內容就跳過寫入,避免重試時產生重複資料。

  • 4

    Agentspan dashboard 提供完整的視覺化 debug 工具。 每次執行都被記錄為一個 execution,可點進去看節點流程圖、每個 tool call 的 input/output,大幅降低 agent 除錯成本。

實用技巧與重點

乾貨
  • Python 最低版本:3.10
  • JDK 推薦版本:25(LTS),21 亦可
  • 套件管理器:uv
  • 框架名稱:Agentspan(開源免費)
  • 健康檢查指令:`uv run agentspan doctor`
  • 啟動 server 指令:`uv run agentspan server start`(首次約 30 秒)
  • 執行 agent 指令:`uv run main.py`(約 10 秒)
  • 支援 AI 供應商:OpenAI、Anthropic Claude、本地 Ollama
  • 模型格式:`provider/model-name`,範例使用 `openai/gpt-4.1-mini`
  • 工具定義:Python 函式 + `@tool` 裝飾器
  • Agent 三要素:`name`、`model`(字串)、`tools`(列表)
  • 崩潰恢復流程:`runtime.start()` → 取得 `execution_id` → 崩潰後 `runtime.resume(execution_id)`
  • 工具冪等設計:寫入前檢查目標檔案是否已含對應內容,有則跳過
  • 示範案例 1:WeatherBot(單工具,串行)
  • 示範案例 2:TestBot(為 price_calculator 模組的 4 個函式並行生成測試,輸出至 `test_price_calculator.py`)
  • 並行 tool call:4 個函式的測試生成同時執行

結論

結論

Agent 能否在生產環境中可靠運作,關鍵在於把狀態交給 server 管理,並確保所有工具都是冪等的——崩潰只是一次可恢復的中斷,而非從頭再來。

完整解析

詳細

現代 AI Agent 的開發門檻看似很高,但這支教學影片用一個完整的實作流程證明,只要掌握正確的框架與概念,任何有基礎 Python 經驗的開發者都能在一個小時內跑起第一個 agent。講者 David 選用開源框架 Agentspan 作為基礎,前置作業僅需安裝 Python 3.10 以上、JDK(推薦最新 LTS 版本 25)以及 Python 套件管理器 uv,接著 `uv add agentspan` 即可完成依賴安裝。Agentspan 本身支援 OpenAI、Anthropic Claude 及本地 Ollama 等多種 AI 供應商,只需設定對應的環境變數(如 `OPENAI_API_KEY`)即可切換。

建立 agent 的流程被拆成三個步驟:定義工具(tool)、定義 agent、撰寫執行程式碼。工具本質上就是一個普通的 Python 函式,加上 `@tool` 裝飾器後便暴露給 AI 使用。這裡有一個初學者常踩的坑:函式名稱、參數的型別提示(type hints)與 docstring 並非可選的文件,而是 AI 判斷何時呼叫這個工具的核心線索。若名稱語意模糊或缺少 docstring,AI 在面對相關問題時可能完全不會觸發該工具。Agent 本身只需三個必填欄位:名稱、模型字串(格式為 `provider/model-name`,影片示範用 `openai/gpt-4.1-mini`)以及工具清單。透過 `AgentRuntime` 連接 Agentspan server 後,呼叫 `runtime.run()` 傳入 prompt 即可啟動。第一個示範是問紐約天氣的 WeatherBot,執行後可在 Agentspan 的 web dashboard 看到完整的執行節點圖,並能點進任何 tool call 查看確切的輸入參數與輸出結果。

第二個示範是 TestBot,目標是為一個包含四個函式的 `price_calculator` 模組自動生成單元測試。此次 agent 會對每個函式並行呼叫 `save_tests` 工具,四個 tool call 同時執行,效率大幅提升,dashboard 也清楚呈現了並行執行的視覺化流程。

更核心的主題是 agent 的崩潰恢復能力。由於 Agentspan 的設計理念是「agent 狀態由 server 持有,Python 程序只是 client」,這讓崩潰恢復成為可能。講者示範在 agent 執行到一半時強制終止 Python 程序,接著從 dashboard 取得該次執行的 execution ID,填入程式碼後重新執行,agent 便從斷點繼續,不會重頭跑。這個機制有一個重要前提:工具必須設計為冪等(idempotent)——即多次執行結果相同。示範中的 `save_tests` 工具在寫入前會先檢查目標檔案是否已含對應測試,若已存在則跳過,確保重試時不會產生重複內容。最終四個函式的測試全數出現在輸出檔案中,且 dashboard 顯示這些 tool call 屬於同一個 execution ID,印證了跨越崩潰的狀態延續。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「AI 技術」的內容

Claude Cowork vs Codex: 誰才是更好的AI工作助手?
16 min
AI 技術中文6月20日

Claude Cowork vs Codex: 誰才是更好的AI工作助手?

李厂长来了

  • 介面設計哲學不同:Codework 以標籤頁區分聊天、文書與程式碼三種模式,任務彼此隔離不混淆;Codex 則將所有功能整合在單一介面,減少切換成本,但頁面相對雜亂。
  • 第三方整合能力差距明顯:Codework 提供大量連接器並支援 Zapier 擴展,且可針對每個連接器精細設定讀寫權限(如 Gmail 只讀免確認、寫信需批准);Codex 的插件數量較少且缺乏同等級的權限控制機制。
  • 定時任務管理方式影響長期使用體驗:Codework 將同一自動化任務的歷史記錄歸類在同一條目下,便於追蹤;Codex 每次執行都獨立列出,隨任務增多左側欄會越來越臃腫,不利於長期管理。
我贏得 NVIDIA GTC Taipei 2026 的金票啦!這 4 天展期會有什麼不一樣的體驗呢? | Computex 2026
編輯精選
28 min
AI 技術中文6月20日

我贏得 NVIDIA GTC Taipei 2026 的金票啦!這 4 天展期會有什麼不一樣的體驗呢? | Computex 2026

EngineerGary

  • Tokenomics 重新定義 AI 工廠價值:黃仁勛將所有輸出重新框架為 Token = Revenue,傳統工廠生產實體商品,AI 工廠改為生產 Token;對製造端而言,目標是以最低成本產生最多 Token,實現每投入 1 元帶回 3–5 元回報的商業邏輯。
  • 開源策略是市場放大器而非讓利:NVIDIA 釋出 Cosmos 3、Apomile 3 等開源模型,以及通用人型機器人,目的是降低新創進入自動駕駛、World Model、Physical AI 的門檻,擴大整體生態系規模,最終帶動更多算力與服務需求(「The more you buy, the more you earn」)。
  • Deal to Delivery Agent 解決中小企業流程瓶頸:Gary 團隊識別出企業收到客戶需求後,需跨工具手動完成報價、開票、GitHub issue、通知等重複性操作是最大效率殺手;Agent 自動拆解商機、建立 ERP 記錄並推送 Telegram 通知,人類只需在 Draft 狀態下做最終 Review 確認。
黃仁勳親自欽點⁉️執笠手機公司 BlackBerry 變身 AI 機械人主系統🤖下一個大浪提前準備
編輯精選
30 min
AI 技術中文6月20日

黃仁勳親自欽點⁉️執笠手機公司 BlackBerry 變身 AI 機械人主系統🤖下一個大浪提前準備

Coco哥

  • QNX 擁有機器人 OS 三大不可替代技術門檻
  • Windows 響應延遲 200 毫秒,Linux 一旦核心崩潰全部失效,而 QNX 具備毫秒級即時決策、ISO 26262 ASIL-D 與 IEC 61508 SIL-3 最高安全認證,以及微型內核獨立架構(單一模組崩潰不影響其餘系統),三項條件同時達標,現階段競爭對手均未能複製。
  • 40 年護城河非短期可追趕