Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AI時代のPHP開発にASTクエリツール で コードベースの地図を作る / ast-query...
Search
コドモン開発チーム
August 09, 2026
7
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AI時代のPHP開発にASTクエリツール で コードベースの地図を作る / ast-query-tool-php-codebase-map
コドモン開発チーム
August 09, 2026
More Decks by コドモン開発チーム
See All by コドモン開発チーム
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
codmoninc
0
9
コドモンに入社してAI活用により、 設計がより重要だと感じた背景
codmoninc
0
35
実装・設計だけでなく、運用・保守にもAIを広げてみた / We Took AI Beyond Coding and Into Operations and Maintenance
codmoninc
0
24
AIが無かった頃の素敵な出会いの話
codmoninc
1
390
5分で問診!Composer セキュリティ健康診断
codmoninc
0
890
アラート疲れからの脱却 - リソースタグで仕分けるSlack通知戦略 / Breaking Free from Alert Fatigue – A Slack Notification Strategy Using Resource Tags for Routing
codmoninc
0
45
SREに優しいTerraform構成 modulesとstateの組み方 / terraform-modules-state-for-sre
codmoninc
0
400
モノリスなプロダクトの「ほどよい」リプレイス戦略 / A "Just Right" Replacement Strategy for Monolithic Products
codmoninc
0
290
Don't Just Patch — MOTTAINAI! Learn Security from Laravel CVE Diffs
codmoninc
0
270
Featured
See All Featured
Between Models and Reality
mayunak
4
390
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
440
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
GitHub's CSS Performance
jonrohan
1033
470k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Balancing Empowerment & Direction
lara
6
1.2k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
380
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
570
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Technical Leadership for Architectural Decision Making
baasie
3
470
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Transcript
PHPカンファレンス2026 リジェクトコン&アフターイベント AI時代のPHP開発にASTクエリツール で コードベースの地図を作る 株式会社コドモン プロダクト開発部 權田 直輝 2026年08月06日
自己紹介 權田 直輝 ごんだ なおき 経歴など 3児の父。子どもを取り巻く環境をテクノロジーの力でよりよいもの にしたいに共感し、2025年12月にコドモンへジョインしました。 日々、学童向けの機能開発を中心にプロダクト開発に関わっていま す。
2025.12 コドモンに開発エンジニアとして入社 2
突然ですが、AI によって コードを書くスピードは上がりましたよね? 3
でも 4
AIはちゃんと影響範囲を 把握できていそうですか? 5
トークンってどれくらい使っているか 意識していますか? 6
推論時間長くないですか? 7
この辺のモヤモヤを解決するために AIが使用するツールを開発しました! 8
PHP関係ある? 9
あんまりないので、 リジェクトなのです! 10
では、いきましょう! 11
AIは必要な関係を探索しながら集めている AIがコードベースを調査サイクルは grep → read → 推論 であり、情報の不足があればさらに調査サイクルを回す 12
AIは必要な関係を探索しながら集めている 必要な関係が揃うまで、探索を繰り返す。 無駄な繰り返しによるコスト • トークン消費 • 調査時間 • 調査精度 現状の課題
安定しない そもそも往復を減らすことができれば安定する? 13
コードの構造を先に渡せないか? 単純な仮説 コードの関係を先に構造化して渡せば 往復を減らせる? 14
コードの構造を先に渡せないか? コードの関係をグラフとして構築する • 定義 • 継承 • 依存 • 呼び出し
15
コードの構造を先に渡せないか? AIにはグラフから必要な構造だけを渡せるようにする 構造の把握に使う探索を減らし、 影響範囲や実装方針の判断に推論を使ってもらいます。 16
このグラフを作成するために使用したのが AST(抽象構文木) です 17
AST(抽象構文木)とは? コードをクラス、メソッド、変数、呼び出しなど、 意味を持つ構文としてツリーで表現したもの ←AST (めちゃ長いので割愛) 18
ASTから、PHPのコード関係を構築する ASTだけではPHPのコードを表現しきれない • namespace / use など • PHPDoc、コンストラクタ代入など •
DIコンテナ、Factory、Facadeなど ASTを起点にPHPの意味を補い、コードの関係を再構築する必要が ある 19
再構築した結果をIndexに保存し、 必要な構造をQueryできるツールを作りました。 PHPのコードベースに、地図を与える。 PHP + Atlas(地図) = Phatlas 20
grepから構造へクエリ 従来 Phatlas grep query ▼ ▼ read read ▼
▼ 推論 推論 Phatlasでは要素と関係をIndex化してあるため 最初のコードグラフへ問い合わせ、必要な関係を一気に取得できる 21
エージェント10体ずつで効果検証 grepのみ 自由 phatlas + grep phatlasのみ 数千ファイルあるモノリスからinterfaceメソッド1つを起点に 6エンドポイントx4層の26ファイルをもれなく検出できるか検証 22
トークンコストと推論時間が変わった 指標 grepのみ 自由 phatlas + grep phatlasのみ 総トークン 190万トークン
120万トークン 17万トークン 実トークン 36万トークン 26万トークン 9万トークン 所要時間 392秒 377秒 127秒 ターン数 29 23 5 ツール呼び出し 42 30 7 phatlasのみにしてgrepで裏どりさせなければ 高い効果が発揮できることがわかった 23
精度に差はでなかった 全ての条件で精度の差はでなかった。 grepでも十分に探索できれば、正解へ到達できるし 各条件10体の調査により再現性もあることが確認できました。 Opus 4.8の頃は見落としがありましたが、 Opus 5では完璧に発見しました。 24
結果 仮説 →コードの構造を先に渡せば、トークン、時間、精度を安定する? 結果 →トークンと時間は大幅に改善し、安定するが精度については差がなし 25
まとめ AIは、grepだけでも正解にたどり着ける ただし、 コードの構造を先に渡すことで、 正解までの探索を減らせる そして、 地図を作るだけでなく、 いつ探索を止めるかまで設計する 26
人が目的に応じて道具を使い分けるように AIにも適切な道具を使わせる AIの能力を引き出すための 道具やプロセス設計が今後はますます重要になる ご清聴ありがとうございました👏 27