vercel ai で書き捨ての Deno CLI を書き直した (OpenAI, AnthropicAI, Google Gemini)
BRANK
Claude or ChatGPT + Tools やモデルの組み合わせで対応パターンが膨大で面倒だったのを、 Deno + ai-sdk(Vercel) で書き直したらだいぶ楽になった。この辺を参照した。 と AnthropicAI の Tools の叩き方を確認したが、 Gemini はそこを省いている。前提まず、 AI 周りの CLI ツールは専用の面倒臭さがあることを知っておく必要がある。AI 周りの応答をストリーミングするのは LLM 関係なくストリーミング処理を大量に書く必要がある。ストリーミング処理は WebSocket や WebWorker 周りのAPIハンドルと同じノウハウが必要になる。別に難しくはないが、既存の Promise 抽象に当てはまらないので、都度考えることになり、だるい。Tools の応答は、AI にスキーマと関数を提供しつつ、AI側からの問い合わせをツール毎のルールに従ってレスポンスデータを作る必要がある。これもだるい。Vercel の ai, @ai-sdk/* はその辺の処理をラップしている。 Vercel 製だが、クラウドでもローカルでも動く。というわけで、今までの手癖スクリプトを移植して、今後しばらくのコピペ元として使えるようにした。元々使ってたスクリプト import AnthropicAI from "npm:@anthropic-ai/sdk@0.27.…