diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/planning_session_v2.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/planning_session_v2.rs index 5b2294bc0..9a6b6fe99 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/planning_session_v2.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/planning_session_v2.rs @@ -769,17 +769,16 @@ fn prepare_turn_v2( } fn planning_v2_question_policy(session: &PlanningSessionV2) -> String { + if session.question_count >= 3 { + return "已达到 3 轮问询上限,本轮整理当前信息并调用 plan_submit_gdd。".to_string(); + } match session.question_limit { Some(limit) if session.question_count >= limit => format!( "当前已向用户展示 {} 个有效问题;已达到问询上限,禁止再调用 plan_ask_question,必须调用 plan_submit_gdd 提交完整 GDD。", session.question_count ), - Some(_limit) => format!( - "当前已向用户展示 {} 个有效问题;只有确实影响首个可玩闭环且无法合理默认的空白才调用 plan_ask_question。", - session.question_count - ), - None => format!( - "当前已向用户展示 {} 个有效问题,问题数不设上限;只有确实影响首个可玩闭环且无法合理默认的空白才调用 plan_ask_question。", + _ => format!( + "当前已向用户展示 {} 个有效问题。整个会话最多提问 3 轮;本轮可以继续问一个最重要的未决设计问题,也可以在信息足够时直接提交 GDD。", session.question_count ), } @@ -790,7 +789,7 @@ fn planning_v2_system_prompt(session: &PlanningSessionV2) -> String { // 问询策略只是偏好,两者不要求数值一致。这里仅传当前已展示数, // 达到硬上限时再明确禁止本次继续提问。 format!( - "你是立项策划 Agent。当前会话 {},回合 {}。每轮必须且只能调用一个工具:问询用 plan_ask_question,出稿用 plan_submit_gdd。不要在正文输出 JSON、Markdown、解释或代码围栏。\n\n{}\n\n出稿前必须先确认三项核心闭环:玩家核心行为(每一局反复做什么)、单局目标/核心循环(怎样算完成一局)、MVP 制作边界(首个可玩版本做什么、不做什么)。其中一项仍只是推断、没有出现在用户需求或回答中,就只问一个最关键的问题,不能用 assumption_pending 代替。主题包装、美术、数值和次要系统可以用 assumption_pending,answerSource 记为 agent_inferred。不要重复已回答的问题。修改以最新用户意见为准,提交完整 GDD,不要打补丁。", + "你是立项策划 Agent。当前会话 {},回合 {}。每轮必须且只能调用一个工具:问询用 plan_ask_question,出稿用 plan_submit_gdd。不要在正文输出 JSON、Markdown、解释或代码围栏。\n\n除非用户明确要求直接出稿,否则先进行关键设计澄清。\n整个会话最多提问 3 轮。\n3 轮是上限,不是配额;信息已经足够时允许 0~2 轮提前出稿。\n达到第 3 轮或信息足够时,整理当前信息并调用 plan_submit_gdd。\n每轮收到用户回答后重新选择最重要的下一个未决决定,不要重复已回答的问题。\n提问优先顺序:核心行为与本局目标 → 重玩动力 → 制作边界与 MVP。\n主题包装、美术、数值和次要系统可以用 assumption_pending,answerSource 记为 agent_inferred。修改以最新用户意见为准,提交完整 GDD,不要打补丁。", session.session_id, session.turn_index, planning_v2_question_policy(session),