aida_log_deviation
Log AI output deviations from user expectations to analyze root causes and improve code generation accuracy through pattern codification.
Instructions
当 AI 产出与用户预期不符时调用。记录偏差用于后续分析。当 rootCause 为 rule-missing 时,修复后如果属于项目级技术规范(非业务逻辑),应询问用户是否沉淀为规则。
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | 偏差描述 | |
| rootCause | No | 根因分类 | |
| category | No | 偏差类别 |
Implementation Reference
- src/mcp/server.ts:429-468 (handler)The handler function `handleLogDeviation` which implements the logic for the `aida_log_deviation` tool.
function handleLogDeviation(args: any): any { const rootCause = args.rootCause || 'other'; const category = args.category || 'other'; const { path, data } = ensureRunJson(); const id = nextId(data.deviations, 'DEV'); const deviation: DeviationItem = { deviationId: id, title: args.title, rootCauseCategory: rootCause as DeviationItem['rootCauseCategory'], deviationCategory: category as DeviationItem['deviationCategory'], aiOutput: '', expectedOutput: '', files: [], ruleSedimented: null, detectedAt: now(), fixedAt: null, }; data.deviations.push(deviation); data.summary.deviationCount = data.deviations.length; addEvent(data, 'deviation_created', { deviationId: id }); addTimeline(data, 'deviation', `${id}: ${args.title}`); save(path, data); const result: any = { success: true, deviationId: id, message: `${id} 已记录: ${args.title}` }; // When rootCause is rule-missing, check for pattern and hint rule sedimentation if (rootCause === 'rule-missing') { const sameCategoryCount = data.deviations.filter( d => d.deviationCategory === category && d.rootCauseCategory === 'rule-missing', ).length; if (sameCategoryCount >= 2) { result.ruleHint = `同类偏差已出现 ${sameCategoryCount} 次(${category} / rule-missing)。如果修复方案属于项目级技术规范(非业务逻辑),请询问用户是否沉淀为规则:调用 aida_log_rule 工具,传入 content="<规则描述>" category="${category}" sourceDeviation="${id}"`; } else { result.ruleHint = `rootCause 为 rule-missing,修复后如果属于项目级技术规范(非业务逻辑),请询问用户是否沉淀为规则:调用 aida_log_rule 工具,传入 content="<规则描述>" category="${category}" sourceDeviation="${id}"`; } } return result; } - src/mcp/server.ts:201-212 (registration)Tool registration for `aida_log_deviation` in the `TOOLS` array.
name: 'aida_log_deviation', description: '当 AI 产出与用户预期不符时调用。记录偏差用于后续分析。当 rootCause 为 rule-missing 时,修复后如果属于项目级技术规范(非业务逻辑),应询问用户是否沉淀为规则。', inputSchema: { type: 'object', properties: { title: { type: 'string', description: '偏差描述' }, rootCause: { type: 'string', enum: [...ROOT_CAUSE_VALUES], description: '根因分类' }, category: { type: 'string', enum: [...DEVIATION_CAT_VALUES], description: '偏差类别' }, }, required: ['title'], }, },