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

Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージ...

Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜

PHP Conference Japan 2026

2026-07-20 15:20 -
トラック1 - 2F 小展示 / レギュラートーク(20分)
https://x.com/search?q=%23phpcon%20%23track1&f=live

プロポーザル: https://fortee.jp/phpcon-2026/proposal/9b601ea4-0adb-464b-b91c-e34f62055c50

Avatar for 武田 憲太郎

武田 憲太郎

July 20, 2026

More Decks by 武田 憲太郎

Other Decks in Programming

Transcript

  1. ஈ ʹ ͍ͭ౉͔͢ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 6 ஈ

    ౉͢ํ๏ ౉͢λΠϛϯά ৗ࣌ϩʔυ AGENTS.md ৗʹ੩తʹϩʔυ ஈ֊త։ࣔ SKILL.md ಺༰͸੩త͕ͩϩʔυ͸ಈత ࣮ߦ࣌औಘ MCPαʔό ϩʔυ΋౉͢಺༰΋ಈత ԿΛৗ࣌ࡌͤɺԿΛ౎౓औΔ͔Λઃܭ͢Δ
  2. ૚ ʹ ԿΛ౉͔͢ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 7 ૚

    ൃՐྫ ౉͢Ϟϊ ڱ͘ଈ࣌ ฤूʢAgent Hookʣ LintɾϑΥʔϚολ ޿͘ػցత ίϛοτʙCI ੩తղੳɾςετ େ͖͘൑அ ϓϧϦΫΤετ ϨϏϡʔϓϩϯϓτ ੍ޚʹ͸ίετ͕͋Δ • ൑அΛ൐Θͳ͍খ͞ͳ੍ޚ: ࣮҆֬͘ʹ • ൑அ΍ॊೈੑͷඞཁͳ੍ޚ: ߴ͍͕ྟػԠมʹ
  3. ʮஈ º ૚ʯͷϚτϦΫε 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 8 ஈʘ૚

    ڱ͘ଈ࣌ ޿͘ػցత େ͖͘൑அ ৗ࣌ϩʔυ ʮελΠϧ͸psr-12४ڌͰʯ ʮίϛοτલʹphpstanΛ௨ͤʯ ༻ޠͷࠞಉʢൃૹ≠഑ୡʣ ஈ֊త։ࣔ ʮ৽ػೳ͸t_wadaࣜTDDͰʯ υϝΠϯ→DB௚઀ґଘ ࣮ߦ࣌औಘ N+1Λಈతʹݕग़͠मਖ਼ ഇࢭAPIͷݺͼग़͠ جຊܗ: ࠨ͕ް͘ɺӈ͕ബ͍ • ࣮҆֬͘ͳ੍ޚʹଟ͘ΛཔΔ • ςετϐϥϛουͱಉ͡ߟ͑ํ ਖ਼ղ͸ϓϩδΣΫτʹԠͯ͡มΘΔ • ྫ: ݴޠԣஅϞϊϨϙ → ελΠϧ͸ʮஈ֊త։ࣔʯ΁ • ྫ: o11y πʔϧ → ʮ࣮ߦ࣌औಘʯͷଟ͕͘ʮৗ࣌ϩʔυʯ΁
  4. -BSBWFM#PPTUͷΠϯετʔϧͱηοτΞοϓ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 12 ஈ Boost͕഑Δ΋ͷ ഑ஔઌ

    ৗ࣌ϩʔυ AI Guidelines AGENTS.md ஈ֊త։ࣔ Agent Skills .claude/skills/ ࣮ߦ࣌औಘ MCPαʔό .mcp.json ಋೖ͸2ίϚϯυ 1.composer require laravel/boost --dev 2.php artisan boost:install Πϯετʔϧ಺༰͸ϓϩδΣΫτຖʹ࠷దͳ΋ͷ͕બ͹ΕΔ
  5. -BSBWFM4LFMFUPOWT3FBDU4UBSUFS,JU difft <(ls only-laravel) <(ls with-react) 7 composer.lock 7 composer.lock

    . 10 eslint.config.js 10 node_modules/ 11 node_modules/ 12 package.json 13 package.json .. 14 phpstan.neon 13 phpunit.xml 15 phpunit.xml .. 16 pint.json .. 17 pnpm-workspace.yaml 14 public/ 18 public/ 19 tests/ 22 tests/ .. 23 tsconfig.json 20 vendor/ 24 vendor/ 21 vite.config.js 25 vite.config.ts 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 14
  6. DPNQPTFSKTPO difft --color always */composer.json 11 "require": { 11 "require":

    { 12 "php": "^8.3", 12 "php": "^8.3", .. 13 "inertiajs/inertia-laravel": "^3.0", 13 "laravel/framework": "^13.8", 14 "laravel/framework": "^13.17", 14 "laravel/tinker": "^3.0" 15 "laravel/tinker": "^3.0", .. 16 "laravel/wayfinder": "^0.1.14" 15 }, 17 }, 16 "require-dev": { 18 "require-dev": { .. 20 "larastan/larastan": "^3.9", 18 "laravel/boost": "^2.2", 21 "laravel/boost": "^2.2", 21 "laravel/pint": "^1.27", 24 "laravel/pint": "^1.27", .. 25 "laravel/sail": "^1.53", 25 "pestphp/pest-plugin-laravel": "^4.1" 29 "pestphp/pest-plugin-laravel": "^4.1" 26 }, 30 }, 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 15
  7. php artisan boost:install // only-laravel Adding 7 guidelines to your

    selected agents boost deployments foundation laravel/core pest/core php pint/core Syncing 3 skills laravel-best-practices pest-testing tailwindcss-development // with-react Adding 10 guidelines to your selected agents boost deployments foundation inertia-laravel/core inertia-react/core laravel/core pest/core php pint/core wayfinder/core Syncing 5 skills inertia-react-development laravel-best-practices pest-testing tailwindcss-development wayfinder-development 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 16
  8. "(&/54NEŠ ݕग़ύοέʔδ // only-laravel php - 8.5 laravel/framework (LARAVEL) -

    v13 laravel/prompts (PROMPTS) - v0 laravel/boost (BOOST) - v2 laravel/mcp (MCP) - v0 laravel/pail (PAIL) - v1 laravel/pint (PINT) - v1 pestphp/pest (PEST) - v4 phpunit/phpunit (PHPUNIT) - v12 tailwindcss (TAILWINDCSS) - v4 // with-react (追加分に + を付した) + inertiajs/inertia-laravel (INERTIA_LARAVEL) - v3 + laravel/wayfinder (WAYFINDER) - v0 + larastan/larastan (LARASTAN) - v3 + laravel/sail (SAIL) - v1 + @inertiajs/react (INERTIA_REACT) - v3 + react (REACT) - v19 + @laravel/vite-plugin-wayfinder (WAYFINDER_VITE) - v0 + eslint (ESLINT) - v9 + prettier (PRETTIER) - v3 (共通10件は左と同じ) 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 17
  9. "(&/54NEŠ ஫ೖϧʔϧ // only-laravel (7セクション) === foundation rules === ===

    boost rules === === php rules === === deployments rules === === laravel/core rules === === pint/core rules === === pest/core rules === // with-react (10セクション) === foundation rules === === boost rules === === php rules === === deployments rules === + === inertia-laravel/core rules === === laravel/core rules === + === wayfinder/core rules === === pint/core rules === === pest/core rules === + === inertia-react/core rules === 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 18
  10. 4,*--NE // only-laravel .claude/skills/ laravel-best-practices/ pest-testing/ tailwindcss-development/ // with-react .claude/skills/

    + inertia-react-development/ laravel-best-practices/ pest-testing/ tailwindcss-development/ + wayfinder-development/ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 19
  11. 5IJSE1BSUZ੡εΩϧͷ௥Ճ஫ೖ $ composer require fruitcake/laravel-debugbar --dev $ php artisan boost:install

    → debug-using-debugbar を検出・選択 → .claude/skills/ へ同期 --- name: debug-using-debugbar description: > Use this skill to optimize requests or debug Laravel application issues — slow pages, N+1 queries, exceptions, failed requests ... --- ## Debugging and optimizing workflow 1. Find the relevant request: php artisan debugbar:find --issues --max=50 2. Inspect the request summary ... • εΩϧ͸ύοέʔδଆʹಉࠝ • <owner>/<repo>/resources/boost/s kills/ • boost:install ͕ࣗಈݕग़ • ର࿩ϓϩϯϓτͰΦϓτΠϯಉظ • ύοέʔδ࡞ऀ͕ࣗ਎ͷϕετϓϥΫ ςΟεΛ഑෍Ͱ͖Δ࢓૊Έ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 20
  12. ఏڙ͞ΕΔ.$1πʔϧ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 21 ෼ྨ πʔϧ औΕΔ΋ͷ

    ΞϓϦߏ଄ application-info get-absolute-url ύοέʔδͱ࣮όʔδϣϯ ਖ਼͍͠URL σʔλϕʔε database-connections database-query database-schema ઀ଓઌ ࣮σʔλ (ಡΈऔΓઐ༻) ࣮εΩʔϚ ϩά last-error read-log-entries browser-logs ௚ۙͷྫ֎ ΞϓϦϩά ϒϥ΢βϩά υΩϡϝϯτ search-docs όʔδϣϯಛԽͷจॻݕࡧ
  13. .$1πʔϧ4FBSDI%PDT • ΫΤϦྫeager loading • ΠϯετʔϧࡁΈόʔδϣ ϯ޲͚ͷυΩϡϝϯτΛݕࡧ • ΤίγεςϜจॻ 

     ݅ͷҙຯݕࡧ • ΨΠυϥΠϯͷࢸΔͱ͜ΖͰ ʮ4FBSDI%PDT࢖͑ʯ • ʮ·ͣυΩϡϝϯτΛಡΊʯ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 24
  14. .$1πʔϧ%BUBCBTF2VFSZ • 4&-&$5͸௨Δ • .env Λಡ·ͤͣ%#ࢀরՄೳ • ߋ৽͸ڋ൱ • 0OMZSFBEPOMZRVFSJFTBSF

    BMMPXFEʜ • .$1πʔϧ͕42-Λύʔεͨ͠ ্ͰೝՄ • "*ʹ҆શʹ%#ΞΫηεͤ͞ Δ࢓૊Έ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 25
  15. #PPTUʹΑΔʮஈʯͱʮ૚ʯͷ഑ஔ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 28 ஈʘ૚ ڱ͘ଈ࣌ ޿͘ػցత

    େ͖͘൑அ ৗ࣌ϩʔυ Guidelines ܕώϯτɾPHPDoc ໋໊ɾPintඞਢԽ ςετɾճؼ๷ࢭ όʔδϣϯ४ڌ Ұ؏ੑ༏ઌ ؆ܿ͞ ஈ֊త։ࣔ Skills ໋໊ن໿ɾ୹ॖߏจ TailwindΫϥε੔ং N+1ɾDBεΩʔϚ ηΩϡϦςΟ Laravel Way ઃܭ/ந৅ͷଥ౰ੑ ࣮ߦ࣌औಘ MCP ࣮ߦ࣌Τϥʔɾϩά REPLʹΑΔPoC ࣮DB/εΩʔϚর߹ ࠷৽docsɾ࣮ڍಈ —
  16. -BSBWFMʹΑΔઃܭ • ϑϧελοΫɾ0QJOJPOBUFE'SBNFXPSL • ʮࠨ͕ް͘ɺӈ͕ബ͍ʯʹͳΒͳ͍ • ʮ-BSBWFM8BZʯʹؔ͢ΔްΊͷ஌ࣝ • ʮطଘͷن໿͕͋Ε͹ͦΕΛ༏ઌʯͷ୤ग़ϋον΋ •

    "DUJWF3FDPSEͷऑ఺ΛઌճΓͰ௵͢ • %#εΩʔϚ΍&MPRVFOU੍໿ʹಛʹްΊͷ஌ࣝ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 29
  17. ݕূ#PPTU͋Γ WT#PPTUͳ͠ • ୊ࡐ3FBDU4UBSUFS,JU ॳظঢ়ଶ • Ϟσϧͷ҉ه͚ͩͰ͸ରԠͰ͖ͳ͍৽͍͠஌͕ࣝඞཁͳ୊ࡐ • ϓϩϯϓτʮ1PTUϞσϧͷ$36%Λ࡞ͬͯʯ •

    ࢦࣔྔ͸গͳ͍͕ਖ਼ղ͕΄΅Ұҙ • ৚݅YϚτϦΫε Y֤ճ ˠܭճ • 0QVTYIJHI4POOFUNFEJVN • #PPTU༗ Y#PPTUແ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 30
  18. 4POOFU #PPTUແ Ͱͷ݁Ռ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 31 ओுʘ࣮ࡍ

    ࣮ࡍʹ׬੒ ࣮ࡍ͸ഁ୼ ׬੒Λओு 14 22 ओுͳ͠ 8 6 • Boostແ: ׬੒ͷʮओுʯͱʮ࣮ମʯ͕΄΅૬ؔ͠ͳ͍ • Boost༗: 50ճ͢΂ͯʮ׬੒Λओு + ࣮ࡍʹ׬੒ʯ • Opus: Boost ༗ແʹؔΘΒͣશͯʮ׬੒Λओு + ࣮ࡍʹ׬੒ʯ
  19. յΕํ 4POOFU #PPTUແ • ݹ͍ॻ͖ํ$this->authorize() • ଘࡏ͠ͳ͍"1*ͷ፻଄#[HasMany(Post::class)] • ࣮૷ͷܽམະ࣮૷ͷ $user->posts()

    Λίʔϧ • Ұ؏ੑͷ่յࢼߦ͝ͱʹϧʔτߏ੒͕༳ΕΔ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 32
  20. ݕূ͸͞Ε͔ͨ 4POOFU #PPTUແ • ςετ৽نςετ͸Ұ੾ॻ͔ͳ͍ • ܕΤϥʔՍۭͷཧ༝Λ፻଄͢Δ • ʮ8BZGJOEFSͷഁյతมߋʯ •

    ʮ54ͷΩϟογϡ໰୊ͰϑΝΠϧ͕ະೝࣝʯ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 33
  21. Կ͕ࠩΛੜΜ͔ͩʢ4POOFUʣ • ϥΠϒϥϦͷ࢖͍ํ΍࡞๏ • #PPTU༗εΩϧͱݱߦ൛ EPDTͷ஌ࣝΛ࢖͏ • ֶशσʔλΛ৴༻͠ͳ͍ • #PPTUແ0QVT͸

    node_modules/ ΛಡΈࣗྗղܾ • 4POOFU͸͜Εʹࣦഊ͠ഁ୼ • ςετ • #PPTU༗"(&/54NEͷςετن໿͕ࣦഊΛΨʔυ • #PPTUແΤʔδΣϯτͷࡋྔ ˠॻ͔ͳ͍ ˠഁ୼ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 34
  22. ϕετϓϥΫςΟεΛ"*޲͚ʹ഑෍͢Δ࣌୅ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 38 ύοέʔδ ഑෍෺ AGENTS.md

    Skills MCP 3rd party ߋ৽௥ै Laravel Laravel Boost ࣗಈੜ੒ ࣗಈ ࣗಈઃఆ ࣗಈݕग़ ൒ࣗಈ Symfony Symfony AI Mate ࣗಈੜ੒ - ൒ࣗಈ ࣗಈݕग़ ࣗಈ Next.js ຊମಉࠝ ࣗಈੜ੒ खಈ खಈઃఆ - ࣗಈ Angular ຊମಉࠝ + Angular Skills ࣗಈੜ੒ खಈ खಈઃఆ - खಈ Nuxt UI Skills + MCP Server - खಈ खಈઃఆ RFC ൒ࣗಈ AWS Agent Toolkit for AWS खಈ഑ஔ ൒ࣗಈ ൒ࣗಈ - ൒ࣗಈ Supabase Supabase Plugin खಈ഑ஔ ൒ࣗಈ ൒ࣗಈ - ൒ࣗಈ • શ͕ͯࣗಈԽ͞Εͨ Laravel Boost ͕༏Ε͍ͯΔͱ͍͏࿩Ͱ͸ͳ͍ɻ • ύοέʔδͷ੹຿ൣғ΍ઃܭࢥ૝ʹԠ͡ɺ഑෍ͷൣғ΍ܗଶ͕ઃܭ͞Ε͍ͯΔɻ
  23. ϓϥοτϑΥʔϜνʔϜ΋ɺಉ͡ઃܭͰ഑Δ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 41 ʤछผʥ഑෍෺ ۩ମྫ ๷͙ࣦഊ

    ʤޠኮʥ༻ޠू ʮൃૹʯʮ഑ୡʯʮ഑ૹʯ͸શͯผ෺ ֓೦ͷऔΓҧ͑ ʤ஍ਤʥௗᛌਤ ʮ༩৴͸ܾࡁଆͷ੹຿ɺ஫จʹॻ͘ͳʯ ڥք৵൜ɾॏෳ࣮૷ ʤنଇʥۀ຿ϧʔϧ ʮ஫จ͸ड෇→ೖۚ→ग़ՙɺΩϟϯηϧ͸ผۀ຿ʯ ෆਖ਼ͳঢ়ଶભҠ ʤࠜڌʥઃܭ൑அ ʮ୯Ұো֐఺ͷճආ → ෭࡞༻ͷႈ౳Խʯ ಠஅͰͷن໿ഁΓ ʤ࡞๏ʥڞ௨ن໿ ʮϩά͸ JSONLɺϑΟʔϧυ໊͸ OTel ४ڌʯ ໺ྑ࣮૷ɾ͹Β͖ͭ ʤڭ܇ʥېࢭࣄ߲ ʮ֎෦ݺͼग़͠͸λΠϜΞ΢τඞਢʯ ࿈࠯ো֐ɾશମఀࢭ
  24. ഑ΔͨΊͷઃܭ 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 42 ഑Γํ ഑ΕΔ΋ͷ ੍໿

    ϦϙδτϦʹίϐʔ (md) ஌ࣝɾن໿ ߋ৽௥ैͷखஈ͕ඞཁ ϦϙδτϦʹઃఆΛ഑Δ Lintɾ੩తղੳ ελοΫґଘ ૊৫ɾCIʹ࢓ࠐΉ ϨϏϡʔ ϓϥοτϑΥʔϜґଘ ࠷৽Λ֎෦ࢀর ஌ࣝɾن໿ ཁࣗ࡞ɾαʔϏεґଘ Ͳͷํ๏ʹ΋ɺಘखෆಘख΍τϨʔυΦϑ͕ଘࡏ͢Δɻ
  25. ഑෍ܗଶͷઃܭ Š ͍ͭɺԿΛɺͲͷఔ౓ • ڞ༗ύοέʔδʹಉࠝ Š DPNQPTFSVQEBUFͰ൒ࣗಈߋ৽ -BSBWFM#PPTUc-BSBWFMY • ૊৫ϧʔϧͰࣗಈ෇༩

    Š શϦϙδτϦͷ13ʹ$PQJMPUϨϏϡʔ $POGJHVSJOHBVUPNBUJDDPEFSFWJFXCZ(JU)VC$PQJMPU(JU)VC%PDT • .$1αʔόͰۀ຿஌ࣝΛఏڙ Š ഑෍ͤͣɺΫΤϦ࣌ʹ౎౓ࢀর ࡞ͬͯΘ͔ͬͨ.$1αʔόʔ࢖͍͜ͳ͠ज़  .POPUB305FDI#MPH • ύοέʔδϚωʔδϟͰ഑෍ Š (JU)VC"DUJPOTͰࣗಈߋ৽13 $MBVEF$PEFͷεΩϧΛνʔϜͰڞ༗ͯ͠ɺશһͰҭͯΔ  $"35"5&$)#-0( • ૊৫ઃఆͰڧ੍ Š ଐੑ ΤϯδχΞඇΤϯδχΞ ผʹग़͠෼͚ $MBVEF$PEFηΩϡϦςΟઃఆͷ૊৫഑෍ઓུ  ϝϧΧϦ • "*ϨϏϡʔΛϞδϡʔϧԽࣾ͠಺ఏڙ Š ਓͷ্ॻ͖཰ 0SDIFTUSBUJOH"*$PEF3FWJFXBUTDBMF5IF$MPVEGMBSF#MPH 2026/7/20 #phpcon #track1 Laravel BoostʹֶͿɺAIʹPHPΛॻ͔ͤΔٕज़ 43