返回 Skill 列表
extension
分类: AI Agent 能力无需 API Key

reasoning-inductive

从多次观察中提取模式和概括。在检测重复出现的主题、构建预测规则或从累积数据中识别系统行为时使用。生成具有置信区间和异常处理的验证模式。

person作者: jakexiaohubgithub

Inductive Reasoning

Generalize from instances to rules. The logic of pattern extraction and empirical learning.

Type Signature

Inductive : [Observation] → Pattern → Generalization → ConfidenceBounds

Where:
  Observations     : [Instance] → Dataset
  Pattern          : Dataset → (Regularity × Frequency)
  Generalization   : (Regularity × Frequency) → Rule
  ConfidenceBounds : Rule × SampleSize → (Confidence × Exceptions)

When to Use

Use inductive when:

  • Multiple similar observations accumulate
  • Looking for recurring patterns across threads
  • Building predictive rules from experience
  • Identifying systemic behaviors
  • Validating or discovering Canvas assumptions
  • "This keeps happening" situations

Don't use when:

  • Explaining single observation → Use Abductive
  • Known causal chain exists → Use Causal
  • Transferring one case to another → Use Analogical
  • Resolving disagreement → Use Dialectical

Distinction from Other Modes

| Mode | Input | Output | Question | |------|-------|--------|----------| | Abductive | Single anomaly | Explanation | "Why did this happen?" | | Inductive | Multiple instances | Pattern/Rule | "What keeps happening?" | | Analogical | One source case | Transferred solution | "How is this like that?" |

Key difference from Abductive:

  • Abductive: 1 observation → 1 explanation
  • Inductive: N observations → 1 generalization

Four-Stage Process

Stage 1: Observation Collection

Purpose: Gather and structure multiple instances for analysis.

Minimum Sample Requirements:

| Confidence Target | Minimum N | Notes | |-------------------|-----------|-------| | Exploratory | 3-5 | Hypothesis generation only | | Tentative | 6-10 | Directional confidence | | Moderate | 11-20 | Actionable patterns | | High | 21+ | Strong generalizations |

Components:

observations:
  dataset:
    - instance_id: "deal-001"
      timestamp: ISO8601
      context: "Enterprise sales"
      attributes:
        deal_size: 400000
        sales_cycle: 120
        stalled_at: "legal_review"
        outcome: "won"
        
    - instance_id: "deal-002"
      timestamp: ISO8601
      context: "Enterprise sales"
      attributes:
        deal_size: 350000
        sales_cycle: 150
        stalled_at: "legal_review"
        outcome: "lost"
        
    # ... more instances
    
  metadata:
    total_instances: 12
    time_range: "Q3-Q4 2024"
    source: "threads/sales/*/6-learning.md"
    collection_method: "automated scan"
    
  quality:
    completeness: 0.92  # % of fields populated
    consistency: 0.88   # % following same schema
    recency: 0.75       # Weight toward recent

Stage 2: Pattern Detection

Purpose: Identify regularities in the dataset.

Pattern Types:

| Type | Description | Example | |------|-------------|---------| | Frequency | How often X occurs | "7/12 deals stall at legal" | | Correlation | X and Y co-occur | "Large deals AND long cycles" | | Sequence | X follows Y | "Stall → lose within 30 days" | | Cluster | Groups emerge | "Two deal archetypes exist" | | Trend | Direction over time | "Cycles getting longer" | | Threshold | Breakpoint exists | "Deals >$300K behave differently" |

Detection Process:

patterns:
  detected:
    - pattern_id: P1
      type: frequency
      description: "Legal review stalls"
      evidence: "7 of 12 deals (58%) stalled at legal review"
      strength: 0.78
      
    - pattern_id: P2
      type: correlation
      description: "Deal size correlates with cycle length"
      evidence: "r=0.72 between deal_size and sales_cycle"
      strength: 0.72
      
    - pattern_id: P3
      type: threshold
      description: "CFO involvement threshold"
      evidence: "Deals >$250K require CFO, adding 30+ days"
      strength: 0.85
      
    - pattern_id: P4
      type: sequence
      description: "Stall duration predicts outcome"
      evidence: "Stalls >21 days → 80% loss rate"
      strength: 0.80
      
  rejected:
    - pattern: "Industry affects outcome"
      reason: "No significant difference across industries (p>0.3)"
      
  insufficient_data:
    - pattern: "Seasonality effects"
      reason: "Only 2 quarters of data, need 4+ for seasonality"

