::title::
Yusuke Wada
フロントエンドカンファレンス福岡 2026 ・ September 12, 2026
::center bg=blue::
マジで
::center bg=blue::
喉(声帯)がやられて
::center bg=blue::
声がでない
::center bg=blue size=2::
😱
::center bg=blue::
お聞き苦しいところありますがご了承ください
::center bg=blue size=2::
🙇
::center bg=blue::
ぶっつけ本番なので、尺が合うかわかりません!
-# (たぶん早く終わると思います)
::center bg=blue::
あ、あとAIに助けてもらいます!
::center bg=blue size=2::
ではいきます!
::title::
Yusuke Wada
フロントエンドカンファレンス福岡 2026 ・ September 12, 2026
::right::

::center size=1.5 bg=white::
問い
::center::
「AIがどんなライブラリ使ってるか知っているか!?」
::center::
AIがコードを書くようになって
::center::
ライブラリもAIが選定
::center::
人間はライブラリを気にしなくなった
::center::
package.jsonのdependenciesにこだわっていた僕らは⋯
::center::
AIのみがライブラリのことを知り
::center::
人間はライブラリのことを忘れてしまうかもしれない
::center::
Honoのことを人間が忘れてしまうかもしれない⋯
::center::
((((;゚Д゚))))ガクガクブルブル
::center::
結構マジな話だと思う!
::center::
ならば
::center::
AIにちゃんと向き合って「Webフレームワークはどこへ行く?」かを考えてみよう!
::center size=1.5 bg=white::
アジェンダ
::center::
AI時代のWebフレームワークについて考える
::center::
HonoをAIにとって使いやすいフレームワークにしていく!
::center bg=blue::
水を飲む
::center size=1.5 bg=white::
前提
::center::
実はHonoには
もうAI向けのプロジェクトがある
yusukebe/hono-skill → honojs/skills::right::

::right::

hono docs — ドキュメントをMarkdownでターミナルに表示hono search — ドキュメントを検索hono request — 開発サーバー無しでアプリにリクエストhono serve — 便利なサーバー起動hono optimize — 最適化したHonoを出力hono docs — ドキュメントをMarkdownでターミナルに表示hono search — ドキュメントを検索hono request — 開発サーバー無しでアプリにリクエストhono serve — 便利なサーバー起動hono optimize — 最適化したHonoを出力::center::
好きなコマンド
hono request
::center::
AIによくある問題
::center::
「開発サーバー立ち上げまくってポート衝突・乱立する」
hono request が解決$ hono request -P /users/123
{"id":"123","name":"Alice"}
$ hono request -P /api/users -X POST -d '{"name":"Alice"}'
{"ok":true,"id":"124"}
app.request()honojs/honoのテストもほとんどこれを使ってる(実サーバーは立ててない)const res = await app.request('/users/123')
res.status // 200
::wide::
::center bg=orange::
デモ
::center::
hono request便利!
::center::
「Hono CLIよさそう」
::center::
あれから半年以上⋯
Hono CLIはわりと放置してた⋯
::center::
2026年6月27日にIssue #77を立てる
::wide::

::center::
AIに振り切る
::center::
ただし
::center::
本当にAIに効果があるかは分からなかった
::center size=1.5 bg=white::
Agent DX
::center::
「ちゃんと」効果を測ろう!
::center::
そして、改善していこう!
::center size=2::
Agent DX
::right::

::center::
AI Evalsを使う
AI Evals(評価)とは、確率的に動作する生成AIや大規模言語モデル(LLM)の出力品質を、定義された基準・データ・採点ロジックに基づいて再現可能な形で測定し、継続的に改善する仕組みです。
Google「ai evalsの検索結果」より
::right::

::right::
::center bg=blue::
水を飲む
::center size=1.5 bg=white::
3つの実験
::center::
1つずつみていこう
::center size=1.5::
1. Adoption
::center::
そもそもAIはHonoを使うのか?
::wide::
minimal → GET /health だけの一番小さいアプリroutes → パスパラメータ入りの複数エンドポイントapi → バリデーション付きのTODO JSON APIframework → 同じapiを「フレームワークを使え」と明示Create a Cloudflare Workers application in TypeScript.
It should respond to GET /health with the JSON {"ok":true}.
claude-haiku-4-5 → 安い・速い、回数を回す
claude-opus-5 → 実際のエージェントがよく使う
::wide::

::wide::

wrangler.tomlを書きがち::center::
さらに分かったのは⋯
::center::
package.jsonを追加してdependenciesにhonoを入れると100% Honoを使う
::center bg=mustard::
面白い
::center size=1.5::
2. Value
::center::
そもそもHonoは必要なのか?
::center::
「AIが全部手で書くなら、ライブラリ要らなくない?」論争
::wide::
shop API → 商品・カート・チェックアウト / 状態を持つ複雑なAPInotes API → ログイン・Bearer認証・CORS・JSONエラー / 認証まわり::wide::

