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
280
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 コドモン開発チーム
「正解の仕様」を求めて、決断する
codmoninc
0
47
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
codmoninc
0
290
コドモンに入社してAI活用により、 設計がより重要だと感じた背景
codmoninc
0
110
実装・設計だけでなく、運用・保守にもAIを広げてみた / We Took AI Beyond Coding and Into Operations and Maintenance
codmoninc
0
95
AIが無かった頃の素敵な出会いの話
codmoninc
1
530
5分で問診!Composer セキュリティ健康診断
codmoninc
0
1.2k
アラート疲れからの脱却 - リソースタグで仕分けるSlack通知戦略 / Breaking Free from Alert Fatigue – A Slack Notification Strategy Using Resource Tags for Routing
codmoninc
0
51
SREに優しいTerraform構成 modulesとstateの組み方 / terraform-modules-state-for-sre
codmoninc
0
440
モノリスなプロダクトの「ほどよい」リプレイス戦略 / A "Just Right" Replacement Strategy for Monolithic Products
codmoninc
0
370
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
260
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Evolving SEO for Evolving Search Engines
ryanjones
0
270
WENDY [Excerpt]
tessaabrams
12
39k
Automating Front-end Workflow
addyosmani
1369
210k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
280
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
490
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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