Stage 3: Generalization

Purpose: Form rules from validated patterns.

Rule Formation:

generalizations:
  rules:
    - rule_id: R1
      statement: "Enterprise deals >$250K require CFO approval, adding 30+ days to cycle"
      derived_from: [P2, P3]
      
      structure:
        condition: "deal_size > 250000"
        prediction: "sales_cycle += 30 days"
        mechanism: "CFO approval requirement"
        
      applicability:
        domain: "Enterprise sales"
        segments: ["all enterprise"]
        exceptions: ["existing customers with MSA"]
        
    - rule_id: R2
      statement: "Legal review stalls >21 days predict deal loss with 80% probability"
      derived_from: [P1, P4]
      
      structure:
        condition: "stall_duration > 21 AND stall_stage = 'legal'"
        prediction: "outcome = 'lost' (p=0.80)"
        mechanism: "Budget cycle expiration, champion fatigue"
        
      applicability:
        domain: "Enterprise sales"
        segments: ["new customers"]
        exceptions: ["government deals with known long cycles"]
        
    - rule_id: R3
      statement: "58% of enterprise deals will stall at legal review"
      derived_from: [P1]
      
      structure:
        condition: "enterprise deal"
        prediction: "P(legal_stall) = 0.58"
        mechanism: "Custom contract requirements"
        
      applicability:
        domain: "Enterprise sales"
        segments: ["all"]
        exceptions: ["standard contract accepted"]

Stage 4: Confidence Bounds

Purpose: Quantify reliability and identify exceptions.

Confidence Calculation:

Confidence = f(sample_size, pattern_strength, consistency, recency)

Base confidence from sample size:
  N < 5:   max 0.40
  N 5-10:  max 0.60
  N 11-20: max 0.80
  N > 20:  max 0.95

Adjustments:
  × pattern_strength (0-1)
  × consistency (0-1)
  × recency_weight (0.5-1.0)

Components:

confidence_analysis:
  rules:
    - rule_id: R1
      confidence: 0.72
      calculation:
        base: 0.80        # N=12, moderate sample
        strength: 0.85    # Strong pattern
        consistency: 0.88 # Good data quality
        recency: 0.95     # Recent data
        final: 0.72       # base × min(strength, consistency, recency)
        
      bounds:
        lower: 0.58       # Pessimistic estimate
        upper: 0.82       # Optimistic estimate
        
      exceptions:
        identified:
          - "Existing customer deal closed in 45 days despite $400K size"
            explanation: "Pre-existing MSA eliminated legal review"
          - "Government deal took 180 days but won"
            explanation: "Known government procurement cycle"
        exception_rate: 0.17  # 2/12 instances
        
      validity:
        expires: "2025-06-01"  # Re-validate after 6 months
        invalidated_by: 
          - "Process change eliminating legal review"
          - "New contract template adoption"
        strengthened_by:
          - "3+ more instances following pattern"
          - "Causal mechanism confirmed"
          
    - rule_id: R2
      confidence: 0.68
      # ... similar structure

Output Summary:

inductive_output:
  summary:
    rules_generated: 3
    highest_confidence: R1 (0.72)
    total_observations: 12
    time_range: "Q3-Q4 2024"
    
  actionable_rules:
    - rule: R1
      action: "Add 30 days to forecast for deals >$250K"
      confidence: 0.72
      
    - rule: R2
      action: "Escalate intervention when legal stall exceeds 14 days"
      confidence: 0.68
      
  tentative_rules:
    - rule: R3
      action: "Plan for legal stall in 60% of deals (resource accordingly)"
      confidence: 0.55
      needs: "5+ more observations to reach actionable confidence"
      
  canvas_implications:
    validate:
      - assumption: "A4: Enterprise sales cycle is 90 days"
        finding: "Actually 120 days for deals >$250K"
        action: "Update assumption"
        
    new_hypothesis:
      - "H17: Standard contract template would reduce legal stalls by 50%"
        basis: "Legal stall is primary cycle driver"
        test: "Pilot standard contract with 5 deals"

Quality Gates

| Gate | Requirement | Failure Action | |------|-------------|----------------| | Sample size | ≥5 instances | Collect more data | | Data quality | ≥80% completeness | Clean dataset | | Pattern strength | ≥0.6 for at least one | Lower threshold or collect more | | Exception rate | <30% for actionable rules | Narrow rule scope | | Mechanism identified | Plausible explanation | Add abductive analysis |

