適用於 Openclaw 的 PydanticAI 測試技能

一個全面的 PydanticAI agent 測試框架,具有確定性模型、API 錄製和自動快照功能。

anderskev
v1.0.1
Apr 22, 2026
0
929
0

安裝與下載

1. ClawHub CLI

從來源直接安裝技能的最快方式。

npx clawhub@latest install pydantic-ai-testing

2. 手動安裝

將技能資料夾複製到以下位置之一

全域模式
~/.openclaw/skills/
工作區
<project>/skills/

優先級:工作區 > 本地 > 內建

3. 提示詞安裝

將此提示詞複製到 OpenClaw 即可自動安裝。

請幫我使用 Clawhub 安裝 pydantic-ai-testing。如果尚未安裝 Clawhub,請先安裝(npm i -g clawhub)。

想要直接下載?

取得包含原生技能檔案的ZIP壓縮檔。

什麼是 PydanticAI 測試技能?

pydantic-ai-testing 技能提供了一套強大的工具,旨在確保 AI agent 的行為可預測且可靠。透過利用 Openclaw Skills 進行測試,開發人員可以擺脫不穩定的 LLM 呼叫,轉向使用專業測試模型和錄製交互的確定性 CI/CD 流水線。

該技能彌合了 LLM 的非確定性特徵與軟體工程嚴格要求之間的鴻溝。它使開發人員能夠 mock 複雜的 agent 行為,驗證工具執行,並透過整合的 pytest 支援和快照測試保持高標準的代码品質。

PydanticAI 測試技能 應用場景

  • 在不產生 LLM API 成本或延遲的情況下為 AI agent 建立單元測試。
  • Mock 特定的工具呼叫序列,以驗證業務邏輯和依賴注入。
  • 透過 VCR cassettes 錄製真實的 LLM 交互,用於回歸測試和偵錯。
  • 使用內聯快照自動更新並針對複雜的 agent 輸出結構進行斷言。
  • 驗證 agent 是否正確處理依賴關係和 mock 資料庫連接。

PydanticAI 測試技能 運作原理

  1. 開發人員設定 TestModel 或 FunctionModel,以在測試執行期間覆蓋標準的 LLM 提供商。
  2. 對於錄製的測試,@pytest.mark.vcr 裝飾器擷取真實的 API 請求並將其儲存到本地 YAML cassettes。
  3. agent.override 上下文管理器將 mock 依賴和測試模型注入到 agent 的執行生命週期中。
  4. 在執行期間,框架擷取所有 ModelMessages 和回應,用於執行後檢查和斷言。
  5. 斷言針對內聯快照或手動定義的值進行驗證,以確保 agent 的邏輯在代碼更改後保持完整。

PydanticAI 測試技能 設定指南

要開始使用這些用於測試的 Openclaw Skills,請確保已安裝 pytest 和 pydantic-ai。在您的 pyproject.toml 中加入以下配置:

[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"

使用以下 CLI 命令執行您的測試套件:

# 執行所有測試
uv run pytest tests/test_agent.py -v

# 錄製或重寫 VCR cassettes
uv run pytest --record-mode=rewrite tests/

# 更新內聯快照
uv run pytest --inline-snapshot=fix

PydanticAI 測試技能 資料結構與分類體系

該技能透過結構化的檔案系統方法組織測試產物和元數據:

資料類型 儲存位置 格式 描述
VCR Cassettes tests/cassettes/*.yaml YAML 與 LLM 提供商錄製的 HTTP 交互。
內聯快照 .py 檔案內聯 String/Python 直接儲存在原始碼中的預期輸出。
測試日誌 CLI 輸出 文字 訊息部分和工具呼叫的詳細日誌。
依賴 Mock 記憶體中 Python 物件 透過 agent.override 注入的 Mock 服務。

PydanticAI 測試技能 進階特性

  • 透過巢狀 agent 呼叫中的遞迴模型覆蓋支援多 agent。
  • 使用 TestModel 中的種子值產生確定性隨機輸出,以實現可重現的失敗。
  • 強制呼叫特定工具,以測試工具執行邏輯中的邊緣情況。
  • 使用 FunctionModel 進行完整的模型邏輯自定義,用於複雜的基於狀態的回應。
  • 訊息擷取工具,用於檢查執行的完整對話歷史,以便進行審計或合規性測試。

SKILL.md


加載中

Openclaw 相關技能

METADATA

Github Stars: 0
forks: 0

精選*