planner.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import sys
  2. from pathlib import Path
  3. path = Path(__file__).resolve().parent.parent
  4. sys.path.insert(0, str(path))
  5. import json
  6. from llm_client import get_llm
  7. llm = get_llm()
  8. def create_plan(goal: str) -> list:
  9. """根据用户目标生成任务列表,返回 [{"task_id": 1, "task": "..."}]"""
  10. prompt = f"""你是一名专业任务规划专家。
  11. 用户目标:
  12. {goal}
  13. 请将这个复杂目标拆解成多个独立任务。
  14. 要求:
  15. 1. 每个任务可以单独执行
  16. 2. 不要执行任务,只负责规划
  17. 3. 返回 JSON,不要 Markdown
  18. 格式:
  19. [
  20. {{
  21. "task_id": 1,
  22. "task": "任务描述"
  23. }}
  24. ]
  25. """
  26. response = llm.invoke(prompt)
  27. plan = json.loads(response.content)
  28. return plan
  29. # =====================================
  30. # 测试 Planner
  31. # =====================================
  32. if __name__ == "__main__":
  33. goal = "分析2025年AI Agent市场,并生成行业研究报告。"
  34. plan = create_plan(goal)
  35. print("=" * 50)
  36. print("生成计划:")
  37. print("=" * 50)
  38. for item in plan:
  39. print(f"Step {item['task_id']}:{item['task']}")