Common Failure Modes

| Failure | Symptom | Fix | |---------|---------|-----| | Small N | High variance, unstable patterns | Wait for more data | | Survivorship bias | Only successful cases analyzed | Include failures | | Confounding | Correlation ≠ causation | Test mechanism with intervention | | Overfitting | Rule too specific to sample | Simplify rule, test holdout | | Recency bias | Old patterns weighted equally | Apply recency weighting | | Cherry-picking | Only confirming instances | Systematic collection |

Pattern Validation

Before promoting rule to actionable:

Statistical Validation

validation:
  method: "holdout"
  training_set: 8 instances
  test_set: 4 instances
  rule_accuracy_on_test: 0.75
  passed: true

Causal Validation

validation:
  method: "mechanism_test"
  proposed_mechanism: "CFO approval adds 30 days"
  test: "Interview 3 CFOs about approval process"
  result: "Confirmed - CFO review averages 25-35 days"
  passed: true

Temporal Validation

validation:
  method: "stability_check"
  pattern_in_Q3: 0.62
  pattern_in_Q4: 0.54
  drift: -0.08 (acceptable)
  passed: true

Automated Pattern Detection

For continuous learning, run inductive scans:

automated_scan:
  frequency: weekly
  sources:
    - "threads/sales/*/6-learning.md"
    - "threads/marketing/*/6-learning.md"
    - "threads/operations/*/6-learning.md"
    
  thresholds:
    min_instances: 5
    min_pattern_strength: 0.6
    
  output:
    location: "ops/patterns.md"
    alert_threshold: 0.75  # Flag high-confidence new patterns
    
  actions:
    new_pattern_detected: "Flag in ops/today.md for review"
    existing_pattern_strengthened: "Update confidence, log"
    pattern_invalidated: "Alert, review rule"

Output Contract

inductive_output:
  observations:
    count: int
    time_range: string
    sources: [string]
    quality_score: float
    
  patterns:
    detected: [{
      pattern_id: string
      type: frequency | correlation | sequence | cluster | trend | threshold
      description: string
      strength: float
      evidence: string
    }]
    rejected: [{pattern: string, reason: string}]
    
  rules:
    - rule_id: string
      statement: string
      confidence: float
      bounds: {lower: float, upper: float}
      exceptions: [{instance: string, explanation: string}]
      applicability: {domain: string, segments: [string], exceptions: [string]}
      validity: {expires: date, invalidated_by: [string]}
      
  canvas_implications:
    validate: [{assumption: string, finding: string, action: string}]
    invalidate: [{assumption: string, finding: string, action: string}]
    new_hypotheses: [{hypothesis: string, basis: string, test: string}]
    
  actions:
    immediate: [string]        # High-confidence rules to act on
    monitor: [string]          # Tentative patterns to watch
    collect: [string]          # Data gaps to fill
    
  next:
    suggested_mode: ReasoningMode
    threads_to_create: [string]
    
  trace:
    patterns_evaluated: int
    rules_generated: int
    duration_ms: int

Example Execution

Context: "Review last 6 months of marketing content performance"

Stage 1 - Observations:

Collected: 24 content pieces
Sources: threads/marketing/*/6-learning.md
Attributes: topic, format, channel, sessions, conversions, time_to_demo
Quality: 0.88 completeness

Stage 2 - Patterns:

P1 (frequency): Case studies convert 2.3x average (8/24, all above average)
P2 (correlation): Technical depth correlates with enterprise demos (r=0.68)
P3 (threshold): Posts >2000 words perform better on SEO (breakpoint identified)
P4 (trend): LinkedIn declining, organic search rising over 6 months

Stage 3 - Generalizations:

R1: "Case studies should be prioritized for bottom-funnel conversion"
    Confidence: 0.75, based on 8 instances

R2: "Technical content attracts enterprise prospects"
    Confidence: 0.68, based on correlation analysis

R3: "SEO content should target >2000 words"
    Confidence: 0.70, based on threshold analysis

Stage 4 - Confidence Bounds:

R1: 0.75 [0.62, 0.85] - Actionable
R2: 0.68 [0.54, 0.78] - Actionable with caution
R3: 0.70 [0.58, 0.80] - Actionable

Canvas update: 
  - Validate H8 (case studies convert)
  - New H18: "Long-form SEO content drives organic growth"
  
Action: Shift content mix toward case studies and long-form technical guides