agent.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. """
  2. find_agent 工厂 — 组装 Agent 实例。
  3. 每个业务 Agent 都应提供 create_xxx_agent() 工厂函数,
  4. 统一注册本 Agent 的工具 + 共享基础设施工具。
  5. """
  6. from __future__ import annotations
  7. from pathlib import Path
  8. from supply_agent import Agent
  9. from supply_agent.config import Settings
  10. from agents.demand_belong_category_agent.tools import register_all_tools
  11. from supply_infra.agent_prompt_injection import compose_agent_system_prompt
  12. _PROMPT_PATH = Path(__file__).parent / "prompt" / "system_prompt.md"
  13. DEMAND_BELONG_CATEGORY_AGENT_SYSTEM_PROMPT = _PROMPT_PATH.read_text(encoding="utf-8")
  14. def create_demand_belong_category_agent(
  15. settings: Settings | None = None,
  16. *,
  17. model: str | None = None,
  18. ) -> Agent:
  19. """创建 find_agent 实例,注册所有相关工具。"""
  20. agent = Agent(
  21. settings=settings,
  22. name="demand_belong_category_agent",
  23. model=model,
  24. system_prompt=compose_agent_system_prompt(
  25. DEMAND_BELONG_CATEGORY_AGENT_SYSTEM_PROMPT,
  26. "demand_belong_category_agent",
  27. ),
  28. max_iterations=50,
  29. )
  30. # 本 Agent 专属工具
  31. register_all_tools(agent.tools)
  32. return agent