Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama

2026/7/22 AI DevEx Conference 2026

https://dev-productivity-con.findy-code.io/aidevex2026

AIコンパイラインフラストラクチャアーキテクト
片山 靖

Avatar for SHIFT EVOLVE

SHIFT EVOLVE PRO

July 22, 2026

More Decks by SHIFT EVOLVE

Other Decks in Technology

Transcript

  1. AI DevEx Conference 2026 2026 7 / 22 14:15-14:55 AIとハーネスで育てる

    トランスコンパイラ 分散したコードから、検証可能な業務ルールを取り出す 株式会社SHIFT AIコンパイラインフラストラクチャアーキテクト 片山 靖 Copyright SHIFT Inc., All Rights Reserved. Yasushi Katayama 1
  2. 業務ルールを「入力変数・条件・条件の組み合わせ・アクション」で仕様化する 重要 ポイント 入力(変数)を明確に する Copyright SHIFT Inc., All Rights

    Reserved. 条件を最小Fact(C1~ C3)に分解して定義 ルールは条件の組み合わ せで表現(AND/OR/NOT) アクションで 結果を定義する 9
  3. 今回解析した事例 サブスクリプション管理システム • サブスクリプションメニューが数十種類を管理 • 総行数72万step • 約100画面 • 約1,000イベント

    • クライアントサーバーで一気通貫に解析 • その中でも1イベントで、5万ステップの関係するコードがあり、82関数の関係するコード がある • 1つの“業務ルール”にあたる一つのDBフィールドの書き込みに関係する関数が32関数 • 新規注文の作成で、83のDBフィールドを計算 • 全部で10000のDBフィールド書き込み、画面の表示がある Copyright SHIFT Inc., All Rights Reserved. 14
  4. その結果、状態空間が爆発する ここでいう状態空間は、条件の数のことです。 解析対象のプログラムは、以下のような複雑さでした。 :サブスクリプション管理システム ・一つの注文レコードを作るのに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
  5. 4.状態空間の爆発 重要 ポイント 問題は151という数そのものだけでなく、各条件に true / false が付くことで 組合せ数が指数的に増えること。n条件なら 2ⁿ、151条件では約

    2.85 × 10⁴⁵ 通りとなり、 総当たりの解析・テスト・シミュレーションは成立しない。 Copyright SHIFT Inc., All Rights Reserved. 22
  6. 実コード・シミュレーション確認:最小factを元に統合テストで仕様を検証 重要 ポイント 最小factを“事実(入力・条件・ルー ル・アクション)”として、実コード上 での振る舞いを統合的に検証する Copyright SHIFT Inc., All

    Rights Reserved. 副作用はStubで隔離し、再現性と 制御性を確保する 実機で確認できない場合は、シ ミュレーション環境で補完する 周辺フィールドの影響がないことま で確認し、仕様の正確性を担保する 36