| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- """
- 运行配置 — 自动化投放 Agent 系统
- """
- from pathlib import Path
- from agent.core.runner import RunConfig, KnowledgeConfig
- # ===== 工具白名单 =====
- # 只暴露业务工具,避免 LLM 误调 IM/知识库/浏览器等非业务工具
- ANALYSIS_TOOLS = [
- # 数据查询
- "data_query",
- "data_aggregate",
- "get_ad_current_status",
- # 广告 API(只读)
- "account_get_info",
- "ad_get_list",
- "ad_get_report",
- "creative_get_report",
- "asset_get_list",
- "audience_get_list",
- # 人群定向
- "audience_build_targeting",
- "audience_recommend_targeting",
- # 监控
- "monitor_check_metrics",
- ]
- EXECUTION_TOOLS = ANALYSIS_TOOLS + [
- # 执行类工具(仅执行 Agent 使用)
- "bid_adjustment_execute",
- "ad_create",
- "ad_update",
- "ad_batch_update_status",
- "creative_create",
- "creative_update",
- "monitor_circuit_break",
- ]
- # ===== Main Agent 配置(统一入口) =====
- MAIN_CONFIG = RunConfig(
- model="qwen/qwen3.5-plus-02-15",
- temperature=0.3,
- max_iterations=50,
- name="投放决策中枢",
- tools=ANALYSIS_TOOLS + ["agent"], # 加入 agent 工具用于调度子 Agent
- skills=["planning", "ad_domain"], # Main Agent 只需要通用知识
- extra_llm_params={"extra_body": {"enable_thinking": True}},
- knowledge=KnowledgeConfig(
- enable_extraction=False,
- enable_completion_extraction=False,
- enable_injection=False,
- owner="ad_placement_team",
- ),
- )
- # ===== Budget Agent 配置 =====
- BUDGET_CONFIG = RunConfig(
- model="qwen/qwen3.5-plus-02-15",
- temperature=0.3,
- max_iterations=30,
- name="预算出价Agent",
- tools=[
- # 配置层
- "load_strategy_config", "update_strategy_config", "get_config_history",
- # 数据获取
- "get_ad_performance", "get_account_summary", "data_query",
- # 计算
- "compute_budget_thresholds", "classify_ads", "compute_bid_adjustment",
- # 只读 API
- "ad_get_list", "ad_get_report",
- ],
- skills=["ad_domain", "budget_strategy"], # 只注入预算相关知识
- extra_llm_params={"extra_body": {"enable_thinking": True}},
- knowledge=KnowledgeConfig(
- enable_extraction=False,
- enable_completion_extraction=False,
- enable_injection=False,
- owner="ad_placement_team",
- ),
- )
- # ===== 执行 Agent 配置 =====
- EXECUTE_CONFIG = RunConfig(
- model="qwen/qwen3.5-plus-02-15",
- temperature=0.1, # 执行Agent更低温度,减少随机性
- max_iterations=30,
- name="投放执行系统",
- tools=EXECUTION_TOOLS,
- skills=["planning", "ad_domain", "budget_strategy", "monitor_rules"],
- extra_llm_params={"extra_body": {"enable_thinking": True}},
- knowledge=KnowledgeConfig(
- enable_extraction=False,
- enable_completion_extraction=False,
- enable_injection=False,
- owner="ad_placement_team",
- ),
- )
- # 向后兼容:默认使用 Main Agent
- RUN_CONFIG = MAIN_CONFIG
- # 基础设施配置
- SKILLS_DIR = str(Path(__file__).parent / "skills")
- TRACE_STORE_PATH = ".trace"
- LOG_LEVEL = "INFO"
- LOG_FILE = None
|