Skip to main content
Glama

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
NameRequiredDescriptionDefault
titleYes偏差描述
rootCauseNo根因分类
categoryNo偏差类别

Implementation Reference

  • 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;
    }
  • 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'],
      },
    },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/LWTlong/ai-dev-analytics'

If you have feedback or need assistance with the MCP directory API, please join our Discord server