BP11 · 动态工具权限与阶段状态机#
定位:面试官追问工具权限管理与 prompt cache 取舍时的拷问预备。
核心口述(30 秒)#
“四阶段状态机 PLANNING→SEARCHING→COMPARING→CONCLUDING,每阶段只允许对应工具子集。关键选择:拦截而非摘除——保 prompt cache 前缀。终结工具豁免阶段门——任何时候想收尾都不拦。“
拷问链#
Q: 为什么不直接摘工具?#
摘工具改 system prompt → 破坏 prompt cache 前缀匹配。cache miss ~11000 token vs 无效 tool_call ~50 token。
Q: statewright 说缩小工具空间效果更好?#
哨兵实现了等效效果——模型调被拦后下一轮不再调,选择空间等效缩小。区别只在”看不到”vs”调了被拦”。长对话选保 cache。
Q: 终结工具为什么豁免阶段门?#
漂移检测要求收尾但阶段门拦住终结工具 → 死锁。任何时候 Agent 想收尾都不应该被拦。
Q: item_picker 返回空怎么办?#
回退到 SEARCHING。补搜闸加 must_have 质量信号——有候选却没一个满足约束时才触发。
Q: 四个阶段够用吗?#
购物链路拆成四阶段覆盖了所有工具。如果工具种类极多可以加更细的阶段,但当前 13 个工具四阶段够用。
压力题#
Q: 阶段状态机不就是另一种形式的 Workflow?#
不是。Workflow 焊死调用顺序(r = search(); c = compare(r)),阶段状态机只约束”这个阶段能用什么工具”——在阶段内模型自由决定用哪个、用几次。约束的粒度完全不同。