金額の計算や集計をAIに頼むと、式は合っているのに答えがずれる、ということが起きます。Program-Aided Language Models(PAL)は、途中の推論を文章ではなくコードで書かせ、実行した結果を答えにする方式です。仕組みを理解すると、指示文の書き方と確かめ方が変わります。

文章で解く方式との違い
Learn Prompting の解説ページは、PAL を「コードを使って中間の推論を表す」方式と説明しています。文章で段階を追う方式(Chain-of-Thought)は、途中の計算も文章で書くため、桁の扱いや四捨五入の位置でずれます。PAL はその部分をコードに任せ、計算そのものは実行環境に渡します。自然言語の説明は、コードのコメントとして残る形になります。
手順1:計算が絡む依頼かどうかで分ける
依頼の中に数値の計算が含まれるかを見ます。含まれるなら、この方式の対象です。文章の要約や言い換えだけの依頼には不要で、入れると手間が増えるだけです。
手順2:答えではなく式を書かせる
指示文では「答えを書かず、計算の手順をコードで書いてください」と明示します。解説ページの例でも、変数の定義と計算の行が並び、各行に日本語のコメントが付く形になっています。変数名は意味の分かる語にさせると、後から検算できます。
手順3:前提の数値を先に固定する
単価や件数のように、計算の前提になる数値は、依頼文の中で明示します。AIに探させると、それらしい数値を補ってしまうことがあります。手元の資料から写した数値だけを使う、と条件に書いてください。
手順4:実行して結果を受け取る
書かれたコードを実行し、出力を答えとして扱います。手元に実行環境がない場合は、表計算の数式に置き換えて確かめる方法でも構いません。大事なのは、答えを文章から読み取らず、実行の結果から読むことです。ハルシネーションが起きやすいのは、この「文章で計算する」段階です。
手順5:検算の行を1つ足す
締めくくりに、逆算や概算で確かめる行を足させます。桁が大きくずれていれば、前提の数値か単位の取り違えです。この一手間で、見積もりの誤りはほとんど捕まります。
FAQ
Q. プログラミングの知識がなくても使えますか?
A. 使えます。読む必要があるのは変数の意味と、前提の数値が正しいかどうかです。コードの文法を理解していなくても、実行結果と概算を比べれば確かめられます。
Q. 表計算で足りる場面でも使いますか?
A. 表計算で足りるなら、表計算のほうが確実です。この方式が効くのは、条件が文章で書かれていて、どの式を当てるかを判断する必要がある場面です。
出典
出典:Learn Prompting「Program-Aided Language Models (PAL): Code-Driven Problem Solving」(2024年8月7日更新、2026年10月24日参照)
あわせて使いたいツール
本記事の手順を実際に回すときに、候補になるツールを挙げます。いずれも無料から試せる範囲があり、料金や機能は各サービスの公式情報で確認してください。
関連ガイド
同じ時期に公開した実務ガイドと、用語の定義ページです。手順の前提が分からない場合は、用語ページから確認してください。コピーして使える依頼文が欲しいときは、プロンプト集も参照してください。
- 同じ依頼を3通りに言い換えて、当たり外れを減らす
- 分類の偏りを例示の並びから疑う:点検の3つの手がかり
- ハルシネーション(用語辞典)
- はじめての LLM 活用(学習ルート)
- ガイド一覧(実務手順をまとめて読む)
- AIツール一覧(道具から探す)
- 比較記事一覧(料金と機能で比べる)
- レビュー一覧(使った記録を読む)
編集部の見解
計算の誤りは、注意力の問題ではなく手順の問題だと思います。文章で計算させている限り、どれだけ指示を工夫しても桁のずれは残ります。式をコードとして書かせ、実行結果を答えにする。この一手を入れるだけで、見積もりの確認作業が現実的な量に収まります。
最新のAI情報をメールで受け取る
新着のAIツール比較・ランキング・ニュースを、まとめてお届けします。
ご登録後、確認メールをお送りします。配信停止はいつでも可能です。
