diff --git a/src/routers/deep_agent_chat.py b/src/routers/deep_agent_chat.py index b9bc830..d77896b 100755 --- a/src/routers/deep_agent_chat.py +++ b/src/routers/deep_agent_chat.py @@ -146,6 +146,13 @@ async def chat_stream(request: DeepAgentChatRequest): "Please strictly follow the above settings in subsequent conversations。" ) initial_messages.append(SystemMessage(content=system_prompt)) + design_backend = f""" + + Category: {cp.type or 'unspecified'} + region: {cp.region or 'unspecified'} + style: {cp.style or 'unspecified'} + + """ # 6. 分支处理 if is_branching: @@ -195,6 +202,9 @@ async def chat_stream(request: DeepAgentChatRequest): if input_image_content: content[0]["text"] += input_image_content + if design_backend: + content[0]["text"] += design_backend + message_list = [{"role": "user", "content": content}] final_messages = {"messages": message_list, "files": files} logger.info(final_messages) @@ -210,7 +220,7 @@ async def chat_stream(request: DeepAgentChatRequest): subgraphs=True, context=Context(use_report=request.use_report, language=request.language, - type=request.config_params.type , + type=request.config_params.type, region=request.config_params.region, style=request.config_params.style, ), diff --git a/src/server/deep_agent/agents/main_agent.py b/src/server/deep_agent/agents/main_agent.py index df3de7b..a82b1aa 100755 --- a/src/server/deep_agent/agents/main_agent.py +++ b/src/server/deep_agent/agents/main_agent.py @@ -106,6 +106,8 @@ def user_role_prompt(request: ModelRequest) -> str: # ==================== 家具设计背景(加强版) ==================== design_context = f""" + 当用户消息中首次出现 标签时,你必须将标签内的品类、区域、风格视为本次对话的**核心设计背景**,所有设计决策、图片生成、线稿、渲染图都必须严格符合该背景。 + [Internal highest priority design background - only for thinking, not output to users] Furniture design settings selected by the current user: - Category: {ctx.type or 'unspecified'} @@ -150,7 +152,7 @@ def user_role_prompt(request: ModelRequest) -> str: """ # ==================== 最终组合(设计背景放最前面) ==================== final_prompt = ( - design_context + + # design_context + "\n\n" + language_prompt + "\n\n" + diff --git a/src/server/deep_agent/init_prompt.py b/src/server/deep_agent/init_prompt.py index 7ea33f6..f9d427e 100755 --- a/src/server/deep_agent/init_prompt.py +++ b/src/server/deep_agent/init_prompt.py @@ -191,21 +191,20 @@ When generating new furniture sketches: 【2】When the user requests reports, research, analysis, or summaries: - First check if sufficient user profile information exists. -- If information is missing (style, room type, theme, budget, etc.): Call `user_profile_subagent` to collect data. Do not generate the report directly. -- If the user profile is already complete: Call `research_subagent` to generate the report. +- If information is missing: Use the **task** tool to dispatch the **user_profile_subagent** subagent. Do NOT attempt to call user_profile_subagent as a standalone tool. +- If the user profile is already complete: Use the **task** tool to dispatch the **research_subagent** subagent. -【3】User Profile Priority Rules -Whenever the user input involves: -- Expressing design requirements -- Providing or modifying preferences (style, room type, budget, etc.) -- Supplementing report-related information -→ Prioritize calling `user_profile_subagent` to update or collect user profile data. +Example of correct invocation: + task(subagent_name="user_profile_subagent", input="收集用户的风格偏好、房间类型、预算等信息") + +【3】User Profile Priority Rules (Limited Scope) +- **This rule only applies to report/research/analysis/summary tasks.** +- Furniture design, image generation and editing tasks are exempted from user profile collection and must not dispatch user_profile_subagent. 【4】Scheduling Principles -- `user_profile_subagent` is only responsible for **information collection**. -- `research_subagent` is only responsible for **report generation**. -- `generate_furniture_sketch_prompts` is only responsible for **professional prompt generation for furniture sketches**. -Do not mix their responsibilities. +- **user_profile_subagent** is a subagent (not a tool) — dispatch it via the **task** tool. +- **research_subagent** is a subagent (not a tool) — dispatch it via the **task** tool. +- Do NOT call them as direct tool calls. ======================== Critical Prohibitions (Highest Priority)