ToolScope.java 851 Bytes
package com.xly.agent;

/**
 * 按意图收窄「本轮可见的工具集」(架构 §5 的 tool scoping)。
 *
 * <p>依据:单次 ReAct 的选工具准确率随工具数量上升而骤降(业界经验:50 个工具 ~94% → 200 个 ~64%)。
 * 弱模型(qwen3:14b Q4)一次性面对 12 个语义重叠的工具时,频繁选错族(把「查询」当「新增」)。
 * 于是先用意图门判类,再**只暴露该意图相关的 3-5 个工具**给 ReAct 执行——大幅降低选错概率。
 */
public enum ToolScope {
    /** 读:findForms/kgSearch/readFormData/lookupRecord/queryData(+askUser/loadSkill)。 */
    READ,
    /** 写:collectForm/proposeCreate/Update/Delete/Examine(+lookupRecord 定位、askUser/loadSkill)。 */
    WRITE,
    /** 兜底:全部工具(意图门失败时用)。 */
    FULL
}