CoT(思考連鎖)プロンプトによる複雑なビジネスロジック計算の自動化手法

Tech

style_prompt: technical_expert_v2 task_type: prompt_engineering_guide focus: Chain-of-Thought (CoT)

本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。

CoT(思考連鎖)プロンプトによる複雑なビジネスロジック計算の自動化手法

【ユースケース定義と課題】

複数の割引条件や会員ランク、期間限定キャンペーンが重複する複雑なECサイトの「最終決済金額」を正確に算出する。LLMが計算順序を誤ったり、特定の条件を見落としたりする不正確さを解消し、JSON形式で安定出力させる。

【プロンプト設計のループ】

graph TD
A["設計: 思考ステップの定義"] --> B["実行: Zero-shot/Few-shot CoT"]
B --> C["評価: 計算精度とJSON構造の検証"]
C -->|改善: 制約条件の明文化| A
  1. 設計: ロジックを分解し、LLMに「解くべき順序」を提示。

  2. 実行: 計算過程(思考の跡)を明示的に出力させるプロンプトを適用。

  3. 評価: 期待値との差分を分析し、ハルシネーション(嘘の計算)を特定。

【プロンプトの実装案】

# Role

あなたは正確無比な計算を行うシニア・ビジネスアナリストです。

# Task

以下の「注文データ」に基づき、適用される全ての割引を考慮した「最終合計金額」を算出してください。

# Constraints


- 計算を開始する前に、必ず「Step-by-Step(一歩ずつ)」思考プロセスを書き出してください。

- 割引の適用順序は:1.商品単価割引 -> 2.クーポン割引 -> 3.会員ランク特典 の順です。

- 出力は必ず指定されたJSON形式のみとしてください。

# Example

Input: { "order": 10000, "coupon": "10%OFF", "rank": "Gold(5%OFF)" }
Thought:

1. 商品単価合計を確認:10,000円

2. クーポン10%を適用:10,000 * 0.9 = 9,000円

3. 会員特典5%を適用:9,000 * 0.95 = 8,550円
Output: { "final_price": 8550 }

# Input Data

[対象データ入力]

【評価指標と誤り分析】

評価項目 失敗パターン 対策
論理的整合性 割引の適用順序がランダムになる プロンプト内で「計算順序」を番号付で強制する
計算精度 四捨五入や端数処理のミス 「端数は切り捨て」等の処理ルールを明文化する
出力形式 思考プロセスがJSON内に混入する 思考用タグ(<thought>)の使用を指定する

【改良後の最適プロンプト】

# Instruction

以下の情報を処理し、正確な決済金額を算出してください。

# Step-by-Step Analysis (Required)

計算の各段階を以下の形式で記述してください:

1. 適用可能な割引のリストアップ

2. 順序に基づいた段階的な計算過程

3. 最終金額の確認

# Output Format

```json
{
  "analysis": "思考プロセスをここに記述",
  "result": {
    "subtotal": 数値,
    "discount_applied": ["割引名1", "割引名2"],
    "total_amount": 数値
  }
}

Rules

  • 計算過程を省略しないでください。

  • 税率は10%固定とし、最後に加算してください。 “`

【まとめ】

  1. 「一歩ずつ考えろ」と命じる: 複雑なタスクでは、結論の前に思考プロセスを出力させることが精度向上の鍵。

  2. 計算順序を明示する: LLMはデフォルトでは並列処理に近い推論を行うため、直列のロジック(順序)を指定する。

  3. 構造化データで回収する: 思考プロセスを許容しつつ、最終結果はJSON等の機械可読な形式でラップする。

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました