Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AI時代のDependency Injection
Search
sunnyone
September 17, 2026
Programming
37
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AI時代のDependency Injection
AIにも人にも優しい文書とは
sunnyone
September 17, 2026
More Decks by sunnyone
See All by sunnyone
AIコーディング時代に意識したい縦と横
sunnyone
0
120
Rustとgtk-rsで自分用GUIツールを作ろう
sunnyone
1
110
multirange 型(多重範囲型)の活用
sunnyone
0
150
開発者とのコミュニケーションのはじめかた
sunnyone
0
70
概念モデル→論理モデルで気をつけていること
sunnyone
3
570
印象に残ったLLMの使い方5選
sunnyone
0
51
シンプルじゃないテーブルの見つけ方
sunnyone
1
400
Next.js App Router登場後の話
sunnyone
0
90
はやい開発のためのJSONデータ型の活用
sunnyone
0
200
Other Decks in Programming
See All in Programming
setup-vp GitLab対応の裏側
naokihaba
0
150
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
350
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
230
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
550
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
230
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
330
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.9k
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
710
Agents on Rails - Rails at Scale 2026
irinanazarova
0
340
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
140
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.2k
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
420
How to build a perfect <img>
jonoalderson
1
6.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
550
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Ruling the World: When Life Gets Gamed
codingconduct
0
390
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
WENDY [Excerpt]
tessaabrams
14
40k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Mobile First: as difficult as doing things right
swwweet
225
10k
Transcript
AI 時代の Dependency Injection ~AIにも人にも優しい文書とは~ Yoichi Imai PHPerKaigi mini #5
@ 2026-09-17
自己紹介 Yoichi Imai アプリケーションエンジニア フロントエンドとデータベースが主戦場 Web 2
今日話すこと のうれしさと怖さ DI / IoC の話 AI にも人にも読める文書と、その使い方 skill 3
skill 、便利ですよね メリット AI への指示をまとめておける デメリット 実行が非決定的 同じ指示でも、結果が同じとは限らない 知識と処理の境界が見えにくい skill
やモデルを変えたときの影響を追いにくい 4
この怖さ見たことないですか? 巨大フレームワークに密結合したアプリケーション ビジネスロジックが実行環境を直接知っている 必要な機能を自分で呼び出している 結果として フレームワークの変化の影響を受けやすい 交換しにくく、単体で理解・テストしにくい ※ 非決定性は違っても、依存先が見えにくいところは似ている 5
歴史は密結合にどう対処したか → Dependency Injection / Inversion of Control ビジネスロジックをフレームワークから切り離す 依存するものは注入してもらう
交換しやすく単体で理解・テストしやすくする final class OrderService { public function __construct(private PaymentGateway $gateway) {} } 6
AI にも通じるところがあるのでは? 密結合な姿 skill が「プロジェクトの知識」と「処理」をすべて持つ 書き方次第ではある 制御を反転した姿(IoC) プロジェクトの文書が知識の主体になる skill は文書を読み、作業へつなぐ
AI の非決定性は消えないが、モデルに依存する知識と処理の範囲は小 さくできる 7
アプリケーションのDIとの対比 アプリケーション を使うプロジェクト POPO/POCO/POJO プロジェクト文書 DI フレームワーク 文書と作業をつなぐskill 文書は特定のAIに依存しない→"Plain Old
Document” AI 8
文書の例1: ADR (Architecture Decision Record) 何を決めたか/なぜそう決めたか/却下した選択肢とその理由/どこに 適用するか AI に正解だけでなく判断の文脈も伝える 未来の開発者にも同じ文脈を残す
9
文書の例2:コーディング規約 だけへの命令 「◦◦記法を使って実装してください」 プロジェクトの決まりごと 「このプロジェクトでは、△△には◦◦記法を用いる」 命令ではなくプロジェクトの話として書くことで、人が読んでも使え る。 AI 10
skill の例:ADRをチェックする はskillでスパイスのように活用する。 プロジェクトの判断基準はskillに書かない skill は差分収集・文書参照・報告をつなぐ 人も同じADRを読んで判断できる skill 11
活用のためのヒント 宣言的にする 決定的に処理できる部分はそもそも通常のツール linter / formatter / AST 操作 文書をどう書くかは自由
人とAIが同じようにたどれる文書構造 構造化の選択肢:OKF(Open Knowledge Format) 12
まとめ は巨大構造に依存した処理の実装方式 プレーンな文書ならAIに依存しない プレーンな文書を活用して巨大構造への依存を減らしたい skill 13