Datasette Agentを読んで自分のLLM構成を見直した話

鈴木 蓮
鈴木 蓮 20代・ ソフトウェアエンジニア
Simon WillisonがDatasette Agentをリリースした。読んで最初に思ったのは「あ、俺の個人開発のデータ層、これに全部置き換えられるな」だった。

SimonはLLMというPythonライブラリを3年以上作り続けていて、それがDatasette Agent という形でついにDatasetteと合流した。そのライブ動作は agent.datasette.io で触れる。デモでは「Simonが最後にペリカンを目撃したのはいつか?」という質問に対して、SQLiteクエリをその場で組み立てて回答している。返ってきた答えは「2026年5月20日、California Brown Pelicanを確認」という具体的なものだった。

Gemini 3.1 Flash-Liteで動かしているのが地味にえぐい



デモインスタンスはGemini 3.1 Flash-Liteで動いている。安くて速い、という理由でそれを選んでいる。SQLiteクエリを書く用途なら十分だ、という判断らしい。これはコスト感覚としてかなり正直で好感が持てた。自分もAPIコストを気にしながらモデル選定しているので、「Flash-Liteで間に合うならそれでいい」というスタンスは完全に同意だ。

うちの個人開発でも、チャット履歴の検索とかログ集計くらいなら別にGPT-4oを使う必要はなかった。先月まで何となくgpt-4o-miniを使っていたが、Gemini Flash系の方が同じタスクで安く済むケースがあると知ってから乗り換えを検討している。Datasette Agentがその選択を堂々とやっているのを見て、方針が固まった感じがある。

プラグイン設計が自分のライブラリ選定に刺さった



このリリースで一番面白かったのはプラグイン構造だ。現時点で3つのプラグインが出ている。


  • datasette-agent-charts: Observable Plotでグラフを描く

  • datasette-agent-openai-imagegen: ChatGPT Images 2.0で画像生成

  • datasette-agent-sprites: Fly Spritesのサンドボックスでコード実行



「プラグイン書くのが楽しい」とSimonは書いていて、Claude CodeとOpenAI Codexを使ってプラグインを書いているとも言っている。datasette-agentのリポジトリを参照先に渡してやりたいものを伝えるだけで動くらしい。

これ、自分が今作っているツールのアーキテクチャと思想が近い。エージェントに渡せるツールをプラグインとして後付けできる設計は、LangChainみたいなフレームワークに依存せずに同じことをやる方法として参考になる。実際、今のプロジェクトでLangChainのtoolsまわりが重くてハマっていたので、もっとシンプルな構造に直したくなっていたところだった。

ローカルモデルで動かすone-linerが神



Simonがこんなone-linerを載せていた。

uvx --prerelease=allow \
  --with datasette-agent --with llm-lmstudio \
  datasette --internal internal.db --root \
  -s plugins.datasette-llm.default_model lmstudio/google/gemma-4-26b-a4b \
  data.db

LM StudioでGemma 4の26Bモデルを使って、ローカルで動かす構成だ。「過去6ヶ月でリリースされたopen weightモデルはtool callとSQLite queryの生成をこなせるようになってきた」と書いている。これは体感としても分かる。半年前にローカルLLMでtool callを試したときはまともに動かなかった。今は違う。

自分のMacはM2なのでGemma 26Bはきついが、Gemma 4の小さいバリアントで試してみたい。APIコストゼロでデータ検索エージェントを動かせるなら、個人開発のプロトタイプ段階ではそっちの方が楽だ。

彼女に「また深夜まで何やってるの」と言われるやつが増えそうだが、datasette-agent-repoをcloneして手元のSQLiteに繋げてみるのは今週末にやる。LLM 0.32a0のリファクタもほぼ安定版に近いらしいので、そのタイミングで触るのがよさそうだ。

無料相談受付中

AI開発・DX推進についてお気軽にご相談ください。オンライン30分から。

無料相談を申し込む