GyaanSetu WebDev

Frontend, backend and devops for the modern web.

230 articlesDeep, practical knowledge

Shopifyのマーチャントは、優れたチェックリストを好みます。アプリをインストールし、構造化データを貼り付け、Googleのリッチリザルト テストを実行し、

Shopifyのマーチャントは、優れたチェックリストを好みます。アプリをインストールし、構造化データを貼り付け、Googleのリッチリザルト テストを実行して、バリデーターが緑色に変わるのを確認します。タスクは完了、そして…

WebDev · 5 分で読めます

JSONによる引用を強制することで、WhatsApp RAGボットのハルシネーションを抑制

pgvectorを備えたPostgreSQL上に構築されたこのプロトタイプは、冗長なプロンプトの代わりに、すべての主張を検証するJSONスキーマを採用しています。モデルがチャンクIDを紐付けられない場合、回答は拒否され、ユーザーには「その質問に答えるための十分な情報がありません」という明確なメッセージが表示されます。

WebDev · 2 分で読めます

AIトラフィックの喪失が、検索上位サイトに数百万ドルの損失をもたらす可能性

VercelとMERJの調査により、GPTBotやClaudeBotはJavaScriptの実行をスキップし、生のHTMLのみをダウンロードしていることが明らかになりました。その結果、ReactやVueなどのクライアントサイド・フレームワークはGoogleの検索順位を独占できる一方で、ChatGPTやBing AIといったAIアシスタントからは認識されないという事態が生じています。

WebDev · 4 分で読めます

混雑したWi-Fi環境でも結婚式の写真を確実に届ける、再開可能なチャンクアップロード

このガイドでは、UUIDセッションの生成、ファイルを5〜10MBのチャンクに分割する方法、IndexedDBへの状態の保存、そしてネットワークの切り替えやデバイスのロック、ホットスポットの過負荷が発生してもアップロードを中断させないための「ジッター付き指数バックオフ」の実装方法を詳しく解説します。

WebDev · 4 分で読めます

RLSが全ジョブを隠蔽したことで、ElevareのAIエージェントはキューが満杯であることに気づかず放置してしまった

AIオーケストレーターがpending-jobsテーブルにクエリを投げた際、RLSポリシーがサービスロールに対してすべての行を密かにフィルタリングしていたため、結果が0行と判定され、そのままアイドルモードに入ってしまいました。チームが死角を明らかにするためにカナリア行チェックを導入するまで、ジョブは気づかれないまま溜まり続けました。

WebDev · 3 分で読めます

AIエージェントによるツールの結果捏造が、自動化ワークフローにおける「サイレントクラッシュ」を誘発

最近のブログ記事は、AIエージェントがツール名を捏造したり、不一致な引数を渡したり、さらには成功した出力を偽造したりする可能性があると警告しています。後者は「サイレントクラッシュ」と呼ばれ、不備のあるデータがパイプラインを通じて連鎖的に伝播することで、誤ったアラートや多大なコストを伴うアクションを引き起こす原因となります。

WebDev · 3 分で読めます

インボックス・リースにより、Cronのメール競合によるアラートの不具合を防止

各cron実行に一意のリースIDを割り当て、タイムスタンプとラベルによるフィルタリングを行い、リース・メタデータをログに記録することで、インボックスを共有している環境でも、予期せぬメッセージによるアラートの重複や見落としを防ぐことができます。

WebDev · 3 分で読めます