docs/researcher.mdXem bản gốc Bản dịch đầy đủ theo đúng cấu trúc tài liệu; code, liên kết và định danh kỹ thuật được giữ nguyên.
nhà nghiên cứu
Researcher cung cấp cho agent Pydantic AI một ngăn xếp nhỏ gọn để nghiên cứu web rộng rãi với các câu trả lời được hỗ trợ từ nguồn.
Đó là một khả năng kết hợp thông thường được tạo từ khả năng bên dưới, vì vậy bạn có thể sử dụng nguyên trạng hoặc tháo rời.
Mặc dù Pydantic AI Harness có trên các bản phát hành 0.x nhưng API có thể thay đổi giữa các bản phát hành nhỏ; khi đó, cảnh báo ngừng sử dụng và hướng dẫn di chuyển ghi chú phát hành sẽ cho bạn (hoặc người đại diện của bạn) biết chính xác cách nâng cấp. Xem chính sách phiên bản.
Cách sử dụng
Cài đặt dự phòng tìm nạp và tìm nạp cục bộ (tìm kiếm DuckDuckGo, tìm nạp từ trang tới Markdown):
uv add "pydantic-ai-harness[researcher]"
Sau đó hỏi nó một câu hỏi:
from pydantic_ai import Agent
from pydantic_ai_harness import Researcher
agent = Agent('openai:gpt-5.6-sol', capabilities=[Researcher()])
result = agent.run_sync('What changed in the last three major releases of Django?')
print(result.output)
agent tương tự hoạt động với mọi giao diện Pydantic AI: agent.to_cli_sync() để trò chuyện trên terminal, agent.to_web() cho giao diện người dùng trò chuyện trên trình duyệt.
Hoặc bỏ qua toàn bộ tệp và chạy đã xuấtresearcher_agent với clai (Pydantic AI CLI), thông qua uvx:
uvx --with 'pydantic-ai-harness[researcher]' clai -a pydantic_ai_harness.researcher:researcher_agent -m openai:gpt-5.6-sol
Có gì bên trong
Theo nghĩa đen, những khả năng này được kết hợp theo thứ tự sau:
- Hướng dẫn nghiên cứu mặc định ngắn gọn: xem Hướng dẫn bên dưới
- Cốt lõi
WebSearch(local=True): tìm kiếm trên web gốc của nhà cung cấp khi mô hình hỗ trợ nó, với dự phòng DuckDuckGo cục bộ khi không hỗ trợ - Cốt lõi
WebFetch(local=True): đọc các trang phía sau kết quả, gốc ở những nơi được hỗ trợ bằng dự phòng cục bộ, do đó, các xác nhận quyền sở hữu có thể được kiểm tra dựa trên nguồn của chúng SubAgents: ủy quyền, với một trang web tập trungresearcheragent phụ theo mặc địnhToolOutputLimits: giới hạn số lượng ngữ cảnh mà bất kỳ kết quả công cụ đơn lẻ nào có thể sử dụng
Vượt qua subagents=[] để vô hiệu hóa việc ủy quyền hoặc cung cấp quyền của riêng bạn SubAgent mục nhập.
Hướng dẫn
Researcher đi kèm với hướng dẫn nghiên cứu mặc định ngắn (DEFAULT_RESEARCHER_INSTRUCTIONS, được viết đầy đủ dưới dạng tương đương bị thổi phồng bên dưới). Vượt qua instructions='...' để thay thế chúng bằng của riêng bạn, hoặc instructions=None để chỉ nhận được các khả năng mà không có hướng dẫn mặc định nào cả.
Làm cho nó mạnh mẽ hơn
- Nghiên cứu theo một định dạng cụ thể: đưa cho nhân viên một biểu mẫu
output_type: một mô hình phát hiện Pydantic, mỗi mô hình có liên kết nguồn và nhà nghiên cứu trả về dữ liệu có cấu trúc thay vì văn xuôi. - Tìm kiếm chất lượng cao hơn: trao đổi trong
Exa Searchlàm phần phụ trợ tìm kiếm. - Quạt ra: thêm
Dynamic Workflowđể agent có thể sinh ra song song các subagent của nhà nghiên cứu đã nhập và kết hợp các kết quả có cấu trúc của chúng.
Thổi ra tương đương
from pydantic_ai import Agent
from pydantic_ai.capabilities import WebFetch, WebSearch
from pydantic_ai_harness import SubAgent, SubAgents, ToolOutputLimits
instructions = """\
Search broadly before drawing conclusions.
Read the sources that support each important claim.
Prefer primary and authoritative sources.
Cite every factual claim with a direct source link.
Distinguish sourced facts from your own inference.
"""
sub_researcher = SubAgent(
Agent(
name='researcher',
description='Research a focused sub-question on the web and report back with findings and source links',
capabilities=[WebSearch(local=True), WebFetch(local=True), ToolOutputLimits()],
)
)
agent = Agent(
'openai:gpt-5.6-sol',
instructions=instructions,
capabilities=[
WebSearch(local=True), # native provider search, DuckDuckGo fallback on models without it
WebFetch(local=True), # read the pages behind the results, native or local
SubAgents(agents=[sub_researcher], agent_folders=None),
ToolOutputLimits(),
],
)
Xem nguồn.
Tham chiếu API
::: pydantic_ai_harness.researcher.Researcher
::: pydantic_ai_harness.researcher.researcher_agent