Share
Embed
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
2026/7/22 AI DevEx Conference 2026
https://dev-productivity-con.findy-code.io/aidevex2026
AIコンパイラインフラストラクチャアーキテクト
片山 靖
SHIFT EVOLVE PRO
July 22, 2026
Transcript
39 slides
-
AI DevEx Conference 2026 2026 7 / 22 14:15-14:55 AIとハーネスで育てる
トランスコンパイラ 分散したコードから、検証可能な業務ルールを取り出す 株式会社SHIFT AIコンパイラインフラストラクチャアーキテクト 片山 靖 Copyright SHIFT Inc., All Rights Reserved. Yasushi Katayama 1 -
なぜソースコードから業務ルールを取り出すのか? 古いシステムを新しいアーキテクチャーに移行しないといけない”マイグレーショ ン”、”モダナイゼーション” を必要に迫られている企業が多くあります。 マイグレ・モダナイで最も重要なこと 現行システムの仕様の把握 なぜなら、現行システムの仕様と同じ、または、新システムとの仕様の違いが分 かっていないと… ・会社全体の業務が止まる ・仕様の違いによりトラブルが発生する
業務ルールに着目 ・会社の業務の強みが発揮できなくなる などがあります。 Copyright SHIFT Inc., All Rights Reserved. 5 -
まとめ:業務ルールとは 業務ルールとは… 入力変数 条件 条件の組み合わせのルール →後述します アクション(結果変数の代入) →後述します Copyright SHIFT
Inc., All Rights Reserved. 8 -
業務ルールを「入力変数・条件・条件の組み合わせ・アクション」で仕様化する 重要 ポイント 入力(変数)を明確に する Copyright SHIFT Inc., All Rights
Reserved. 条件を最小Fact(C1~ C3)に分解して定義 ルールは条件の組み合わ せで表現(AND/OR/NOT) アクションで 結果を定義する 9 -
今回解析した事例 サブスクリプション管理システム • サブスクリプションメニューが数十種類を管理 • 総行数72万step • 約100画面 • 約1,000イベント
• クライアントサーバーで一気通貫に解析 • その中でも1イベントで、5万ステップの関係するコードがあり、82関数の関係するコード がある • 1つの“業務ルール”にあたる一つのDBフィールドの書き込みに関係する関数が32関数 • 新規注文の作成で、83のDBフィールドを計算 • 全部で10000のDBフィールド書き込み、画面の表示がある Copyright SHIFT Inc., All Rights Reserved. 14 -
なぜ“業務ルール”をソースコードから取り出すのが難しいのか? ・現行仕様調査、何度も何度もソースを読み直さないと取り出すことが できない ・調査対象が多岐にわたる(画面の表示フィールド、DBのフィールド等) (ちなみに…調査したプログラムで10,000ぐらいフィールドがあった。) “長年メンテナンスされてきたプログラムはより複雑になりがち” :サブスクリプション管理システム 注文のレコード1つ新規作成しても、82の関数が関係し、1つの結果変数を作るのに32個の関数が関係 その結果、10^45の組み合わせが発生し、256GBのメモリがあるサーバでも解析が不能 ・AIでも全パターンを確認するわけではありません。
・現行仕様調査が、非常に困難であることがわかります。 Copyright SHIFT Inc., All Rights Reserved. 15 -
その結果、状態空間が爆発する ここでいう状態空間は、条件の数のことです。 解析対象のプログラムは、以下のような複雑さでした。 :サブスクリプション管理システム ・一つの注文レコードを作るのに82関数、その中で一つのDBのフィールドを作るのに 32の関数が関係しているプログラムでした。 ・if f(x) == “OK”
thenのf(x)の戻り値のような変数名がない変数も含めると2000もの変数、151の条件がありました。 ・すべての条件に、True/Falseがあるので、2^151(10^45超)通りの組み合わせがあります。 地球から見える恒星の数は10^23だそうなので、身近にある無限の組み合わ せのものです。 ご存じの通りAIはすべての通りを調べるわけではありません。 しかし、AIを用いない通常のコンパイラでは、256GBメモリを持っているマ シンでも解析できませんでした。 Copyright SHIFT Inc., All Rights Reserved. 21 -
4.状態空間の爆発 重要 ポイント 問題は151という数そのものだけでなく、各条件に true / false が付くことで 組合せ数が指数的に増えること。n条件なら 2ⁿ、151条件では約
2.85 × 10⁴⁵ 通りとなり、 総当たりの解析・テスト・シミュレーションは成立しない。 Copyright SHIFT Inc., All Rights Reserved. 22 -
AlphaFoldを参考に。2^n問題に対応 重要 ポイント AlphaFoldから得た示唆は、巨大な探索空間は AI 単体ではなく、前処理・後処理・シミュレーションを 含むハーネス全体で解く、ということ。コンパイラでも同様に、2^n問題を AI による縮約と検証の 組み合わせで突破する。
Copyright SHIFT Inc., All Rights Reserved. 27 -
コンパイラ個別説明:AI前処理・正規化と依存構造化・funnel化 重要 ポイント ここで重要なのは、条件を単なる if 文として捨てず、monad 仮想変数として参加させること。 これにより、funnel化で result1個に効く依存集合へ縮約し、 その後、AIでできるだけ絞り込むことができる。
Copyright SHIFT Inc., All Rights Reserved. 31 -
AIによる絞り込みとalias分析 2つ目のハーネスとして AIの予想もプログラムを作りながら検証する ①経路のトレース ②実際につながったかのチェック :サブスクリプション管理システム この結果、確実性が増し、 2,000変数=>5変数 151条件=>3条件 まで圧縮されました。Lean/alloyというロジック言語を使用し、最終的に
入力変数 3, 条件3, ルール(条件の組み合わせ1), アクション1にまとめられました。 Copyright SHIFT Inc., All Rights Reserved. 32 -
AIによる絞り込みとalias分析・形式証明 重要 ポイント AI は「プログラムを分析するプログラム」を生成してハーネスとして使い、候補を絞り込む。 最終段階は Lean / Alloy で実際に形式証明し、不要な要素を除いた最小factを得る。
Copyright SHIFT Inc., All Rights Reserved. 33 -
実コード・シミュレーション確認:最小factを元に統合テストで仕様を検証 重要 ポイント 最小factを“事実(入力・条件・ルー ル・アクション)”として、実コード上 での振る舞いを統合的に検証する Copyright SHIFT Inc., All
Rights Reserved. 副作用はStubで隔離し、再現性と 制御性を確保する 実機で確認できない場合は、シ ミュレーション環境で補完する 周辺フィールドの影響がないことま で確認し、仕様の正確性を担保する 36