見出し画像

Amazon Photosの「顔認識」がアホすぎる問題

ことの発端は、Amazon Photosの顔認識機能へのイライラでした。
Google Photosに比べて、Amazonのそれは精度が……正直、微妙です。 「この人じゃありません」という誤判定が144枚あったとして、それを修正するには1枚ずつポチポチと解除しなければなりません。

「Google Photosみたいに、複数選択して一括除外させてくれよ!」

そう叫んだところでUIは変わりません。
なら、自分で作るしかない。
幸い、今の私には「画面を見て操作を理解できる」優秀なAIエージェント(Claude Coworks)がついています。

「Chrome拡張機能を作って、この単純作業を自動化してくれ」 そう頼んで、意気揚々と開発をスタートしました。

AIエージェント vs Amazonの要塞

作戦は完璧に思えました。 AIに実際のAmazon Photosの画面を見せ、「このボタンを押して、これを除外したい」と伝える。
AIはDOM構造を解析し、自動化スクリプトを書く。
理論上は、これでいけるはずでした。

しかし、現実は甘くありませんでした。
出力されたコードを実行した瞬間、画面は真っ白になり、コンソールには「死の呪文(エラーログ)」が大量に吐き出されました。

敗北の記録(エラーログ)

AIと何度も修正を試みましたが、結果は変わりません。
以下が、私たちがAmazonの堅牢なシステムに跳ね返された記録です。

1. 通信の拒絶

net::ERR_BLOCKED_BY_CLIENT

まず、外部からのスクリプトによるリクエストが、ブラウザ側またはAmazonのセキュリティポリシーによってガンガン弾かれます。
Amazon側もボット対策やセキュリティがガチガチなので、単純な注入スクリプトでは門前払いです。

2. タイムアウト地獄

serviceError: Attempt #1 {"url":"/drive/v1/cluster/faces","status":"timeout"}

APIを叩こうとしても、正規の手順(トークンやセッションの正当性)をクリアできていないため、サーバーが応答してくれません。
「お前、誰?」状態で無視され続けました。

3. 非同期処理の崩壊

Uncaught (in promise) Error: A listener indicated an asynchronous response... but the message channel closed

Chrome拡張機能とWebページの間の通信(メッセージパッシング)が、処理が終わる前にブチっと切れています。
Amazon Photosのような複雑なSPA(シングルページアプリケーション)の中で、Reactの挙動と無理やり連携しようとして、タイミングが噛み合わずに自滅している状態です。

結論:AIエージェントはまだ「万能」じゃない

結局、スクリプトを入れると画面が壊れ、入れないとエラーが出るという「詰み」状態になり、開発は断念しました。

今回の教訓はこれに尽きます。
「画面が見えてコードが書けても、巨大プラットフォームの裏側の仕組み(仕様)までは突破できない」

Amazon Photosのような、世界トップクラスのエンジニアが構築した複雑怪奇なWebアプリに対して、外部からちょこっとスクリプトを当ててハックするというのは、AIにとってもまだ荷が重かったようです。

「AIエージェントなら何でも自動化できる!」という夢を見がちですが、「APIが公開されていないクローズドな要塞」の前では、AIもただの無力なロボットになってしまう。
そんな、ほろ苦い(というか面倒くさい作業が残っただけの)週末でした。

結局、144枚の写真を……手動で直します。
(Amazonさん、機能改善お願いします……切実に)


編集後記

この記事は、実際の開発ログとエラーメッセージを元に構成しました。
「AIですべて解決!」というキラキラした話ではなく、こういう「泥臭い失敗」こそが、現在のAI活用のリアルな現在地だと思います。

いいなと思ったら応援しよう!

かしおぺあ_AI Prompt Architect 応援いただけると オイラがAIと遊ぶ研究を続けるためのコーヒー代に変わります。(AIは飲みませんがw) あなたの一歩が次の実験の種に🌱