refactor(worker): 收敛 work agent 默认工具集与资产写回提示

work agent 只负责单条意图的执行与写回,读上下文/跨 work 复盘属规划职责:
- 从 WorkerTools() 移除 list_facts / node_detail / list_companies 及跨 work 检索
  (search_all_worker_traces / list_worker_traces / get_worker_trace),只留
  list_findings(报漏洞前查重) + add_finding/record_fact + insert_assets/list_assets。
- 旧库迁移 seedWorkerReadToolsUnbind(flag worker_readtools_unbind_v1):逐个
  RemoveAgentFromTool 把上述工具从 worker 默认绑定剥离,planner/main 同名绑定不动。
- worker 提示词「查上下文」段收敛为 list_assets/list_findings;insert_assets 段删掉
  与工具 schema 冲突的陈旧字段(type=tech/on_url/props/props.http),字段填法交回工具
  自身说明,只留路由与边界。reseedWorkerPrompt 版本 bump v3→v4 下发旧库。
This commit is contained in:
Autumn-27 committed 2026-09-09 13:59:47 -04:00
1 parent 64b08f518f
commit 5327f88ebc
3 files changed
+34 -9

No files matched your search

+6 -4
View File
@@ -610,13 +610,15 @@ func splitLines(s string) []string {
// WorkerTools returns the tool set for a work agent.
func (t *ToolSet) WorkerTools() []actool.CoreTool {
return []actool.CoreTool{
t.listFindings(), t.listFacts(), t.nodeDetail(),
// list_findings 保留:报漏洞前先查本任务已确认漏洞,避免重复上报同一漏洞。
t.listFindings(),
t.addFinding(), t.recordFact(),
// cross-work retrieval
t.searchAllWorkerTraces(), t.listWorkerTraces(), t.getWorkerTrace(),
// asset management (handlers guard nil store internally)。
// add_company_scope 不给 worker:定义企业资产范围属规划/主控/Auto 的职责,worker 只执行探索。
t.insertAssets(), t.listAssets(), t.listCompanies(),
t.insertAssets(), t.listAssets(),
// 以下工具【不给】worker,只留给 planner/main(读上下文、跨 work 复盘是规划职责,
// worker 只做单条意图的执行与写回):list_facts / node_detail / list_companies /
// 跨 work 检索 search_all_worker_traces / list_worker_traces / get_worker_trace。
}
}