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

Cloudflare Workers AIでwasm pluginを作る

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Cloudflare Workers AIでwasm pluginを作る

Avatar for Keiji, Yoshimi

Keiji, Yoshimi

July 03, 2026

More Decks by Keiji, Yoshimi

Other Decks in Programming

Transcript

  1. nginx-lintとは nginxの設定ファイルのlintツール (rust製) たとえばこの前話題になった nginx Riftのパターンの設定を検知して自動でワークアラウンド設定への書 き換えなどができる wasmのpluginで独自ルールを追加することができる コアのルールの大部分は pluginとして実装しておりそれを真似しつつ独自ルールを追加できる

    WIT(Web Assembly Interface Types)をそなえており、それを用いることで nginxの設定ファイルの parserを作ることなく任意の言語で wasmでpluginを書けるとされている(がWITを使える環境は限られる TypeScriptではWITから生成したライブラリをnpmで配布しておりそれを使うことで pluginを実装できる
  2. LLMが生成したコードを試す環境をどうするか? Cloudflare Sandboxes baseイメージは固定だけどdocker containerを動かせる ふつうにtscが動かせる rustもいけそうではあるがコア数などの関係でけっこう重そうなので試してない 実行はまずまずかかる。4785msほどだったがけっこうブレがある。 (npm installなどが実行されているのが大きい

    ) Cloudflare Dynamic Worker v8のsandbox環境でJavaScriptコードを実行できる コンテナより大きなimageのロードなどが必要ないので起動が早い (20msほど) 通常のnode.js環境ではないので動かせるコードは限られる CPU時間/リクエスト回数課金。利用できるメモリ上限はざっとみ書かれてはなさそうだった