# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17

戦略
----------
問題解決と自動化のための基本的なアクション戦略。

参照: docs/help/operators.txt、docs/help/denkstrategie.txt


1。分類
-----------------
戦略: ルール、ヒューリスティック、またはモデルによってデータがクラスに割り当てられます。
演算子: 抽出 -> 正規化 -> 分類 -> 検証

例 (Python):
「」パイソン
デフォルトのclassify_doc(doc):
    text = doc["text"]. lower()
    テキストに「請求書」がある場合:
        「請求書」を返却する
    テキストに「契約」がある場合:
        「契約書」を返す
    「その他」を返す
``


2．評価 (スコアリング)
---------------------
戦略: 基準を定義し、重み付けし、スコアを計算します。
ランキング、自動化、人によるレビューの基礎。

例 (Python):
「」パイソン
def スコア_請求書(メール):
    スコア = 0
    mail["件名"]. lower() に「請求書」がある場合:
        スコア += 0.5
    if any(a.endswith(".pdf") for a in mail["attachments"]):
        スコア += 0.3
    mail["body"]. lower() に "iban" がある場合:
        スコア += 0.2
    リターンスコア
``


3． EXCLUDE
----------------
戦略: 否定的な基準 (ブラックリスト、パターン、制限) を定義します。
早期の「カットオフ」によりノイズが軽減されます。

例 (JavaScript):
```JavaScript
関数 isExcluded(メール) {
  const blacklist = ["noreply@", "ニュースレター@"];
  return blacklist.some(b => mail.from.includes(b));
}

const 関連 = mails.filter(m => !isExcluded(m));
``


4．テスト (検証)
----------------------
戦略: データをルール、スキーマ、参照ソースと照合してチェックします。
バリエーション: スキーマ テスト、ビジネス ルール、A/B 比較、クロスソース チェック。

例 - スキーマ テスト (Python):
「」パイソン
def validate_invoice(d):
    テスト = [
        (「量」、ラムダ x: x は None ではなく、x > 0)、
        ("請求書番号", ラムダ x: bool(x)),
        (「日付」、ラムダ x: x は None ではありません)、
    ]
    エラー = []
    フィールドの場合、テストのルール:
        そうでない場合、rule(d.get(field)):
            エラー.追加(フィールド)
    エラーを返す
```

例 - A/B テスト (Python):
「」パイソン
def 分類_A(doc): ...
デフォルト 分類_B(文書): ...

resA = 分類_A(文書)
resB = assign_B(doc)

resA != resB の場合:
    # 競合をマークし、分析用にログを記録します
    パスする
``


5．問題の定義
----------------------
戦略: 入力としての問題 -> 必要な出力 -> 制約を定式化します。
コード内: 明確なインターフェイス、予期される不変式、エラー クラス。

定式化の例:
  問題: 「受信メールは自動的に請求書として送信されるはずですが、
           契約かその他。」
  入力: 電子メール (件名、本文、添付ファイル、メタデータ)
  出力: カテゴリ + スコア + 必要に応じて抜粋
  制約: X ユーロを超える請求書に対して誤検知がないこと、
               スコアしきい値、ロギング


6。問題解決戦略
--------------------------
戦略に基づいた意思決定のための一般的なパターン。

```python
defsolve_problem(input_data, Strategies):
    「」
    戦略: 戦略のリスト:
      - 名前
      - 条件(入力データ) -> ブール値
      - アクション(入力データ) -> 結果
    「」
    戦略における の場合:
        if s["条件"](入力データ):
            戻り値 {
                "戦略": s["名前"],
                "結果": s["アクション"](入力データ)
            }
    戻り値 {
        「戦略」: なし、
        「結果」: なし
    }
```

戦略の例 (信頼に基づく):
「」パイソン
戦略 = [
    {
        "名前": "high_confidence_auto",
        "条件": ラムダ d: d["スコア"] >= 0.9、
        "アクション": ラムダ d: {"モード": "自動", "ルート": "アカウンティング"}
    }、
    {
        "名前": "medium_confidence_review",
        "条件": ラムダ d: 0.6 <= d["スコア"] < 0.9、
        "アクション": ラムダ d: {"モード": "レビュー", "ルート": "inbox_review"}
    }、
    {
        "名前": "low_confidence_ignore",
        "条件": ラムダ d: d["スコア"] < 0.6、
        "アクション": ラムダ d: {"モード": "無視"、"ルート": なし}
    }、
]
```


バッハへの言及
-------------
これらの戦略は次の基礎となります。
  - インジェクター (コンテキストベースの決定) - system/tools/injectors.py
  - 記憶の統合（教訓の導出） - system/hub/consolidation.py
  - ワークフロールーティング (スキルとサービス)
  - ドキュメント処理 (OCR、分類)

戦略 + 演算子 = 再利用可能なソリューション モジュール


関連ヘルプ ファイル
----------------------
  --help 演算子 基本的な演算子とパターン
  -- 思考戦略、認知戦略を支援します。
  --help レトリック 修辞演算子
