refactor(engine): 移除从不执行的全局 planner/worker 空壳,就绪信号改用谓词
权威解析器(SetAuthoritativeAgentResolver)落地后,引擎每轮规划/worker 都走 per-task 的 agentsForTask 路由;applyLLM 经 buildPlannerWorker 构建、UseLLM 装入 的全局 planner/worker 从不被执行,仅充当 Ready() 的'已配置'探针。这层空壳是 功能容易被错误接线的温床(冷节点压缩此前就误接在它上面)。 改动: - 删除 buildPlannerWorker、providerForAgent(仅前者调用)、Engine.UseLLM/snapshot/ Mode、Engine.planner/worker/mu 字段。 - Ready() 改为读 SetReadiness 注入的谓词(基于 s.llmOn);snapshotFor 去掉全局 兜底,权威解析器返回 nil 即表示该任务不可用(语义不变)。 - applyLLM 不再构建全局 pair;NewServer 注入就绪谓词。 - 相应更新 3 处依赖旧注入方式的测试(改用权威解析器注入)。 生产行为不变(全局 pair 本就从不执行);go build/vet 通过,server 测试失败集合 与基线一致(均为需 DB 的既有用例),无新增失败。
This commit is contained in:
1 parent
cd5e779a24
commit
3b60191e86
5 files changed
+35
-94
No files matched your search
+2
-3
@@ -583,9 +583,8 @@ func (s *Server) agentsForTask(t *Task) *taskAgentBundle {
|
||||
pl.SetWebSearch(s.webSearchFor("planner"))
|
||||
pl.SetConstraintInject(s.constraintInjectPlanner) // 操作约束注入 planner(可配置,默认开)
|
||||
// cold-digest §7: 冷节点后台压缩。引擎经权威解析器实际驱动的就是这套 per-task planner
|
||||
// (agentsForTask),所以 Compactor 必须接在这里;buildPlannerWorker 那套全局 pair 被解析器
|
||||
// 旁路、从不跑规划轮,接在那里等于不生效。走任务路由的 planner provider(§4:与 agent 同模型),
|
||||
// 压缩用 Complete 一次性生成 body。
|
||||
// (agentsForTask),Compactor 必须接在这里。走任务路由的 planner provider(§4:与 agent
|
||||
// 同模型,随任务 LLM 链解析),压缩用 Complete 一次性生成 body。
|
||||
pl.SetCompactor(agent.NewCompactor(plannerRuntime, "task-router"))
|
||||
main := agent.NewMainAgent(mainRuntime, "task-router", s.m.dir, tx, mainRuntime.CompactionWindow(), s.agentMaxTurns("mainagent"))
|
||||
main.SetFindingRecorder(s.evidenceStore())
|
||||
|
||||
Reference in new issue
Block a user