NewSimplicityCheckerMiddleware 创建简洁性检查中间件
(config *SimplicityCheckerConfig)
| 83 | |
| 84 | // NewSimplicityCheckerMiddleware 创建简洁性检查中间件 |
| 85 | func NewSimplicityCheckerMiddleware(config *SimplicityCheckerConfig) *SimplicityCheckerMiddleware { |
| 86 | if config == nil { |
| 87 | config = &SimplicityCheckerConfig{ |
| 88 | Enabled: true, |
| 89 | MaxHelperFunctions: 3, |
| 90 | WarnOnPrematureAbstraction: true, |
| 91 | WarnOnUnusedParams: true, |
| 92 | } |
| 93 | } |
| 94 | |
| 95 | // 设置默认值 |
| 96 | if config.MaxHelperFunctions <= 0 { |
| 97 | config.MaxHelperFunctions = 3 |
| 98 | } |
| 99 | |
| 100 | return &SimplicityCheckerMiddleware{ |
| 101 | BaseMiddleware: NewBaseMiddleware("simplicity_checker", 600), |
| 102 | config: config, |
| 103 | warningsEmitted: make([]SimplicityWarning, 0), |
| 104 | } |
| 105 | } |
| 106 | |
| 107 | // WrapToolCall 包装工具调用,检测简洁性问题 |
| 108 | func (m *SimplicityCheckerMiddleware) WrapToolCall(ctx context.Context, req *ToolCallRequest, handler ToolCallHandler) (*ToolCallResponse, error) { |