"""意图门控:只回答"是不是明确的问答",其余都交给 screen agent,由它决定执行、追问还是说明做不了""" from app.schemas.decision import ChoiceResult, Route def resolve_intent(decision: ChoiceResult, *, qa_min_probability: float) -> Route: """按选中项自身的概率门控,confidence 只表示分布集中度,不作为判据""" # 缺少该选项的概率时退回 confidence,避免因协议缺字段而误判 probability = decision.probabilities.get(decision.choice, decision.confidence) if decision.choice == "qa" and probability >= qa_min_probability: return "qa" return "screen"