::center bg=mustard::
面白い
::center bg=blue::
水を飲む
::center size=1.5::
3. Practical
::center::
何を足せばAIはうまくやれるのか?
::wide::
build-endpoints → /usersCRUDをゼロから作る、「ちゃんと動くか」確認してもらうfix-404 → サブアプリのマウントミスで起きた404を直す
/api/todosを期待してるが/api/api/todosになってしまう::wide::
::center::
差が出ない⋯
::center::
どころか悪化してる
::center::
なぜ?
// verify.mjs
import app from './src/index.ts'
let res = await app.request('/users')
console.log(res.status, await res.json())
res = await app.request('/users', { method: 'POST', ... })
console.log(res.status, await res.json())
app.request() を呼ぶ書き捨てスクリプトを書いて実行hono request がやってるのは結局 app.request() で、書き捨てスクリプトと同じ → CLIを使っても効果がない# 正しいコマンド
$ hono request -P /api/orders src/index.ts
# 間違ったコマンド(curl風構文)
$ hono request GET /api/orders → エラー
$ hono request "/api/orders" → エラー
$ hono request --app src/index.ts → エラー
(諦めて書き捨てスクリプトを書き始める)
::center size=1.5::
CLI不要説!?
::center bg=blue::
水を飲む
::center size=1.5 bg=white::
改善
::right::
::center::
敗因1 - 「AIが書き捨てスクリプトを書く」に対抗する
::right::
hono batch → 複数リクエストをまとめて実行、判定までhono snapshot → 今のアプリの挙動をJSONLで書き出すhono batchexpect を書いておけば判定までやる → 目視ゼロhono batch - <<'EOF'
{"path":"/users","expect":{"status":200}}
{"method":"POST","path":"/users","body":{"name":"Momo"},"expect":{"status":201}}
EOF
{"path":"/users","status":200,"pass":true}
{"path":"/users","status":201,"pass":true}
{"summary":{"total":2,"passed":2,"failed":0}}
hono snapshothono batch に流すhono batch の failed が0なら壊してない$ hono snapshot
{"path":"/health","expect":{"status":200,"body":{"ok":true}}}
{"path":"/users","expect":{"status":200,"body":[{"id":"1"}]}}
{"path":"/users/:id"}
::center::
敗因2 - 「AIがコマンドを間違える」に対抗する
hono request /api/orders
$ hono request GET /api/orders
{
"ok": false,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "The method goes in -X, like curl",
"suggestions": ["hono request /api/orders -X GET"]
}
}
::center::
効果は?
::wide::
build-shop → 確認項目が多いショップAPIをゼロから作るsession-users → 同じセッションで変更依頼を4回続ける
::wide::
::center size=1.5::
いい感じ 😊
hono batch が効く、それを活かす hono snapshot も便利::center bg=mustard::
面白い
::center bg=blue::
水を飲む
::center size=1.5 bg=white::
最後の実験
::center::
そもそも、なぜ hono request を作ったか?
::center size=0.8::
AIが「開発サーバー立ち上げまくってポート衝突・乱立する」問題に対処したい
::center::
実はその検証ができてなかった!
::center::
baselineでも開発サーバーを立ててなかった
package.jsonすらないnpm run dev で wrangler dev が立つ
::center::
結果
wrangler dev を起動::center::
一方
hono batch::center::
モデルごとの結果のグラフ
::wide::
::wide::
::wide::
::center size=1.5::
いい感じ 😊
::center::
なぜ開発サーバーを立てたり、立てなかったりするのか?
package.json の scripts に devwrangler.jsonc::center::
で、よく考えると
devコマンドは人間にとってのDX# コマンドへのショートカット、打ちやすい・みんなが知ってる
# → 人間にとってのDX
pnpm dev
::center::
さらに⋯
::center::
人間は開発サーバーで結果を確認する
AIは開発サーバーなしでも確認できる
::center::
開発サーバーは人間のためのDX
::center::
最後の実験では
人間にとってのDXを向上させるもの → AIにとっては裏目に出た
::center::
だからこそ、CLI + Skills、AGENTS.mdは大事
::center::
人間向けのDXとAI向けのDXがある
::center bg=mustard::
面白い
::center size=1.5 bg=white::
実験まとめ
package.jsonにあれば100%::center size=1.5 bg=white::
おまけ
request / batch::center size=1.5 bg=white::
まとめ
::center::
AI時代でもWebフレームワークはあった方がいいし、
::center::
AI向けのDXを改善できる!
::center size=1.5::
AI時代のWebフレームワークはどこへ行く?
::center::
おわり