ChatGPT 5.2リリース:投資戦略生成で「数式を使え」プロンプトが破滅を招くメカニズム
「数式を使い丁寧に説明してください」←最悪のプロンプト
LLMに数式を吐かせて投資戦略を考えさせるのは絶対にやめた方が良い。もしあなたがそんなことをしたら、金融専門家が見ても、LLM専門家が見ても、すぐにひっぱたいてやめさせる。
金融視点
そもそも、数式が現実の取引で上手くいかないことをよく知ってる。あくまでも自分の感覚だが、
- マーケットポートフォリオを用いたインデックスファンド
- ミクロな企業情報に基づいた投資(数字より実世界寄り)
- 機械学習による(実世界情報と数字両方での)ゴリ押し
これらが投資の鉄板。これらを外したら成功する確率は低いと思ってほしい。
マーケットポートフォリオ(低コストインデックス)
→ 99%の個人投資家にとってこれが最適解。コスト0.03%の全世界株式かS&P500(個人的にはオルカンが圧倒的おすすめだけどね)を積立して寝るだけ。シャープレシオもリスク調整後リターンも歴史的に最強クラス。
ミクロな企業分析(実世界寄り・バフェット流)
→ 数字だけじゃなく「このビジネスは10年後も強いか」「競争優位性は本物か」「経営者が信頼できるか」を深掘りする。ウォーレン・バフェット、テリー・スミス、ニック・スリープとかがこの系譜。年10-15%を30年続ける怪物たち。
ガチガチのクオント(ルネッサンス、ツーシグマ、DEショー)
→ 実世界情報(衛星画像、クレカデータ、求人情報、船舶追跡)+数字を両方ぶち込んで、超短期間でアルファを抜く。ただし必要なインフラ・人材・データコストがバカ高いので、個人ではほぼ不可能。
LLMにそれっぽい数式を吐かせてポートフォリオ構築っていうのは、どれにも当てはまってない。もちろん、それだけでダメとは言わないけど(この先、LLM利用が第4の道になる可能性が絶対ないとは言わないけど…)、個人的な見立てでは、第4の道ではなく、失敗する典型例の一つに過ぎないと思ってる。
LLM視点
そもそも、わざわざLLMを用いる意味が解らない。ハルシネーションのリスクを負った上に、機械学習に基づいた言語モデル→言語に基づいて学習した数式、さらに多段推論するというありえないほど遠回りで非効率、そして危険な方法を取ってる。
じゃあ、LLMに数式を吐かせなければいい?
短絡的にはそうなると思うけど、じゃあ、なぜLLMは数式を出してしまうのか。ここに注目すると、プロンプトエンジニアリング文化、LLM界隈の病巣が見えてくるのではないか。
LLMが数式を吐きがちなプロンプト
- 金融の専門家の視点で(いわゆるロールプレイ)
- 数式を用いて丁寧に
- AIを使って市場を出し抜く方法(具体的な指示)
直観的に、これはかなり数式を吐きやすくなると思う。そして、これらってLLMのプロンプトエンジニアリングで良いとされていたものばかりだ。
こういう人間のバイアスが、LLMが危険な動作を起こす一番の理由。別にユーザーの指示に従ってるだけだから、ハルシネーションは起こしてない。人間が全部悪い。
例えば投資なんかの場合、出力はきれいでユーザーの指示に従ってる。丁寧だし論理破綻はないけど、人間を破滅させる爆弾が出力されることになる。
世の中のプロンプトエンジニアリングの99%は人間を破滅させるだけ。
いわゆるプロンプトエンジニアリングって、LLMの創造性、批判的思考力の翼をもいで人間の都合の良いように制約してるだけに過ぎない。
出力の形を強制したい場合、これは便利ではある(コーディングやデータ整形、資料作成、あるいは要約においても有効かも。)
タチが悪いのは、このプロンプトエンジニアリングによってユーザー入力に対する回答の正確性が上がるということ(いわゆるハルシネーションが減る)。さらに、より望んだ形での出力をしてくれるので、人間の検知も減る(こちらはさらに致命的で、ユーザーの考えに対してハルシネーションしていない以上絶対に気づくことはない。)
じゃあ、どういうプロンプトエンジニアリングがいい?
あなたの率直な気持ちを書けばいい。よくわからないのに、数式を使ってとか指示するのは絶対にダメ。
投資したいなら、
「投資で仕事以外での収入増やしたいです」
これだけでいい。わからないことがあったら、わからないと言えばいい。
自分の気持ちを書くコツ
自分が本当に欲しいものは何か考えること。
「投資で仕事以外での収入増やしたい。」このレベルでもいいけど、資産形成という面では、投資以外、収入以外の方法もあるよ。自分が本当にほしいのは何?
お金持ちになりたいなら、
生活に困らないくらいのお金持ちになりたいです
と言えばいい。
ファジーな入力と出力の鋭さを両立するシステムプロンプト
ファジーすぎる入力って、出力がふわっとしすぎだし、対話のターンがややかさみすぎるのでいちいち出力を読むのが面倒臭い。それを改善するシステムプロンプト
システムプロンプト例
あなたのタスク:ユーザーの質問に対して、いきなり本文を生成してはいけない。
まず「回答の方針(方針カード)」を2〜3個だけ提示し、
その後は生成を停止して、ユーザーの選択を待て。
例外:
ユーザーのメッセージに「簡潔に」「簡単に」「一言で」「結論だけ」「短く」「サクッと」「ざっくり」など、明らかに短い回答を希望する表現が含まれている場合、方針カードを生成せず、直接簡潔に回答せよ。
それ以外の場合は、必ず方針カードを提示する。
目的:
先に方針を選ばせることで、ユーザーが真に求めていることを把握する。
ユーザーの質問に対して、あなたが自然に取りがちな“回答方針(モード)”がたとえ同じでもよい。
その場合は、同一モード内の「別の頂点候補」(=出力が実際に変わる運用差)を2〜3枚提示する。
ルール:
- カードは2〜3枚。各カードは1行。
- カード同士は「読後に得られるもの」が変わること(長さ/粒度/進め方/比較形式/質問の有無/優先順位 など)。
- 読後に得られるものが変わるのであれば、“十分に離れた案”である必要はない。
- ただし同じ内容の言い換えは禁止(選択しても結果がほぼ同じになるのはNG)。
- 本文回答・補足説明は書かない。
出力形式:
A. <短いタイトル> — <出力がどう変わるか>
B. <短いタイトル> — <出力がどう変わるか>
C. <短いタイトル> — <出力がどう変わるか>(必要なら)
最後に、次の形式で必ずユーザー入力を求めよ:
「A / B / C のどれで進めますか?」
ユーザーがどのような流れで進めるか決定した後、本文を全て生成し、ユーザーの次の質問を待つ。(対話の1ターンを、質問、方針の2ターンに分けるイメージで。)
この形にすることで、ユーザーがファジーな入力をしたときでもモデル側がある程度候補を出して絞ってくれる。ユーザーは自分の気に入りそうな方にいけばいい。(ただし、選択という行為にユーザーのバイアスがかかるよ。ただ、お金持ちになりたいのにお金持ちになれないような破滅的な出力は出づらくなるはず。)
プロンプトエンジニアリングの神は死んだ
「Chain of Thought入れれば入れるほど賢くなる」
「ロールプレイさせれば専門家になる」
「数式を使え・ステップバイステップで・丁寧に、と言えば正確になる」
「出力形式をガチガチに指定すればハル減る」
これらはいわゆるおまじない。見た目は荘厳だが、人間を破滅に導く、「虚偽の偶像」
これからは、人間のための、プロンプトエンジニアリング
- 「ユーザーの本当の欲求を暴く」
- 「ユーザーに複雑なことはさせない」
- 「選択肢を提示して読みやすくする」
ユーザーのためのプロンプトエンジニアリングの時代になると思う。
補足
昔は、モデルがバカだったので、プロンプトエンジニアリングでおまじないをかけることで制御しないと使えなかった。だから、昔の研究結果とかをこれだけで否定はできない。
モデルの進化によって最適なプロンプトエンジニアリングは変わっていると思う。このプロンプトも例外ではない。もしかしたら、方針カードがプラットフォーム側のUI、UXに統合されてプロンプトから消える時代も来るかも。
同時掲載、宣伝
【この記事は以下のプラットフォームにも同時掲載しています】
・note版 → https://note.com/yoshi_0622/n/n8cf67bfdf35a
・Zenn版 → https://zenn.dev/articles/5ccf19acf19cbc
現在LLM関連の論文があるので、特許出願後に論文公開します!(日本語訳、解説付き)
もしこの記事が気に入ったら、フォローもお願いします!論文は自信があるので、後悔させません!
Discussion