Version: 0.9.75.dev.260505
后端: 1.收口阶段 6 agent 结构迁移,将 newAgent 内核与 agentsvc 编排层迁入 services/agent - 切换 Agent 启动装配与 HTTP handler 直连 agent sv,移除旧 service agent bridge - 补齐 Agent 对 memory、task、task-class、schedule 的 RPC 适配与契约字段 - 扩展 schedule、task、task-class RPC/contract 支撑 Agent 查询、写入与 provider 切流 - 更新迁移文档、README 与相关注释,明确 agent 当前切流点和剩余 memory 迁移面
This commit is contained in:
37
backend/services/agent/tools/active_optimize.go
Normal file
37
backend/services/agent/tools/active_optimize.go
Normal file
@@ -0,0 +1,37 @@
|
||||
package agenttools
|
||||
|
||||
import "strings"
|
||||
|
||||
var activeOptimizeAllowedTools = map[string]struct{}{
|
||||
ToolNameContextToolsAdd: {},
|
||||
ToolNameContextToolsRemove: {},
|
||||
"analyze_health": {},
|
||||
"move": {},
|
||||
"swap": {},
|
||||
}
|
||||
|
||||
// IsToolAllowedInActiveOptimize 判定工具是否允许出现在“粗排后主动优化专用模式”里。
|
||||
//
|
||||
// 职责边界:
|
||||
// 1. 这里只做场景级白名单裁剪,不参与工具是否已注册、是否被临时禁用、是否需要 confirm 的判断;
|
||||
// 2. 该白名单只服务于“首次粗排后自动微调”链路,避免 LLM 在主动优化时重新暴露大量读工具;
|
||||
// 3. context_tools_add/remove 仍保留,是为了兼容系统级动态区协议,但不代表会重新放开其它业务工具。
|
||||
func IsToolAllowedInActiveOptimize(name string) bool {
|
||||
_, ok := activeOptimizeAllowedTools[strings.TrimSpace(name)]
|
||||
return ok
|
||||
}
|
||||
|
||||
// FilterSchemasForActiveOptimize 过滤出主动优化专用模式允许暴露给 LLM 的工具 schema。
|
||||
func FilterSchemasForActiveOptimize(schemas []ToolSchemaEntry) []ToolSchemaEntry {
|
||||
if len(schemas) == 0 {
|
||||
return nil
|
||||
}
|
||||
filtered := make([]ToolSchemaEntry, 0, len(schemas))
|
||||
for _, item := range schemas {
|
||||
if !IsToolAllowedInActiveOptimize(item.Name) {
|
||||
continue
|
||||
}
|
||||
filtered = append(filtered, item)
|
||||
}
|
||||
return filtered
|
||||
}
|
||||
Reference in New Issue
Block a user