みなさん、こんにちは!
「ALPHA FORGE 開発秘話」の第22話です。
土曜の朝、AIの判定役を出たばかりの最新モデルに替えました。そのままなら、月曜朝7時のAIピックは全件エラーで0件になるところでした😱
しかも調べてみたら、比較役のAI(シャドウ)は13日も前から、誰にも気づかれずに止まっていたんです。
日本株のAI銘柄スクリーニング&継続学習端末「ALPHA FORGE(アルファフォージ)」を、Claude Code と二人三脚で個人開発しています。今回は【事件簿】回。「新しいモデル=上位互換」とは限らなかった話です🔁
【要約:この記事で伝えたいこと】
- 判定役を最新モデル(Claude Opus 5.5)に替えて土曜に試し打ちしたら、「必ずツールを呼んで」という指定(強制ツール指定)を受け付けず全件 HTTP 400。月曜の本番前に見つかった
- AIは3つの選択肢を出し、人間はおすすめ(対応の実装)ではなく「1つ前のモデルに替える」を選び、トークン比較を見て最後は「全部元に戻す」と決めた
- 持ち帰り:モデルの乗り換えは「試し打ち→比較→戻す道」までがセット。そして0件が続く比較役は、エラーより先に「止まっていないか」を疑う
※本記事はnote連載[ALPHA FORGE 開発秘話 #22] の技術的な部分を、エンジニア向けに再構成したものです。
🆕 最新モデル、使ってみたくなるよね
ALPHA FORGE の中では、AIが2人で仕事をしています。売買判定を左右する「公式」と、同じ問題を解いて成績を比べるだけの「シャドウ」。公式は Claude、シャドウは Gemini、という組み合わせです。
9月26日(土)の朝、私はAI(Claude Code)に頼みました。
LLMモデル名プルダウンは選択可能なものをすべて表示してください
設定画面のモデル欄に、選んでいるモデル以外が出てこなかったからです。直ったので、続けてこう頼みました。
すべて公式のAPIでサポートされているモデル名を取得してください
各社の公式のモデル一覧から候補を取る機能ができあがり、一覧には出たばかりの最新モデルがずらり✨
そこで設定を変えて、こう伝えました。
デフォルトOpus5.5、Shadow gemini-3.8-flashにしました。
コミット&プッシュして、ためしにピックを実行してみて、トークン消費量を前の設定と変化量を比較してください。
💥 試し打ちで、全件400
試し打ちを始めて数分。AIから質問が飛んできました(要旨)。
Opus 5.5 は強制ツール指定に非対応で、今の設定だと月曜の判定が全件失敗します。どう進めますか?
何が起きていたか、かみくだくとこうです。ALPHA FORGE は、AIに判定させるとき「必ずこの書式(ツール)で答えて」と指定しています(第8話の、3つの価格を必ず言わせる仕組みです)。ところが最新の Opus 5.5 と Fable 5.1 は、この「必ず」の指定を受け付けず、HTTP 400 を返してきました。1つ前の Opus 5 と Sonnet 5 は大丈夫。新しいほうが、いつもの頼み方を断ってきたんです🙅
しかもアプリのログには、400という数字しか残っていませんでした。理由の本文が記録されない作りだったので、ログだけ見ても「なんかエラー」としか分からない。土曜に試し打ちしていなければ、月曜の朝7時に0件のピックと、理由の書いていないエラーの山を見ることになっていました😇
新しいモデルが「上位互換」とは限りません。tool_choice で特定のツールを強制する指定のように、これまで通っていた頼み方を受け付けないことがあります。エラーは番号だけでなく、理由の本文までログに残しておくと原因にすぐたどり着けます。
🧭 選んだのは、おすすめじゃない選択肢
AIが出してきた選択肢は3つでした。
- Opus 5.5 に対応する実装を入れる(おすすめ)。非対応のモデルでは「自動」指定に切り替え、ツールを呼ばなかったら1回だけやり直す
- claude-opus-5 に変更する。コード変更なしで今すぐ動く
- Sonnet 5 に戻す。月曜の定期実行を確実に動かす
私が選んだのは2つ目。おすすめの①は、土曜に判定の心臓部へ分岐を足すことになります。まずは今すぐ動く形でコストを比べたかったんです。
AIは Opus 5 に替えて中長期のピックを1回実行し、174秒で完了。1回の判定あたりのトークンを、前の設定(Sonnet 5、直近215回の平均)と比べてくれました。
| 項目 | 前の設定(Sonnet 5) | Opus 5 | 変化 |
|---|---|---|---|
| 入力トークン | 2,788 | 3,132 | +12% |
| 出力トークン | 527 | 757 | +44% |
| 推定コスト | — | — | 約6.4倍 |
判断の根拠を多めに書くぶん出力が長くなり、単価も高い。この数字を見て、私は「もとにもどしましょう」と決めました。続けて「コードも戻しましょう」。設定も、モデル一覧を取る機能も、まとめて打ち消しのコミットで元通りです↩️
🔇 ついでに見つかった、13日間の沈黙
比較の途中で、AIはもう1つの事実を掘り当てていました。Gemini のシャドウが、9月13日を最後に一度も成功していなかったんです。
返ってきていたのは HTTP 402。理由は「Your prepayment credits are depleted.」、つまり前払いクレジットの残高切れでした💸
シャドウは本番の判定を左右しないので、失敗しても画面は普通に動きます。だから13日間、誰も気づかなかった。これはコードでは直せないので、私が Google 側でチャージして、その日のうちに200の応答に戻りました。
🛠️ どう直したか(というか、どう戻したか)
- 設定は今朝の状態(公式 Sonnet 5、シャドウ Gemini 2.5 pro)に戻し、裏方を再起動
- その日の2つのコミットは、打ち消しのコミットで取り消し
- 試し打ちで台帳に入った土曜付けのピックは、私の指示で削除(台帳からの削除は戻せないので、AIは指示を待っていました)
- 「この新しいモデルは強制ツール指定に非対応」という事実を、AIのメモリに記録
⚖️ やったこと/やらなかったこと
- やったこと:休場日の試し打ちで、本番前に問題を出し切る。数字で比べてから戻す判断をする
- やらなかったこと:その場で Opus 5.5 対応を実装する案。判定の心臓部に分岐を足すなら、休日の思いつきではなく計画を立ててからやるべきだから
- やらなかったこと:コストが上がっても Opus 5 で続ける案。約6.4倍に見合う精度の差を、まだ測れていないから
- 決めたのは人間:モデルの選択、戻すこと、台帳の削除。AIは原因の特定、選択肢と比較の数字を用意しました
🧰 今回のプロンプト術:「試して、比べて」を一度に頼む
今回いちばん効いたのは、乗り換えと同時に「ためしにピックを実行して、トークン消費量を前の設定と比較して」と頼んだことでした。「使ってみて」だけだと、動いたかどうかで終わります。「前と比べて」まで入れると、AIは前の実績を台帳から探し、同じ物差しで並べてくれます📏
- 乗り換えるときは「試し打ち」と「前との比較」を同じ依頼に入れる
- 試し打ちは、本番の定期実行がない日にやる
- 比較に使えない部分(今回はシャドウ)が見つかったら、そこも報告してもらう
🤝 今回の役割分担
- 乗り換えたのは人間🆕:最新モデルを選び、試し打ちと比較を頼んだ
- 止めて調べたのはAI🔍:400の原因の特定、3つの選択肢、トークン比較、13日間止まっていたシャドウの発見
- 決めて戻したのは人間↩️:おすすめでない選択肢を選び、数字を見て全部戻す判断。チャージと台帳の削除も
📌 保存用チェックリスト
- 新しいモデルに替えたら、本番の前に休場日などで試し打ちする
- 「必ずこの書式で」のような指定が、新モデルでも通るか確かめる
- エラーは番号だけでなく、理由の本文までログに残す
- 比較役のAIの成功件数が0のまま続いたら、まず止まっていないかを疑う
- 戻す道(設定・コード・台帳)を、乗り換える前に確保しておく
次回は【事件簿】回。「承認待ちが5分ごとに積み上がる ― 片づけたら、比べるための記録まで消えていた」。今回のシャドウの話の続きでもあります🧹
☕ note.comで開発秘話と毎朝の検証ログを連載中
note.comでは、「ALPHA FORGE」の開発秘話と、毎朝のアルゴリズム検証ログを公開しています。
👉 元記事(note連載第22話):
https://note.com/featured_stocks/n/nfa57a5d0e9b6
エンジニアでない方向けに「AIへの仕事の頼み方」をまとめた連載(メンバーシップ「AIとつくるラボ」)もはじめました。第0話は無料で読めます。
免責事項
本記事は個人開発およびAIエージェントを活用したシステム開発の技術記録です。特定の銘柄の売買推奨や投資助言を行うものではありません。本ツールは証券会社等への発注機能を持ちません。記事中のモデルの対応状況・トークン数・コストの比較は、2026年9月26日時点の開発時の記録にもとづくもので、各社の仕様や料金の変更により変わる可能性があります。AIの発言は要旨です。
⚠️ 【システム検証記録に関する免責事項・注意事項】
- 本記事は、独自開発アルゴリズム「ALPHA FORGE」の動作検証およびデータ分析過程を公開する技術・運用の個人的な記録ログです。
- 掲載されているすべてのデータ(各スコア、基準観測値、統計的変動上限、シナリオ無効化水準など)は、過去の市場データに基づき数式(ATR等)により機械的に算出されたバックテスト・シミュレーション用のパラメータであり、特定の有価証券の売買勧誘、取引の推奨、投資助言・代理行為を目的としたものではありません。
- また、将来の株価変動や運用成果を保証するものではありません。実際の投資判断および最終決定は、必ずご自身の責任と判断において行っていただけますようお願いいたします。






