> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uselim.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Judgment Engine

> ルール→履歴→AI→エスカレーションの4段階で仕訳を自動生成するエンジンの詳細。

# Judgment Engine

Judgment Engineはlimの中核コンポーネントです。イベント（取引）を受け取り、4段階の処理で最適な仕訳を自動生成します。

## 処理フロー

```
Input Event
    │
    ▼
┌──────────────┐    match
│  1. Rules    │──────────→ Journal Entry (95%)
│  (deterministic)│
└──────┬───────┘
       │ no match
       ▼
┌──────────────┐    match
│  2. History  │──────────→ Suggest + Confirm (3%)
│  (SQL lookup) │
└──────┬───────┘
       │ no match
       ▼
┌──────────────┐    high confidence
│  3. AI       │──────────→ Suggest + Confirm (1%)
│  (LLM call)  │
└──────┬───────┘
       │ low confidence
       ▼
┌──────────────┐
│  4. Escalate │──────────→ Human Review (<1%)
│  (queue)     │
└──────────────┘
```

## 1. ルールマッチ

最も高速・低コストな処理です。過去に確定したパターンとのマッチングを行います。

### ルールの構造

```json theme={null}
{
  "id": "rule_01J7...",
  "pattern": {
    "vendor": "AWS",
    "keywords": ["Amazon Web Services", "AWS"]
  },
  "action": {
    "debit": [
      { "account": "7100", "ratio": 0.909 },
      { "account": "1540", "ratio": 0.091 }
    ],
    "credit": [{ "account": "2100", "ratio": 1.0 }],
    "tax_code": "10"
  },
  "confidence": 99,
  "status": "auto-post",
  "confirmations": 5
}
```

### ルールのライフサイクル

1. **作成**: 人間の確認またはAI提案の承認時に作成
2. **提案モード**: 仕訳を提案し、人間の確認を求める
3. **自動記帳モード**: 3回確認されると昇格。確認なしで即座に記帳

```bash theme={null}
# ルールの一覧
lim rules list

# ルールの詳細
lim rules show rule_01J7...

# ルールのステータス変更
lim rules update rule_01J7... --status auto-post
```

## 2. 履歴マッチ

ルールにマッチしない場合、過去の類似取引をSQLで検索します。

マッチング基準:

* **取引先名の類似度**（レーベンシュタイン距離）
* **金額帯の近接度**
* **時期的な関連性**
* **カテゴリの推定**

確信度が80%以上の場合、仕訳を提案して確認を求めます。

## 3. AI推論

ルールにも履歴にもマッチしない場合のみ、LLM（大規模言語モデル）を呼び出します。

```
Input:  "タクシー代 3200円 現金"
Prompt: 日本の会計基準に基づき、適切な勘定科目と仕訳を生成してください。
Output: Dr. 旅費交通費 2,910 / Cr. 現金 3,200
        Dr. 仮払消費税   290
```

<Tip>
  AI推論は全処理の約1%です。ルールと履歴で95%以上を処理するため、AIコストは月額数十円に抑えられます。
</Tip>

### AI provider / model の設定

```bash theme={null}
# Provider（現状実装: anthropic）
export LIM_AI_PROVIDER=anthropic

# 全ユースケース共通のモデル
export LIM_AI_MODEL=claude-haiku-4-5-20251001

# または用途別 override
export LIM_AI_MODEL_JUDGMENT=claude-haiku-4-5-20251001
export LIM_AI_MODEL_NL_JOURNAL=claude-haiku-4-5-20251001
export LIM_AI_MODEL_VISION=claude-haiku-4-5-20251001
```

現在の engine 実装では `LIM_AI_PROVIDER` / `LIM_AI_MODEL*` 環境変数で切り替えます。一般的
な `AI_MODEL` などの名前と衝突しないよう、lim 専用 prefix を付けています。`vertex` /
`local` は差し込み点のみ先に用意されており、この時点では Anthropic adapter が実装済みです。

## 4. エスカレーション

AI推論でも確信度が低い（50%未満）場合、人間のレビューキューに入ります。

```bash theme={null}
# エスカレーションキューの確認
lim escalations list

# レビューして承認
lim escalations resolve esc_01J7... --approve

# レビューして修正
lim escalations resolve esc_01J7... --edit
```

## 学習メカニズム

人間がJudgment Engineの提案を確認・修正するたびに、エンジンは学習します:

1. **承認** → ルールの確認カウントが増加
2. **修正** → 既存ルールを更新、または新しいルールを作成
3. **却下** → パターンを記憶し、同じ誤りを繰り返さない

```
Month 1: ルール 10件、自動化率 60%、AI呼び出し 50回/月
Month 3: ルール 45件、自動化率 85%、AI呼び出し 15回/月
Month 6: ルール 80件、自動化率 95%、AI呼び出し  3回/月
```

## パフォーマンスの確認

```bash theme={null}
lim stats
```

自動化率、AI呼び出し回数、AIコストをリアルタイムで確認できます。

## 次のステップ

<CardGroup cols={2}>
  <Card title="自然言語入力" icon="message" href="/ja/guides/natural-language">
    Judgment Engineへの入力方法。
  </Card>

  <Card title="統計" icon="chart-pie" href="/ja/cli/stats">
    エンジンのパフォーマンスを監視。
  </Card>
</CardGroup>
