pydantic/pydantic-ai-harness:從 README 拆解能力、入口與使用界線
Pydantic AI 代理的電池。 Pydantic AI 核心提供了需要模型或框架支援的功能,以及每個代理網路搜尋、工具搜尋、思維的基礎功能。
秒懂
- 它是什麼?
- Batteries for your Pydantic AI agent. Pydantic AI core ships capabilities that require model or framework support, and capabilities fundamental to every agent web search, tool search, thinking.。本文根據 pydantic/pydantic-ai-harness 的 README 與基線,整理功能範圍、操作線索、版本訊號與採用限制。
- 適合誰用?
- pydantic/pydantic-ai-harness 適合需要 README 已列出能力,並能管理其輸入、依賴與執行環境的使用者;不適合把文件未說明的相容性或效能當成保證。先依 pydantic-ai-harness README 的專案專屬入口跑最小案例,觀察具體輸出、錯誤文字與產物位置,再決定是否接入正式流程。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫在最近一天內有新的提交。
- 用什麼語言寫的?
- 主要是 Python(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月19日)與我們的分析,不構成法律意見。
開源專案深度解析
pydantic-ai-harness:Pydantic AI 代理的電池
Pydantic AI Harness 是 Pydantic AI 的官方能力庫,由 Pydantic AI 團隊維護。Pydantic AI 核心內建需要模型或框架支援的能力,以及每個代理都基礎的能力,例如 WebSearch、ToolSearch 與 Thinking。其餘能力都放在這裡:你可以挑選的獨立建構區塊,用來把代理變成編碼代理、研究助手或其他形態。新能力從這裡起步,在穩定並證明有廣泛必要性後,可以升入核心。README 將這個套件描述為 Pydantic AI 代理的電池。
pydantic/pydantic-ai-harness 的 README 在本節留下具體線索:[](https://github.com/pydantic/pydantic-ai-harness/actions/workflows/main.yml?query=branch%3Amain)。這使判斷可以落在專案自己的命令、檔案或設定名稱上,而不是泛泛比較同類工具。另一段文件內容指出:[](https://pypi.python.org/pypi/pydantic-ai-harness)。兩項資訊合看,能分出已記載的能力與尚未交代的行為。
[](https://github.com/pydantic/pydantic-ai-harness)。採用前可在隔離目錄依 README 的 pydantic-ai-harness 入口建立最小案例,保存輸入、輸出、終端錯誤與產物路徑;若本節涉及服務、模型或資料,先使用非正式資料,並逐項確認環境變數與依賴版本。這種核對要針對 pydantic/pydantic-ai-harness 的實際入口進行,不把文件中的示例直接當成效能或穩定性承諾。README 沒有說明的相容性、併發量與故障恢復方式,應保留為待查事項。對照 main 分支與 releases 頁面時,請記錄版本差異,再判斷本節描述是否仍適用。這項限制對 pydantic-ai-harness 很重要,因為倉庫的描述範圍、安裝步驟和實際部署條件未必相同。
pydantic-ai-harness:安裝與 extras
README 使用 uv 說明安裝。基礎指令是 `uv add pydantic-ai-harness`。按能力區分的 extras 包括 `codemode`、`dynamic-workflow`、`modal`、`logfire`、`exa`、`skills`、`browser-use`、`stackone`、`acp` 與 `mongodb`;`code-mode` 也被接受為別名。套件要求 Python 3.10+ 與 `pydantic-ai-slim>=2.18.0`。README 沒有說明 pip、poetry 或其他安裝方式,因此這些仍未得到證實。
pydantic/pydantic-ai-harness 的 README 在本節留下具體線索:[](https://github.com/pydantic/pydantic-ai-harness/blob/main/LICENSE)。這使判斷可以落在專案自己的命令、檔案或設定名稱上,而不是泛泛比較同類工具。另一段文件內容指出:[](https://logfire.pydantic.dev/docs/join-slack/)。兩項資訊合看,能分出已記載的能力與尚未交代的行為。
Your agent's favorite harness, built on Pydantic AI。採用前可在隔離目錄依 README 的 pydantic-ai-harness 入口建立最小案例,保存輸入、輸出、終端錯誤與產物路徑;若本節涉及服務、模型或資料,先使用非正式資料,並逐項確認環境變數與依賴版本。這種核對要針對 pydantic/pydantic-ai-harness 的實際入口進行,不把文件中的示例直接當成效能或穩定性承諾。README 沒有說明的相容性、併發量與故障恢復方式,應保留為待查事項。對照 main 分支與 releases 頁面時,請記錄版本差異,再判斷本節描述是否仍適用。這項限制對 pydantic-ai-harness 很重要,因為倉庫的描述範圍、安裝步驟和實際部署條件未必相同。
pydantic-ai-harness:快速入門:CodeMode、MCP 與 WebSearch
快速入門範例建立了一個帶三個能力的代理:`CodeMode()`、`MCP('https://hn.caseyjhand.com/mcp', native=False)` 與 `WebSearch(native=False)`。CodeMode 將所有工具包裝成一個由 Monty 沙箱化的 `run_code` 工具,因此模型可以編寫 Python,在一次往返中用迴圈、條件、asyncio.gather 與本地篩選呼叫多個工具。使用 `native=False` 時,MCP 使用本地工具集,讓 CodeMode 可以包裝這些工具;WebSearch 則透過本地 DuckDuckGo 後備路由。範例使用 Logfire 做追蹤,並指定一個 Anthropic 模型;README 附有該次執行的公開 Logfire 追蹤連結。
pydantic/pydantic-ai-harness 的 README 在本節留下具體線索:Pydantic AI Harness is the official [capability](https://ai.pydantic.dev/capabilities/overview/) and harness library for [Pydantic AI](https://ai.pydantic.dev/). Every Pydantic AI agent already has a light harness: the typed agent loop, [any model](https://ai.pydantic.dev/models/), your own tools, structured output. For simple agents that's enough. But set an agent loose on complex, long-running work (fix a codebase, research a question, run for hours unattended) and what it needs around the model grows: a [workspace](pydanticaiharness/filesystem/) to act in, a [plan](pydanticaiharness/planning/) it keeps current, [memory](pydanticaiharness/memory/) that carries across sessions, [sub-agents](pydanticaiharness/subagents/) to hand work to, [context management](pydanticaiharness/compaction/) that holds up in hour ten, and [durable execution](https://ai.pydantic.dev/capabilities/durableexecution/overview/) that survives a restart. Pydantic AI Harness ships that harness.。這使判斷可以落在專案自己的命令、檔案或設定名稱上,而不是泛泛比較同類工具。另一段文件內容指出:Everything here is one primitive: a [capability](https://ai.pydantic.dev/capabilities/), a self-contained unit of agent behavior you add to capabilities=[...] on any agent. There are [30+ of them](capabilities), and complete agents like [Coder](pydanticaiharness/coder/) and [Researcher](pydanticaiharness/researcher/) are themselves capabilities combined: they come apart the way they went together. Snap on a single block, compose your own stack, or start from the whole coding agent and take it apart later.。兩項資訊合看,能分出已記載的能力與尚未交代的行為。
Install with [uv](https://docs.astral.sh/uv/):。採用前可在隔離目錄依 README 的 pydantic-ai-harness 入口建立最小案例,保存輸入、輸出、終端錯誤與產物路徑;若本節涉及服務、模型或資料,先使用非正式資料,並逐項確認環境變數與依賴版本。這種核對要針對 pydantic/pydantic-ai-harness 的實際入口進行,不把文件中的示例直接當成效能或穩定性承諾。README 沒有說明的相容性、併發量與故障恢復方式,應保留為待查事項。對照 main 分支與 releases 頁面時,請記錄版本差異,再判斷本節描述是否仍適用。這項限制對 pydantic-ai-harness 很重要,因為倉庫的描述範圍、安裝步驟和實際部署條件未必相同。
pydantic-ai-harness:DynamicWorkflow:子代理編排
DynamicWorkflow 對子代理做的事,相當於 CodeMode 對工具做的事。沒有它,編排器一次只委派一個工具呼叫,十次委派就要十次模型往返。有了它,模型編寫一個 Python 腳本,每個子代理是一個非同步函式,整棵呼叫樹在單次工具呼叫中執行。README 將 `max_agent_calls` 列為對子代理執行的精確、由主機強制執行的限制,並且預設情況下整棵樹的 token 消耗計入父執行的 usage。`defer_loading=True` 會在模型載入該能力之前把目錄排除在提示之外,`reveal()` 可以在執行中途新增子代理而不打擾提示快取。該 API 在計劃中的擴充確定呼叫契約之前可能變化;可行時,破壞性變更會附帶棄用警告。
pydantic/pydantic-ai-harness 的 README 在本節留下具體線索:uv add "pydantic-ai-harness[anthropic]"。這使判斷可以落在專案自己的命令、檔案或設定名稱上,而不是泛泛比較同類工具。另一段文件內容指出:from pydanticai import Agent。兩項資訊合看,能分出已記載的能力與尚未交代的行為。
from pydanticaiharness import Coder。採用前可在隔離目錄依 README 的 pydantic-ai-harness 入口建立最小案例,保存輸入、輸出、終端錯誤與產物路徑;若本節涉及服務、模型或資料,先使用非正式資料,並逐項確認環境變數與依賴版本。這種核對要針對 pydantic/pydantic-ai-harness 的實際入口進行,不把文件中的示例直接當成效能或穩定性承諾。README 沒有說明的相容性、併發量與故障恢復方式,應保留為待查事項。對照 main 分支與 releases 頁面時,請記錄版本差異,再判斷本節描述是否仍適用。這項限制對 pydantic-ai-harness 很重要,因為倉庫的描述範圍、安裝步驟和實際部署條件未必相同。
pydantic-ai-harness:能力矩陣與生態套件
README 包含一個能力矩陣,把對生產代理重要的每個能力領域都記錄為 issue。類別包括模型協作、工具與執行、編輯器整合、提示管理、上下文管理、記憶與持久化、代理編排、安全與護欄、可靠性、推理。每一行都有狀態標記,並在適用處列出社群替代方案。有些能力標記為完成,有些透過 pull request 建置中,有些位於 Pydantic AI 核心而非本倉庫。vstorm-co 的套件得到 Pydantic AI 團隊的認可,團隊表示正在與他們合作,將部分實作上游化到本倉庫。README 請使用者在連結的 PR 或 issue 上投票,以決定優先順序。
pydantic/pydantic-ai-harness 的 README 在本節留下具體線索:agent = Agent('anthropic:claude-fable-5', capabilities=[Coder()])。這使判斷可以落在專案自己的命令、檔案或設定名稱上,而不是泛泛比較同類工具。另一段文件內容指出:result = agent.runsync('Find out why tests/testparser.py fails and fix the bug it caught.')。兩項資訊合看,能分出已記載的能力與尚未交代的行為。
> Found it: parse() returned None on empty input instead of raising. Fixed in src/parser.py; tests pass now.。採用前可在隔離目錄依 README 的 pydantic-ai-harness 入口建立最小案例,保存輸入、輸出、終端錯誤與產物路徑;若本節涉及服務、模型或資料,先使用非正式資料,並逐項確認環境變數與依賴版本。這種核對要針對 pydantic/pydantic-ai-harness 的實際入口進行,不把文件中的示例直接當成效能或穩定性承諾。README 沒有說明的相容性、併發量與故障恢復方式,應保留為待查事項。對照 main 分支與 releases 頁面時,請記錄版本差異,再判斷本節描述是否仍適用。這項限制對 pydantic-ai-harness 很重要,因為倉庫的描述範圍、安裝步驟和實際部署條件未必相同。
pydantic-ai-harness:版本策略、貢獻與授權
Pydantic AI Harness 採用 0.x 版本號。README 說明這正是它獨立於 Pydantic AI 單獨發布的原因,Pydantic AI 有更嚴格的版本策略。次要版本可能包含破壞性變更;修補版本不會故意破壞現有行為。破壞性變更會記錄在發行說明中,並附遷移指南;可行時,舊行為會以棄用名稱或設定選項保留。能力是 Pydantic AI 的主要擴充點;README 建議參考本倉庫已有能力來建構自己的能力,並提到獨立套件使用 `pydantic-ai-<name>` 命名約定。貢獻從 issue 開始,然後是 PR;非團隊成員修改 `pyproject.toml` 或 `uv.lock` 的 PR 會被 CI 自動關閉,以防止供應鏈風險。README 中的開發指令是 `make install`、`make format`、`make lint`、`make typecheck`、`make test` 與 `make testcov`。套件採用 MIT 授權,版權歸 Pydantic Services Inc. 2026。授權授予使用、複製、修改、合併、發布、散布、再授權與銷售副本的權利,並且不提供任何擔保。倉庫材料沒有確立支援承諾、安全保證或生產就緒性。
pydantic/pydantic-ai-harness 的 README 在本節留下具體線索:That's a complete [coding agent](pydanticaiharness/coder/): [workspace-rooted file access](pydanticaiharness/filesystem/), [allowlisted shell](pydanticaiharness/shell/), [repo orientation](pydanticaiharness/repocontext/), [planning](pydanticaiharness/planning/), a read-only [explorer sub-agent](pydanticaiharness/subagents/), and [context management](pydanticaiharness/compaction/) that survives long sessions, and it runs anywhere a Pydantic AI agent runs. [agent.toclisync()](https://ai.pydantic.dev/cli/) opens it as a chat in your terminal, [agent.toweb()](https://ai.pydantic.dev/web/) in the browser, and [Coder](pydanticaiharness/coder/)'s exported coderagent runs without writing a file at all, combined with [clai](https://ai.pydantic.dev/cli/) (the Pydantic AI CLI) and [uvx](https://docs.astral.sh/uv/guides/tools/):。這使判斷可以落在專案自己的命令、檔案或設定名稱上,而不是泛泛比較同類工具。另一段文件內容指出:uvx --with pydantic-ai-harness clai -a pydanticaiharness.coder:coderagent -m anthropic:claude-fable-5。兩項資訊合看,能分出已記載的能力與尚未交代的行為。
Every model works: swap the string for [any provider's](https://ai.pydantic.dev/models/). Need more? Add capabilities to the list; here's the same coder on gpt-5.6-sol, with web search and cross-session memory:。採用前可在隔離目錄依 README 的 pydantic-ai-harness 入口建立最小案例,保存輸入、輸出、終端錯誤與產物路徑;若本節涉及服務、模型或資料,先使用非正式資料,並逐項確認環境變數與依賴版本。這種核對要針對 pydantic/pydantic-ai-harness 的實際入口進行,不把文件中的示例直接當成效能或穩定性承諾。README 沒有說明的相容性、併發量與故障恢復方式,應保留為待查事項。對照 main 分支與 releases 頁面時,請記錄版本差異,再判斷本節描述是否仍適用。這項限制對 pydantic-ai-harness 很重要,因為倉庫的描述範圍、安裝步驟和實際部署條件未必相同。
編輯結論
pydantic/pydantic-ai-harness 適合需要 README 已列出能力,並能管理其輸入、依賴與執行環境的使用者;不適合把文件未說明的相容性或效能當成保證。先依 pydantic-ai-harness README 的專案專屬入口跑最小案例,觀察具體輸出、錯誤文字與產物位置,再決定是否接入正式流程。
社群筆記