Claude数式・計算の精度と検算が必要な理由
Claudeは数式や計算を処理できますが、重要な計算は専用ソフトや手動での検証が推奨されています。拡張思考とコード実行で精度を上げる方法と、検算が必要な場面の見分け方をまとめます。
Claudeは数式の展開や計算を処理できます。ただしヘルプセンターの該当ページは、複雑な計算や重要な計算を専用の数学ソフトか手作業で検証するよう求めています。
Claudeは電卓と違い、答えを言語モデルとして生成します。桁数の多い計算や多段階の証明、和暦・西暦をまたぐ日付計算では、途中の誤りが後続の計算に引き継がれることがあります。対策は2つあり、考え直させる「拡張思考」と、プログラムに計算させる「コード実行」です。家計簿のCSVをコード実行で集計・グラフ化する手順は家計簿データを読み込ませて支出を分析する手順にあります。
どんな計算なら検算が要るのか
簡単な計算や定型的な数式の説明は、検算の優先度が下がります。目安として、検算を前提にしたいのは次の3つのどれかに当てはまる計算です。
- 暗算では検算しきれない桁数の計算(大きな数の掛け算・割り算など)
- 複数ステップを経て初めて結論が出る証明・最適化問題
- 結果がそのまま金銭・契約・医療判断に使われる計算
検算した数式を学習ノートとして残すなら、ClaudeのArtifactsで数式ノートをLaTeX表示のまま作る方法も参考になります。
拡張思考とコード実行は何が違うのか
考え直させるか、計算させるか
拡張思考
同じモデルが、答える前に複数の角度から検討します。計算そのものの確実さまでは保証されません。
コード実行
Claudeがその場でPythonを書き、サンドボックスで走らせます。数値はプログラムが計算します。スクリプトの書き間違いまでは防げないため、結果の桁と単位は確認が要ります。
同じ質問に毎回少しずつ違う答えが返るのも、トークンを確率で選ぶ同じ仕組みが関わっています。仕組みはClaudeの回答が毎回違うのはなぜかで扱っています。告示の式をコードにして案件表に当てる実例は、宅建業の媒介報酬の上限の検算にあります。
拡張思考の設定:エフォートと思考は別のスイッチ
送信ボタンの隣にあるモデルメニューでは、モデル・エフォート・思考の3つを選びます。エフォートの選択肢が出るのは、Sonnet 5.5・Opus 5.5・Fable 5.1・Opus 5・Sonnet 5・Fable 5・Opus 4.7・Opus 4.6・Sonnet 4.6です。ヘルプセンターは、数学的な計算と証明をエフォートや思考を上げると効く用途の筆頭に挙げています。
- エフォート: Low / Medium / High / Extra high(xhigh)/ Maxの5段階です。Extra highはOpus 4.7以降のモデルで使えます。メニューで「Default」と表示された段階が、モデルごとの推奨です
- 思考: 「Thinking」(または「Extended」)のトグルで、答えを出す前に推論する過程をオンにします。エフォートとは別の設定で、組み合わせは自由です
- 思考の確認: オンにすると応答の上に「Thinking」セクションが出ます。開くと、答えにたどり着いた経路を追えます。検算の最初の一手として、結論までの道筋を確かめる用途に向いています
モデルの違いで効いてくるのが、思考をオフにできるかどうかです。Sonnet 5.5・Opus 5.5・Fable 5.1・Opus 5では、Claudeアプリで思考をオフにできません。Opus 5.5とFable 5.1は、API経由でも全エフォートで思考が常にオンです。
Opus 5をAPIで使う場合は、high以下なら思考をオフにでき、xhighとmaxでオフにするとエラーが返ります。Sonnet 5.5はAPIで思考をdisabledにするとエラーになるため、応答前の思考だけを切るにはbetween_toolsを指定します。計算の精度を取りたい場面では、オフにする利点は小さいと考えられます。
エフォートの対象モデルはページごとに違います。API側のエフォートのページではOpus 4.8でxhighとmaxを指定できますが、ヘルプセンターのエフォート対象の一覧はOpus 4.7・4.6までです。チャット画面にEffortが出ないモデルでも、APIでは指定できることがあります。
何も指定しないときの既定にも差があります。APIでは、Opus 5.5の既定のエフォートはmediumで、ほかのモデルはhighです。Opus 5.5で精度を取りたいなら、明示的に一段上げる選択肢があります。
エフォートを上げると応答は丁寧になる一方、時間とトークンが増え、利用上限に早く届きます。LowとMediumは日常の用途向けで、使用量を長持ちさせます。正確さが問われる最も難しい作業にはMaxがあり、応答には長い時間がかかります。
モデル・エフォート・思考は会話の途中でも変えられ、変更は次の応答から効きます。最初の答えに不安があれば、同じ会話のままエフォートを上げて聞き直せます。
Claude Codeでは、起動時に--effortでセッションのエフォートを決められます。v2.1.287のclaude --helpでは次のように表示されました。
--effort <level> Effort level for the current session
(low, medium, high, xhigh, max)コード実行で検算スクリプトを走らせる
もう1つの手段が、「コード実行とファイル作成」です。Claudeが検算用のPythonを書いて実行し、結果を返します。「この計算をPythonで実行して確認して」と頼めば使われます。依頼は具体的に書き、構造・内容・書式まで指定します。出力は必要に応じて見直し、整えます。
検算を頼む流れ
- 1
コード実行がオンか確かめる
Free・Pro・Maxでは、Settings > Capabilitiesの「Code execution and file creation」をオンにします。Team・Enterpriseでは組織側の設定が先です。
- 2
計算の入力と丸め方を渡す
数値、単位、端数処理(切り捨て・四捨五入)を依頼文に書きます。ここが曖昧だと、スクリプトは正しく動いても答えの前提が違います。
- 3
結果とスクリプトを見る
答えの数字だけでなく、実行されたコードを開き、入力の取り違えがないかを見ます。
- 4
重要な数字は別の手段で裏を取る
契約金額や医療関連の数値は、ここまでやっても専用ソフトか手作業での検証が前提です。
丸め方を指定する理由は、数字で見るとはっきりします。税抜1,298円の商品3つと2,750円の商品1つに税率10%を掛け、1円未満を切り捨てるとします。合計(6,644円)にまとめて掛けると税は664円で、税込7,308円です。1品ずつ税を計算して足すと税は662円になり、2円ずれます。どちらも計算としては正しく、違うのは丸めの単位です。
from decimal import Decimal, ROUND_DOWN
items = [Decimal("1298")] * 3 + [Decimal("2750")]
rate = Decimal("0.10")
yen = Decimal("1")
total = sum(items)
tax_on_total = (total * rate).quantize(yen, rounding=ROUND_DOWN)
tax_per_line = sum((i * rate).quantize(yen, rounding=ROUND_DOWN) for i in items)
print(total, tax_on_total, tax_per_line) # 6644 664 662このスクリプトをローカルのPythonで実行すると、6644 664 662と出力されます。検算を頼むときは、依頼文で「合計に掛けるのか、1品ずつ掛けるのか」まで指定すると、結果の食い違いを避けやすくなります。
使える範囲はプランと設定で変わる
利用できるプランはFree・Pro・Max・Team・Enterpriseで、Web版・デスクトップアプリ・モバイルアプリのいずれからでも使えます。CSVやTSVなどのデータファイルをアップロードでき、アップロード・ダウンロードとも1ファイル30MBが上限です。
CSVやExcelの集計・検算は、Claude CoworkのExcel・スプレッドシート分析とClaude Excel関数の書き方が手順の手がかりになります。論文の統計値を生データと照合する手順はClaudeで論文の統計値を生データと照合して検証するにあります。
計算に追加ライブラリが要る場合は、ネットワークの設定が効いてきます。ヘルプセンターの同じページでも、Teamのネットワークアクセスについて記述が分かれています。
| 箇所 | Teamの外部ネットワーク |
|---|---|
| 「Availability」の節 | Teamの外部ネットワーク既定で無効。オーナーが組織設定で有効にできる |
| 「Enabling on web and desktop」の節 | Teamの外部ネットワーク既定で有効。アクセス先はパッケージマネージャーのみ |
同じページの「Configuring network access」の節は、パッケージマネージャーのみへのアクセスを(default)としています。TeamとEnterpriseでは、3つの節で既定の書き方が揺れていることになります。Teamで追加ライブラリを使う検算が止まるときは、オーナーに外部ネットワークの設定を確かめてもらうのが近道です。
Enterpriseの新規組織は、ネットワーク外部アクセス(Allow network egress)がオフの状態で始まります。この場合Claudeはプリインストール済みのパッケージだけで動きます。オーナーは、パッケージマネージャーのみ・指定ドメインを追加・全ドメインの3段階に広げられます。
Free・Pro・Maxではネットワークアクセスが有効で、承認済みの取得元からパッケージをインストールできます。承認済みドメインには、pypi.org、files.pythonhosted.org、registry.npmjs.org、github.comが含まれます。
APIのコード実行ツールには、numpy・scipy・sympy・mpmathとコマンドラインのbcがプリインストールされています。Claudeアプリのサンドボックスと同じ構成とは限らないため、アプリで特殊なライブラリが要る検算は、ここまでのネットワーク設定の影響を受けます。
用途別の使い分け早見表
次の表の「理由」欄は目安です。
| 用途 | 向く方法 | 理由 |
|---|---|---|
| 簡単な暗算・概算(桁数が少ない四則演算) | 向く方法そのまま質問 | 理由確認の手間が見合わない |
| 多段階の証明・最適化・場合分けが多い問題 | 向く方法拡張思考(Effortを上げ、Thinkingをオン) | 理由複数のアプローチを比較しながら考えられる |
| 桁数の多い計算・統計処理・データ集計 | 向く方法コード実行(Pythonで実行) | 理由数値の計算をプログラムが担う |
| 金額・契約・医療など結果が業務に直結する計算 | 向く方法コード実行に手動検証を足す | 理由丸めの単位など前提の食い違いは、コードを動かしても検出できない |
最新のニュースや事実確認が絡む計算はClaude Web検索の使い方、複数の情報源を横断する調査はClaudeリサーチの使い方が合います。ヘルプセンターは、数学の問題を拡張思考の例に挙げ、Webの最新情報が要らない推論には単独で使うよう案内しています。
よくあるつまずき
- Thinkingの表示が途中で止まる: 思考の内容がAnthropicの安全システムに触れると判定されると、残りは表示できないという旨のメッセージが出ます。依頼の役に立たなくなったときは、聞き方を変えて試すよう案内されています
- コード実行が動かない: Team・Enterpriseでは、組織設定でコード実行そのものが無効にされている場合があります。プリインストール以外のライブラリを使う検算は、外部ネットワークの設定でも止まります
- 想定外のデータに触れているように見える: コード実行中はClaudeの動きを見守り、想定外のデータへアクセスしているときは止めます。実行されたコードや操作は後から見直せます。1つのタスクの長さとサンドボックスを使える時間にも上限があります
- モデルやEffortの項目が出ない: Enterpriseでは、役割ごとに管理者がモデルやエフォートを非表示にしていることがあります。毎回同じモデルとエフォートで始まる場合も、管理者の設定の可能性があります。チャットの中なら、どちらも変更できます