feat(steward): 拦截业务无关输入返回 off_topic 计划
- schemas/steward.py:StewardPlanResponse 新增 suggested_prompts 字段 - steward_planner.py:新增 STEWARD_BUSINESS_SIGNAL_KEYWORDS 与 _is_business_irrelevant_input 守卫,在 build_plan 入口前置; 新增 _build_off_topic_plan 构造 plan_status=off_topic 的引导计划 - steward_intent_agent.py:system prompt 追加业务无关约束 - test_steward_planner.py:覆盖 123/你好/纯标点走 off_topic, 并验证正常业务输入不受守卫影响
This commit is contained in:
@@ -128,6 +128,10 @@ class StewardPlanResponse(BaseModel):
|
||||
)
|
||||
candidate_flows: list[StewardCandidateFlow] = Field(default_factory=list, description="等待用户确认的候选流程快捷列表。")
|
||||
model_call_traces: list[dict[str, Any]] = Field(default_factory=list, description="模型工具调用轨迹。")
|
||||
suggested_prompts: list[str] = Field(
|
||||
default_factory=list,
|
||||
description="当 plan_status 为 off_topic 等场景时,给用户的推荐话术示例。",
|
||||
)
|
||||
|
||||
|
||||
class StewardSlotOption(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user