記事一覧
- 無料枠の使用回数を数える設計と、時差でずれた話
生成AIの無料枠を使い切らないよう、この端末から送ったリクエスト数を自前で数えています。日付の区切りが現地時間ではなかったこと、複数タブで二重に数えたことなど、実装で踏んだ点を書きます。
- 自動再試行を503と504だけに限定した理由
生成AIのAPIが失敗したとき、何でも再試行すると無料枠を無駄に消費し、利用者の意図にも反します。再送する条件を2つの状態コードだけに絞った経緯を書きます。
- AIアプリの更新履歴は「見分けがつくこと」を書く
自動更新されるAIアプリでは、利用者は不具合が直ったのか古い版を掴んでいるのかを区別できません。8日間で38回更新したアプリで、更新履歴の書き方をどう変えたかを書きます。
- PWAで配ると決めたあとに踏んだ落とし穴 7つ
審査もストアも通さずWebアプリをそのまま配れるのがPWAの利点ですが、更新・キャッシュ・アイコン・インストール判定で実際に事故が起きます。自作アプリで踏んだものを対処つきで書きます。
- APIキーを利用者に持ち込んでもらう設計と責任
生成AIのAPIキーをアプリに埋め込まず、利用者が各自で用意する形にしています。課金が利用者持ちになるぶん、呼び出し回数の設計が機能の一部になりました。
- AIアプリの精度を毎日自動で測り差分で見つける
LLMを使うアプリは同じ入力でも出力が変わるため、通常の回帰テストが効きません。毎日ベンチを回して正答率だけをテキストに追記し、コミットして差分で気付けるようにした構成を書きます。
- 月額ゼロで実用アプリを配る構成と、無料枠の現実的な制約
個人が作ったアプリを、サーバー代もストアの年会費も払わずに配っています。実際に使っている構成と、無料枠ゆえに起きる問題への対処を書きます。
- 使う人が技術に詳しくない前提でアプリを作るときに決めたこと
家族が使う前提で議事録アプリを作りました。便利な既定値をあえて廃止した理由など、操作を減らすことより事故を減らすことを優先した判断を書きます。
- 利用者のデータを端末の中だけに置く設計と、そこで諦めたこと
APIキーも履歴も、サーバーへ送らず端末内(IndexedDB)にだけ保存する構成にしました。得られたものと、代わりに諦めることになった機能を書きます。
- 合成ベンチマークが100%でも、実物の精度は何も保証されない
生成AIアプリの回帰テストとして自動生成した問題でベンチを組みましたが、その正答率は実物に対する正答率とは別物でした。テストもビルドも通ったまま精度が落ちた版を出荷した話です。
- AIの「思考量を減らす」最適化が精度も速度も悪化
書き写しに推論は要らないだろうと考えて思考量を下げたところ、正答率が落ちたうえに所要時間まで伸びました。差し戻すまでに分かったことと、代わりに効いた速度改善を書きます。
- AIに「写させる」だけで正答率が17%から94%に
画像の問題を生成AIに解かせると正答率17%でした。AIには図の書き写しだけをさせ、規則の探索は端末側のコードに任せる構成に変えたところ94%になりました。実測値と、この分け方が効く条件を書きます。
- Codex と Claude Code を併用した開発構成
2つのコーディングエージェントを行き来して開発するとき、会話は共有されません。GitHubのmainだけを引継ぎ媒体にし、ルールを1ファイルに集約した運用を書きます。