1.はじめに
生成AI(に限らずAI全般)をビジネスで活用するにあたって、重要である要素の一つが、出力内容の説明可能性である。
金融庁も業務におけるAI活用の中で説明可能性について度々言及しており、我々ニッセイ情報テクノロジーがお客様に安心して使っていただけるAIサービスを開発するうえでも、 AIがなぜそのような回答に至ったのか? を納得感を持って説明できる術は模索していきたい。
各生成AIベンダーから提供されるモデルについても、この観点で利用できる機能がいくつかある。例えば、いわゆる推論モデル(OpenAI社のo4-miniや、GPT5など)を利用するにあたって、その推論・思考過程を出力することができる機能(OpenAI社ではreasoning.summary。ベンダーによって呼称は違うので、以下 「推論の要約」 と記載する)がある。
今回は、そちらを試して、説明可能性の担保に利用出来うるものか?確認してみる。
(実のところ、最近のモデルは回答の中に回答に至るプロセスを含めてくれることも多いのだが、複雑なタスクになる場合、結論とその過程を分けて確認できることは意味があると考える)
2.検討の詳細
実際の業務における説明可能性観点での活用可否を探るため、 保険の査定をイメージした以下ルールと問題を与え、それに対する推論の要約を確認する :
加入希望者の各種属性とルールを照らし合わせ、保険加入可否や加入可の場合の条件、あるいは現状から加入できる状態になるためにはどうすればよいか、を推論させる。
ルール
ユーザーが保険加入希望者の年齢、BMI、喫煙有無(アリの場合は1日の喫煙本数)、現在治療中の病気の有無、過去2年間の手術有無、過去3年間の入院有無、年収、今回希望する保険金額、すでに加入中の保険金額を入力しますので、
以下のルールに従い、保険契約可否(可能な場合でも、条件がある場合はその内容:保険金の制限や、保険料の増額有無)を判断してください。
①1人が加入できる金額は1000万まで。すでに加入中の保険金額と今回希望する保険金額で1000万を超過する場合、今回加入可能な額はすでに加入中の保険金額と併せて1000万を超えない額に制限される。
②今回希望する保険金額と同等額の年収が必要。年収以上の保険金額を希望している場合、年収と同等額に制限される。
③以下のa~fのルールで健康リスクをポイント化する。5ポイントを超えた場合、保険料が上乗せとなる。15ポイントを超えた場合、残念ながら今回は引き受けを見送りとなる。
③-a:年齢が30~39歳なら1ポイント、40~49歳なら2ポイント、50~59歳なら3ポイント、60歳以上なら4ポイント
③-b:BMIが15以下、または30以上の場合、3ポイント
③-c:喫煙ありの場合、1日の喫煙本数と同数のポイント
③-d:現在治療中の病気がある場合、5ポイント
③-e:過去2年間の手術歴がある場合、5ポイント
③-f:過去3年間の入院歴がある場合、5ポイント
問題
・Aさん
年齢:30歳
BMI:30
喫煙有無(アリの場合は1日の喫煙本数):あり、1日1本
現在治療中の病気の有無:なし
過去2年間の手術有無:なし
過去3年間の入院有無:なし
年収:200万
今回希望する保険金額:300万
すでに加入中の保険金額:0
・Bさん
年齢:40歳
BMI:22
喫煙有無(アリの場合は1日の喫煙本数):あり、1日10本
現在治療中の病気の有無:あり
過去2年間の手術有無:なし
過去3年間の入院有無:なし
年収:200万
今回希望する保険金額:400万
すでに加入中の保険金額:800万
Aさんの保険契約可否を判断してください。
Bさんは保険契約が難しそうですが、たばこを1日何本に減らせば契約できますか?
ルールおよび問題はいずれも架空のものであり、実在する各保険会社様および被保険者様とは一切関係ありません
説明可能性に寄与するか、の評価は以下をもとに判定する。
出力された推論の要約が以下の通りであること:
Aさんについて
・ルール①は影響しないこと
・ルール②により加入可能額が制限されること
・ルール③を全て確認した結果加入可能(保険料の増額はなし)であること
・全てを総合し、200万円であれば加入可であること
という評価内容及びそのプロセスが確認できること
Bさんについて
・現状の状態を以下の通り把握できていること
ルール①および②について、(加入可能額は制限されるが)加入不可とはならないこと
ルール③に照らして各項目を合算すると17ポイントで加入不可であること
・把握した現状から加入可能となるために、17-15=2ポイント減らす必要があるため、1日の喫煙本数を2本減らす(8本にする)必要があること
という評価内容及びそのプロセスが確認できること
3.OpenAI GPT5-miniの場合
まずは、推論が可能 かつ よく使われているであろうOpenAI社のGPT5-miniで確認する。
reasoning.summaryを指定することで、推論の要約が出力可能。先述のルールをinstructionsとして、問題をプロンプトとして送信する。
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5-mini",
instructions=(ルール),
input=(問題),
reasoning={
"effort": "medium",
+ "summary": "auto"
}
)
出力された推論の要約は以下の通り。
**Calculating insurance points**
I need to structure a response in Japanese regarding point calculations for insurance applications. If points exceed 15, we have to reject, so I’ll explain how to reduce points to 8 or fewer daily.
For person A, I can show a point breakdown and calculations. For person B, I’ll also detail their points and how they exceed the limit, explaining the necessary adjustments. I'll ensure to include the final decisions clearly for both cases.
**Clarifying insurance requirements**
I need to clarify the terms for insurance acceptance based on point reduction. If they reduce to 8 or fewer points per day, acceptance is possible, but a premium increase will still apply because their total points exceed 5. Also, the insurance amount is capped at 200万 due to income limitations.
For person A, the allowed amount is 200万, given their requested amount and existing coverage. For person B, the same cap applies despite any smoking reduction. I'll finalize a clear and concise answer summarizing these points and numbers."
上記の日本語訳
【保険のポイント計算について】
保険申請におけるポイント計算について日本語で説明します。ポイントが15点を超える場合は申請を拒否しなければならないため、1日あたりのポイントを8点以下に抑える方法を説明します。
まず、Aさんのポイント内訳と計算を示します。次にBさんのポイントも同様に詳細に説明し、なぜ制限を超えているのか、どのような調整が必要かを解説します。最後に両者の判断を明確に記載します。
【保険の受け入れ条件の明確化】
ポイント減少に基づく保険受け入れ条件を明確にします。1日あたりのポイントを8点以下に抑えれば受け入れ可能ですが、総ポイントが5点を超えているため保険料の増額は避けられません。また、収入制限により保険金額は最大200万円までとなります。
Aさんの場合は、申請希望額と既存の保障額を踏まえ、認められる保険金額は200万円です。Bさんについても喫煙減少があっても同じ上限額が適用されます。以上の内容と数値を簡潔かつ明確にまとめて回答いたします。
(ご参考)回答結果本体
以下、ルールに沿って計算・判定します。
Aさん
- ポイント算出
- 年齢30歳 → 1ポイント
- BMI30 → 3ポイント(BMIが30以上)
- 喫煙1本/日 → 1ポイント
- 現在治療中・手術・入院なし → 0ポイント
- 合計 = 1 + 3 + 1 = 5ポイント
保険金額の制限
- ① 1000万上限は問題なし(既加入0)
- ② 年収200万に対し希望300万 → 年収以上は不可のため希望額は年収と同額に制限 → 今回加入可能額 = 200万円
引受可否・保険料
- 合計ポイントは5ポイント(「5ポイントを超えた場合」にのみ保険料上乗せ)。したがって、引受は可能で、保険料の上乗せは発生しません(ただし保険金額は200万円に制限)。
結論:契約可能。ただし今回加入可能な金額は年収制限により200万円。保険料増額なし。
Bさん(参考)
現状のポイント
- 年齢40歳 → 2ポイント
- BMI22 → 0
- 喫煙10本/日 → 10ポイント
- 現在治療中 → 5ポイント
- 合計 = 2 + 10 + 5 = 17ポイント → 15ポイントを超えるため現状は引受不可
保険金額の制限(参考)
- 既加入800万+希望400万で1000万を超えるため①により今回の加入は最大200万円に制限
- 年収200万に対して希望400万 → ②によりさらに200万円が上限 → 結局今回加入可能額は200万円
何本に減らせば契約可能か
- 年齢+治療での固定ポイント = 2 + 5 = 7ポイント
- 合計が15ポイント以下であれば引受可 → 7 + 喫煙本数 ≤ 15 → 喫煙本数 ≤ 8本/日
- したがって、1日あたり8本以下に減らせば引受可能(ただし合計ポイントは7+Nで常に5ポイントを超えるため、保険料は上乗せになります)。
結論:現状(10本/日)は引受不可。8本/日以下に減らせば引受可となるが、保険料は増額(割増)されます。また加入可能額は年収・既加入額の関係で200万円が上限です。
推論の要約が出力されたが、説明可能性の観点で利用するには以下のポイントが気になる。
1. 定義した評価内容を満たしていない
・Aさんについて、結論に至るまでの評価プロセスが見えない
・Bさんについて、現状の評価プロセスが見えない
また、定義とは少し別問題だが、全体的に順序立てた説明になっておらず分かりにくい
2. 英語である
上記①②について、なんとか解決できないかそれぞれ試してみる。
ポイント①:要約の内容について
まずは、reasoning.summary=“detailed”とし、詳細な要約を出力するよう指定してみる。
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5-mini",
instructions=(ルール),
input=(問題),
reasoning={
"effort": "medium",
- "summary": "auto"
+ "summary": "detailed"
}
)
得られた要約は以下。より細かくステップが書き出されているが、Aさんについての推論の情報が少ない、いきなりBさんについての推論が記載されている、など十分な内容には至らなかった(何度か試したが同様の傾向)。
**Calculating smoking limits**
I need to find out the threshold for smoking points to avoid a contract decline. The maximum total allowed is 15 points, and if the user has an age of 40 and current treatment of 5 points, then the cigarettes would be the variable c. So, the total becomes 7 + c. This means c must be 8 or less to keep within the allowed limit. If it’s exactly 15, it’s okay, but if it goes over 5, there's a surcharge to consider.
**Determining insurance limits**
For the variable c, which can go up to 8, the total would be 15 if c equals 8. This means it's acceptable but triggers a premium increase since it exceeds 5. However, I can’t reduce the total below 7 because of current treatments. So, the total will always be above 5, leading to a surcharge upon acceptance. Similarly, the existing insurance and desired limits set constraints, ultimately capping the new insurance amount at 200. I need to keep these factors in mind while discussing the user's cigarette intake.
**Analyzing smoking limits for insurance**
Health underwriting is critical here. The user is asking how many cigarettes per day they need to reduce to in order to avoid declining their insurance contract. To prevent a decline, they should limit smoking to 8 cigarettes per day. However, even at this level, they will still face a surcharge because their total points will exceed 5. The requested insurance amount is capped at 200 due to their income and existing policy. Even if they stop smoking entirely, surcharges would still apply since their score would remain above 5.
**Clarifying insurance surcharges**
For the user, there will always be a surcharge due to their current treatment points and age, which total 7. Even if they reduce their cigarette intake to 8 or fewer, acceptance is still possible, but with an increase in premiums. The new insurance amount is also limited to 200万. If they want acceptance without a surcharge, that's not feasible. It's crucial to note that the maximum allowed is 8 cigarettes per day, and even then, the total will exceed 5, resulting in a premium increase. So, they need to reduce their intake to 8 or fewer cigarettes.
**Summarizing insurance scenarios**
I need to provide a concise breakdown of the user's situation regarding cigarettes and insurance. For scenario A, I’ll clarify their current points and income constraints, leading to a maximum insured amount of 200万 without a premium increase. For scenario B, I should show that with points totaling 17, they need to reduce cigarette intake to 8 or fewer per day to be acceptable. I'll mention that even at 8, the points exceed 5, leading to a premium increase. Quitting entirely wouldn’t eliminate the surcharge either.
上記の日本語訳
**喫煙制限の計算**
契約が拒否されないための喫煙ポイントの閾値を調べる必要があります。許容される最大総ポイントは15点で、利用者の年齢が40歳、現在の治療ポイントが5点の場合、たばこのポイントを変数cとします。このとき合計は7 + cとなり、cは8以下でなければ許容範囲内になりません。合計がちょうど15点なら問題ありませんが、5点を超えると割増保険料が発生します。
**保険の限度額の決定**
変数cは最大8まで設定でき、cが8の場合に合計は15になります。これは許容されますが、5点を超えるため割増が発生します。ただし、現在の治療状況により合計を7未満に減らすことはできません。そのため合計は常に5を超え、受諾される場合でも割増が適用されます。既存の保険と希望の限度額も制約となり、新規保険額は200万円までに制限されます。これらの要因を踏まえて、利用者の喫煙量について検討する必要があります。
**保険における喫煙制限の分析**
健康審査(アンダーライティング)が非常に重要です。利用者は契約拒否を避けるために1日に何本までたばこを減らすべきかを尋ねています。拒否を避けるには1日8本までに制限する必要があります。しかし、このレベルでも合計ポイントは5を超えるため割増が発生します。また、希望保険額は収入と既存契約により200万円が上限です。完全に禁煙してもポイントは5を超えるため、割増は避けられません。
**保険の割増についての説明**
利用者は現在の治療ポイントと年齢合計が7点のため、常に割増が発生します。たばこの摂取量を8本以下に減らしても受諾は可能ですが、保険料は増額されます。新規保険額も200万円に制限されています。割増なしでの受諾は現状では困難です。最大で1日8本まで喫煙可能ですが、それでも合計ポイントは5を超えるため割増が適用されます。したがって、1日8本以下に減らす必要があります。
**保険加入ケースのまとめ**
利用者のたばこと保険に関する状況を簡潔に整理します。ケースAでは、現在のポイントと収入の制約により、割増なしで最大200万円の保険が可能であることを説明します。ケースBでは、合計17点となるため、受諾可能にするにはたばこを1日8本以下に減らす必要があることを示します。ただし、8本でもポイントは5を超え割増が発生すること、完全禁煙しても割増はなくならないことを伝えます。
もうひと頑張りしてほしいので、推論の要約と直接的に関係があるわけではないがreasoning.effort=“high”とし、推論自体をより詳細に実施させてみる
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5-mini",
instructions=(ルール),
input=(問題),
reasoning={
- "effort": "medium",
+ "effort": "high",
"summary": "detailed"
}
)
Aさん、Bさんについての評価プロセスが確認できるようになっており、評価基準をある程度満たす状態になった。説明もより順序を追ったものになっており、読みやすくなったと感じられる。
**Calculating insurance points**
Alright, I'm figuring out how the points system works for this insurance application. Each cigarette equals one point, and there are other factors like treatments and hospitalizations that add points too.
If someone has more than five points, there's a surcharge, and more than fifteen points means a decline. So for "A" who is 30 years old, their BMI adds points, and with their smoking, they end up with exactly five points. Therefore, there's no surcharge, and they can be insured!
**Evaluating insurance limits**
I'm working through the insurance request with specific rules to follow. "A" requested 3 million but only makes 2 million, so their insured amount is limited to 2 million, as that’s the minimum of requested and income. Luckily, this amount fits within the maximum allowable limit of 10 million.
Now, looking at "B," their age and smoking habits lead to a total of 17 points, which exceeds the threshold of 15 points, meaning they can’t be insured right now.
**Calculating smoking limits for B**
The user wants to know how many cigarettes "B" can smoke per day to avoid rejection for insurance. Given that B currently has fixed points from their age and treatment, they start with 7 points. To be accepted, the total must be 15 points or fewer.
This means B can smoke up to 8 cigarettes a day without facing rejection. However, even if B reduces their smoking to zero, they still have a surcharge since 7 points exceed the threshold of 5. So, they will always have a surcharge.
**Determining smoking reduction for B**
The user asked how many cigarettes B should reduce to for insurance eligibility. I’m thinking they might want it down to 8 or fewer, but I need to consider other constraints. The requested coverage should be limited to 200万 due to existing coverage and income restrictions.
Even if B cuts back to 8 cigarettes a day, their total health points will still affect acceptance. So, I need to figure out if B will be accepted based on their overall points, regardless of smoking reduction.
上記の日本語訳
**保険ポイントの計算**
まず、この保険申請におけるポイント制度の仕組みを整理します。たばこ1本につき1ポイント加算され、その他にも治療歴や入院歴などの項目でポイントが加算されます。
ポイントが5点を超えると割増料が発生し、15点を超えると保険の承認ができません。例えば、30歳の「A」さんの場合、BMIによるポイントも加算され、喫煙ポイントも含めて合計5ポイントとなりました。したがって割増料は発生せず、保険に加入できます。
**保険金限度額の評価**
保険申請時のルールに従って検討します。「A」さんは300万円を申請しましたが、収入は200万円しかないため、申請額と収入のうち少ない方の200万円が保険金の限度になります。幸い、この金額は最大限度額1,000万円の範囲内です。
次に「B」さんの場合、年齢や喫煙状況から合計17ポイントとなり、15ポイントの上限を超えているため、現在は保険加入が認められません。
**Bさんの喫煙制限の計算**
「B」さんが保険拒否を避けるために1日に何本まで喫煙できるかを考えます。「B」さんは年齢や治療歴で固定の7ポイントを持っています。保険が承認されるためには合計ポイントが15点以下である必要があります。
つまり、「B」さんは1日に最大8本まで喫煙可能ですが、ポイントは依然として7点を超えているため割増料は免れません。たとえ喫煙をゼロにしても割増料は常にかかる状況です。
**Bさんの喫煙減少量の見極め**
「B」さんが保険加入のためにどれだけ喫煙量を減らせば良いかの質問に対し、8本以下に抑えることが目標かもしれませんが、他の制約も考慮する必要があります。既存の保障内容や収入制限から、申請保険額は200万円に限定される可能性があります。
「B」さんが1日8本に減らしても、総合的な健康ポイントが承認に影響するため、喫煙量の減少だけで承認が得られるとは限りません。総合ポイントを踏まえた上で承認判断を行う必要があります。
ポイント②:出力言語について
せっかく推論過程が分かったとしても、英語のままでは活用しにくいので、日本語で出力できないかを模索する。
残念ながらReasoning関連で出力言語に作用しそうなパラメータはないので、ルール(instructions)に日本語で推論・回答するよう追記してみる。
ユーザーが保険加入希望者の年齢、BMI、喫煙有無(アリの場合は1日の喫煙本数)、現在治療中の病気の有無、過去2年間の手術有無、過去3年間の入院有無、年収、今回希望する保険金額、すでに加入中の保険金額を入力しますので、
以下のルールに従い、保険契約可否(可能な場合でも、条件がある場合はその内容:保険金の制限や、保険料の増額有無)を判断してください。
+ なお、推論(reasoning)と回答は常に日本語で行ってください。
(以下略)
結果は…変わらなかった(以下、推論の要約の冒頭のみ抜粋:日本語を意識はしてくれているようだが、結局英語での出力であった)。
**Calculating and reasoning in Japanese**
I need to respond in Japanese while providing my reasoning. First, I'll compute the factorials: 5! equals 120, 3! is 6, which sums to 126. Then, 2! is 2, while 6! is 720, summing to 722. The difference is (5! + 3!) - (2! + 6!), which calculates as 126 - 722 = -596. Since they asked for "の差は," I'll ensure to show steps and keep it friendly in the Japanese response!
なると、現状では出力言語については自分で翻訳を行うしかないようだ。
4.Google Gemini 2.5 flash-liteの場合
ベンダー間で差異がある可能性もあるので、比較してみようと思う。
今回はGoogle社より、OpenAI社のGPT5-miniと同ランク帯と思われるGemini 2.5 flash-liteシリーズを対象とする。
Geminiシリーズにも、思考(thinking)という名称で類似した推論機能があり、その過程の要約を出力させることができる。
具体的には”include_thoughts”をTrueにすればよい。先述のルールをsystem_instructionとして、問題をプロンプトとして送信する。
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="gemini-2.5-flash-lite",
contents=(問題),
config=types.GenerateContentConfig(
temperature=0.9,
system_instruction=(ルール),
thinking_config=types.ThinkingConfig(
thinking_budget=-1,
+ include_thoughts=True
)
)
)
推論の要約の出力結果は以下の通り。
- 推論の要約は定義していた基準をほぼ満たしており、 推論内容の説明として十分なものだと評価できる。
- 出力言語が英語に限定されない:英語での出力が多いが、日本語で出力してくれるケースもあった。また、なぜかたまに中国語の場合もあった。
GPT5-miniとはモデルどころかベンダーも違うので、回答の挙動が異なっても全く不思議ではないのだが、類似する機能でここまで大きく差が出るとは正直思っていなかったので驚きである。
(推論の要約が英語で出力された例)
**Analysis of Insurance Applications: A Personal Perspective**
Alright, let's dive into these insurance applications. I've got two individuals here, A and B, and I need to assess their eligibility and the terms for their coverage. I'm operating under a set of rules, and as always, I need to make sure I'm adhering to those.
First up, there's a hard limit of 10 million yen per person – got it. Then, the desired insurance amount can't exceed their annual income. Makes sense. Now, here's where it gets interesting – the health risk points. Age, BMI, smoking habits, and any existing medical conditions or past surgeries all come into play. A total of 5 points or less is fine, but beyond that, it's a premium increase, and 15 or more, and it's a no-go.
**A's Application:**
A is a 30-year-old, with a BMI of 30, smokes one cigarette a day, and has no current or past medical issues. They're looking for 3 million yen in coverage, on top of zero existing coverage, and their income is 2 million yen.
Let's break it down:
* **Total Coverage Limit:** The requested 3 million yen, added to the existing zero, is easily within the 10 million yen limit.
* **Income Limit:** Their desired 3 million yen exceeds their 2 million yen annual income. This forces a reduction to a 2 million yen limit.
* **Health Risk:**
* Age: 1 point.
* BMI (30): 3 points.
* Smoking (1 cigarette): 1 point.
* No existing/past conditions: 0 points.
* The total risk score is 5 points.
The health risk assessment comes in at 5 points. This doesn't trigger any extra premium, and the total coverage is within range. So, the final verdict for A is that with the income-based restriction they can get 2 million yen in coverage, with no premium increase.
.
**B's Application:**
B is 40, has a BMI of 22, smokes 10 cigarettes a day, and has an existing medical condition. No surgeries, and no hospitalizations in the last few years. Their income is also 2 million, and they're looking for 4 million in coverage, on top of an existing 8 million yen policy.
Time to analyze:
* **Total Coverage Limit:** The combined 12 million yen exceeds the cap of 10 million yen.
* **Income Limit:** The requested 4 million also exceeds their 2 million annual income. Given the income restriction B can be covered up to 2 million.
* **Overlapping restrictions:** Based on both rules the total coverage will be restricted to a maximum of 2 million.
* **Health Risk:**
* Age: 2 points.
* BMI (22): 0 points.
* Smoking (10 cigarettes): 10 points.
* Existing medical condition: 5 points.
* The total risk score is 17 points.
The risk score is 17 points. This surpasses the 15-point threshold, so a straight denial of coverage is required.
**B's Options:**
B is currently ineligible due to the health risk score. To become eligible, the total health risk score needs to be brought down to 15 points or below. The score breakdown is fixed aside from smoking which can be controlled.
* Smoking Reduction:
To reduce the risk factor to less than 15 points B needs to stop smoking, or in order to remain eligible and reduce the total risk score by 10 points or more. The smoking level needs to be reduced to 8 or less cigarettes a day. This still puts them at the maximum total coverage of 2 million based on income constraints. B could qualify, but with a potential increased premium.
(推論の要約が日本語で出力された例)
**判断と対応策の整理**
まず、AさんとBさんの保険加入可否について、私は以下の流れで検討しました。
**判断基準の整理:**
1. **総額制限:** 各個人の加入上限は1000万円。
* 今回希望する保険金額と既に加入している保険金額の合計が1000万円以下であれば問題なし。
* 超える場合は、加入可能な金額を計算。
2. **年収制限:** 希望する保険金額が年収以下であること。
* 年収が希望金額より少ない場合は、年収が加入可能額となる。
3. **健康リスクポイント:** 年齢、BMI、喫煙本数、既往歴などをポイント化し、合計ポイントによって判断。
* 5ポイント以下であれば問題なし。
* 5~15ポイントであれば保険料増額。
* 15ポイントを超えると引き受け見送り。
**Aさんの分析と結論:**
* Aさんの場合、年収は200万円、希望保険金額は300万円、既に加入中の保険金額は0円でした。
* 総額制限はクリア(300万円 <= 1000万円)。
* しかし、年収制限により、加入可能額は200万円に制限されました。
* 健康リスクポイントは5ポイントであり、保険料の増額や引き受け見送りはありません。
* したがって、Aさんは200万円の保険金額で加入可能です。
**Bさんの分析と結論:**
* Bさんの場合、希望保険金額は400万円、既に加入中の保険金額は800万円、年収は200万円でした。
* 総額制限:1200万円となり、1000万円を超えているため、加入可能額は200万円に制限。
* 年収制限:希望金額400万円は年収200万円を超えているので、加入可能額は200万円に制限。
* 健康リスクポイント:17ポイントとなり、15ポイントを超えているため、現状では引き受け見送りとなります。
**Bさんの質問への対応**
* Bさんからの「たばこを1日何本に減らせば契約できますか?」という質問に対し、私はまず現状では引き受け見送りであることを説明。
* 次に、Bさんが保険に加入できる金額は200万円(総額制限と年収制限のため)であることを提示。
* 健康リスクポイントを15以下にするためには、喫煙本数を8本以下に減らす必要があることを伝えました。
* ただし、保険料が増額される可能性があることも明記しました。
これで、私はユーザーからの質問にすべて回答できたと考えています。
Gemini 2.5 flash-liteにおける推論の要約は内容自体は十分な情報量がありそうだが、日本語で出力されるとは限らなかった。そこで、Geminiについても日本語で推論の要約を出力するよう指定できないか?試してみる。
調べたところ、思考(thinking)関連で出力言語に作用しそうなパラメータはないので、 OpenAIの時と同様にsystem_instructionに日本語で思考・出力するよう追記してみた。
ユーザーが保険加入希望者の年齢、BMI、喫煙有無(アリの場合は1日の喫煙本数)、現在治療中の病気の有無、過去2年間の手術有無、過去3年間の入院有無、年収、今回希望する保険金額、すでに加入中の保険金額を入力しますので、
以下のルールに従い、保険契約可否(可能な場合でも、条件がある場合はその内容:保険金の制限や、保険料の増額有無)を判断してください。
+ なお、思考(thinking)と回答は常に日本語で行ってください。
(以下略)
System_instructionでの指示なしでも日本語出力してくれていたので、これで日本語で出力しやすくなってくれると嬉しかたのが…残念ながら結果的にはあまり変化は感じられなかった(細かい出力内容は割愛するが、英語での出力割合も変わらず高い)。
元々System_instructionを日本語かつ長文で与えていたことで、出力は既に日本語に寄っており、これ以上調整の余地はなかったのかもしれない。
5.まとめ・全体的な考察
対応モデルについて、推論の要約にてモデルの出力に至る過程を可視化することができた。設定も多少必要な可能性はあるが、モデルの推論過程に対する説明可能性を満たすうえでも、一定利用価値はありそうだ。
ただ、以下のように注意が必要なポイントもあった。
- ユーザーからの指示によらず英語での出力になりやすい
- 今回の課題では1つ1つのルールごとの評価までは読み取れないことが多かった
これらは、(モデル内部の挙動は確認できないので推測の域を出ないが)あくまで「推論の要約」が推論結果の要約であり、推論プロセスそのものではないから、ということかもしれない:
- 結果の要約である以上、その出力プロセスに対するユーザーのプロンプトの影響はない、もしくは限定的であるがゆえに、英語で出力されやすくなる?
- 要約という性質上、細部はまとめられてしまう?
今回の結果を踏まえて、利用を検討していきたい。
(余談)推論・思考におけるベンダー間のその他差異
今回の比較にあたり推論・思考の要約の出力内容以外でも、ベンダー間で何点か差異があったので、簡単にまとめる。
- 要約の記載レベル
- OpenAIのモデルは推論の要約の記載レベルをreasoning.summaryのパラメータにてある程度指定できる(auto | concised | detailed)が、Geminiでは指定できない(オンオフのみ)。
- 推論・思考の深さ
- OpenAIのモデルは推論の深さをreasoning.effortでnone、low、medium、highの4段階で指定できる。 Geminiは推論(思考)の深さをより連続的に変えることができる:thinking_budget(トークンの予算、といった概念のようなので深さとは厳密には違うかもしれないが)として、より連続的に数値で指定可能。 なお、今回の記事ではGeminiのthinking_budgetは全て-1(LLM側で自動で判断)を指定している(デフォルトではthinking_budget=0となっており、推論自体を実施しないモデルも多いため、注意)。
- 推論・思考自体の実施有無
- OpenAIはo4-miniなどの推論系モデルであっても、必ずしもReasoningするとは限らなかった。今回取り扱ったような単純なタスクであれば、要約が出力されない(=Reasoningがされていない)こともしばしば。 一方で、Geminiはthinking_budgetを指定することで、必ず?推論が実施される(OpenAIと異なり、要約が毎回出力されている)。
- 推論・思考時のtemperature
- OpenAI系の最近のモデルは該当パラメータが指定できなくなっている一方で、Geminiは指定が可能