ブログ
Web 制作・システム開発に関する記事を公開しています。
AWS の判定モデル Strands Decider 2B はコードレビューのバグ探しに使えない
AWS の Strands チームが公開した判定モデル Strands Decider 2B に PR の差分からバグを当てさせました。既定の設定では長い差分の後ろを黙って捨て、設定を上げた伸びは大きい PR 1 本を丸ごと高く付けた結果でした。
Clef はリンク正誤判定なら Sonnet 並み、バグ探しには使えない
Cloudflare の判定モデル Clef を、自サイトの内部リンク関連度チェックとコードのバグ探しに使い、同じ問いを Claude Sonnet 5.5 にも投げて比べました。内部リンクでは Sonnet 5.5 と同じくらい当たり、費用は約 16分の1 でした。バグ探しでは、Clef が怪しいとした所の当たり方は無作為に選んだ場合とほとんど変わりませんでした。
結果がほぼ同じ判定に Claude は Jev の 70倍以上の費用がかかった
日本語の技術ブログ 137本の内部リンク関連度チェックを、同じ記事・同じ情報・同じ正解で Jev と Claude Sonnet 5.5 に解かせました。精度の差は小さく、費用は 70倍以上違いました。このチェックなら Jev で足ります。
Jev 互換をうたう無料モデルを内部リンクの判定で試したら、使い物にならなかった
Jev 互換をうたう無料の判定モデル Laya と Jeff を手元の CPU で動かし、ブログの内部リンクの判定に使えるか試すと、2つともモデルを使わないタグの一致にも負け、使い物になりませんでした。Laya は読んでいる記事で、Jeff は選択肢の並び順で点が決まっていました。
AI で動画を置くだけで YouTube に上がる仕組みを作る
撮った動画の編集と YouTube への投稿を AI に任せたい人向けに、動画を置くだけで非公開で上がる仕組みを Claude Code で作った手順と、Google 側で詰まった所を、筋トレ動画を例に示します。人に残るのは仕上がりへの OK と公開、7日ごとのログインだけです。
Dependabot の PR の差分では乗っ取りを見抜けない
Dependabot の PR は CI が通れば merge してよいのか。乗っ取られた版は差分に出ないので、新しすぎる版を入れない、install で依存のコードを動かさない、Actions を SHA で固定する、の 3つで守り、major だけを読んでいます。
D1 を編集できる AI エージェントは、隠した EmDash の鍵を自分で作れる
AI エージェントには鍵をプロキシで差し替えて渡し、実体を見せていません。ところが D1 を編集できるエージェントは、EmDash の API トークンを自分で発行できます。EmDash の API トークンは隠すのをやめてスコープを絞って使い捨てにし、隠すのはそれ以外の鍵にしました。
LLM に台本を判定させたら 12本すべて通した
生成した台本を LLM に判定させると 12本すべて通し、私が採用したのは 2本。判定のモデルを替えても私の選択には近づかず、通る台本が出たのは、生成の手前で素材を絞り、判定に通す例と落とす例を書き込んでからだった。
404 監視のボット除外ルールが、公開中のページを隠していた
404 の監視からボットを除外するルールは、間違えて実在のページを隠しても何の知らせも出ません。件数の減り方では気付けないので、サイトマップの全 URL をルールに通し、ボット扱いになるページが 0件かを確かめています。この確かめ方で、前からあったルールが公開中のページを隠していたのが見つかりました。
EmDash は Workers の無料プランだと保存のたびに CPU 上限を超えた
Cloudflare Workers の無料プランで EmDash を動かすと、管理画面の保存と公開は成功した回も含めて毎回 CPU 上限の 10ms を超え、ときどき打ち切られました。既存の顧客は無料のまま移して問題が出たら払い、新規の顧客は最初から有料プランで見積もります。
技術ニュースの自動収集を月 1ドル未満でも止めた
技術ニュースを集めて Slack に毎朝届ける仕組みを、個人で 7か月動かしました。頻度や体裁を直しても読まなかった経験から、直すか止めるかの決め方を書きます。決め手は費用ではなく、読んだ後にする行動があるかどうかでした。
サブエージェントに作業を渡す親のエージェントには、コマンドを叩かせない
親のエージェントの誤診や見落としは、親が自分でコマンドを叩いた場面に集まっていました。2日分の作業記録から、親は判断と確認だけにして手を動かす作業は最初から渡す分担に変えた話です。
Claude Code のクラウドセッションに持ち込める鍵と持ち込めない鍵
Claude Code のクラウドセッションでは、鍵をセッションの中に置かず、通信の途中でプロキシが差し込みます。静的なトークンはそのまま動き、AWS の署名も専用の型で通りますが、1時間で切れるトークンと手元のログイン状態は持ち込めません。Node の fetch で鍵が付かなかった落とし穴と合わせて、鍵の型ごとに分けました。
Docker Sandboxes から Claude Code に移った決め手は指示の出し方
AI エージェントに作業を配る指示役のエージェントを、Docker Sandboxes から Claude Code のクラウドに移しました。決め手は鍵や料金ではなく、配る形がそのまま動き、話題ごとに分けた指示をスマホからでも出せることでした。
Claude Code に YouTube 動画編集を任せた
60分の定点長回し(カメラを固定して撮りっぱなしにした)筋トレ動画をフォルダに置くと、Claude Code が BGM・重量表示・サムネイル・タイトルと概要欄まで作った。私が返した注文は3回で、4分27秒の動画に仕上がった。
Claude Codeのルーチンで記事1本にAPI定価1,000円以上かかった
話題集めから検証、下書きまでを毎朝 AI エージェントに回させる仕組みを作りました。初回の 1本は正確でしたが、誰が試しても同じ結果になる記事で、使ったトークンは API の定価に換算して約 7.7ドル(1,000円以上)でした。2回目を待たずに止めた理由と費用の内訳です。
Jev に偶数判定・正解の無い 3択・日本語の建前・危険なコマンドを判定させた実験集
文と問いを渡すと確率だけを返す Jev は応答が速くコストも極めて低いため、if 文の代わりに使えないか、偶数判定・正解の無い 3択・日本語の建前・危険なコマンド・プロンプトインジェクションで実測しました。条件に使えなかったのは、計算が要る判定と、選択肢に正解が無い場面だけでした。
判定専用モデル Jev が LLM の代わりに使える処理と使えない処理
TypeSafe AI の Jev は文章を生成せず、宣言した選択肢への確率だけを返す判定専用モデル。自分のブログ記事 1本と、問い合わせを模した文 8件で日本語の判定を実測すると、原因の分類や窓口の振り分けは英語とほぼ同じ確率で当たり、好みの判定は Jev も Claude Sonnet も当てられなかった。
AI エージェントの PR で GitHub Actions の無料枠が尽きた
GitHub Actions は Free で月2,000分。支払い方法が無ければ使い切った時点で停止します。PR が増えた月は残り83分まで減り、止まればデプロイもバックアップも止まる計算でした。PR を減らすのは本末転倒なので月4ドルで課金し、CI のジョブを束ねて分数を減らしました。
EmDash の Cron は Free プランだと5本まで
EmDash は全サイトに Cron Trigger がある前提で作られています。9サイトに足すと6サイトでデプロイが落ちました。Workers Free の Cron はアカウント全体で5本までなので、置くサイトを2つに絞り1日1回にしました。