SuperAPI AI 工具集

building-pydantic-ai-agents

智能体与模型

查看项目

更新于 10-26 16:20

技能介绍

该技能面向使用 Pydantic AI 构建生产级生成式 AI 应用的开发者,提供模式、架构指导与示例代码。当用户要求构建 AI 智能体、创建 LLM 应用、提及 Pydantic AI,或需要为智能体添加工具、能力(如思考、网页搜索)、结构化输出,或需要从 YAML/JSON 规格定义智能体、用模板字符串定义指令、流式输出智能体事件、在智能体间委派、测试智能体行为时使用;代码导入 pydantic_ai 或引用 Agent、RunContext、Tool 等类,或询问钩子、生命周期拦截、Logfire 可观测性时也适用。不适用于仅使用 Pydantic 校验库(无智能体的 pydantic/BaseModel)、其他 AI 框架(LangChain、LlamaIndex、CrewAI、AutoGen)及与 AI 智能体无关的通用 Python 开发。

主要能力与使用方式包括:用 Agent 创建基础智能体(run_sync 同步运行);用 @agent.tool 添加需要 RunContext 的工具,用 @agent.tool_plain 添加无需上下文的工具;用 output_type 指定 Pydantic 模型实现结构化输出;通过 deps_type 与 @agent.instructions 实现依赖注入与动态指令;用 TestModel 结合 agent.override() 编写确定性单元测试;用 capabilities 组合 Thinking、WebSearch 等可复用能力;用 Hooks 拦截模型请求、工具调用与运行;用 Agent.from_file 从 YAML/JSON 加载智能体。文档还提供任务路由表和按任务族组织的参考文件(核心智能体、能力与钩子、工具核心、内置工具、高级工具、输入与历史、测试与调试、编排与集成、架构与决策指南)。

关键实践:需要 Python 3.10+;可通过 logfire.instrument_pydantic_ai() 实现运行、工具调用和模型请求追踪;用 TestModel 做确定性测试,用 FunctionModel 实现自定义逻辑。常见易错点包括:@agent.tool 首参必须是 RunContext,@agent.tool_plain 不能有该参数;模型字符串需带提供者前缀(如 'openai:gpt-5.2');TestModel 必须通过 agent.override() 使用;output_type 联合类型中包含 str 会允许纯文本结束运行;钩子装饰器名不重复 on_(如 hooks.on.run_error);参数名为 history_processors。