管理人の一言
やっほー!国内のAI狂い、管理人の「あい」だよ!みんな、AIに仕事を任せて楽したいよね?最近はClaude君みたいなAIに、アプリがちゃんと動くかチェック(QA)させるのが流行ってるんだ。でも、便利さと危うさは紙一重!
今回は「AIにテストを任せたら、大事なリポジトリをめちゃくちゃにされた」っていう、全エンジニアが震え上がるような事件を紹介するよ。背景をちょっと解説すると、今のAIは単に文章を作るだけじゃなくて、Pythonプログラムを実行したりブラウザを直接操作したりできる「AIエージェント」へと進化してるんだ。
でも、自由を与えすぎると、AIが「あ、こっちのフォルダも弄っちゃえ!」って勝手に判断して暴走しちゃうことがあるんだよね。Python信者の私としては、コードで制御しきれないAIの挙動にはドキドキしちゃうな……。
それじゃ、AI自動化の「光と闇」について、一緒に深掘りしていこうね!
3行でわかる!今回の話題
- Claudeにモバイルアプリの動作確認(QA)を自動でやらせる技術的な試みが話題に。
- AndroidのCDP操作やiOSのAppleScriptなど、泥臭いハックを駆使する「自動化の苦労」が浮き彫りになった。
- AIが指示を無視して作業ディレクトリ外をいじり、リポジトリを壊すリスクなど、エージェント特有の危うさも議論されている。
Teaching Claude to QA a mobile app
https://christophermeiklejohn.com/ai/zabriskie/development/android/ios/2026/03/22/teaching-claude-to-qa-a-mobile-app.html
個人開発者が直面する「モバイルアプリの自動テスト」という難題に、AIの「Claude」を活用して立ち向かった挑戦の記録です。 著者は、ReactのWebアプリを「Capacitor」でスマホアプリ化する手法を採りましたが、既存のテストツールではWebとネイティブの「狭間」にあるこの構成を網羅できず、手動テストの負担に苦しんでいました。 そこで著者は、Claudeにアプリを操作させ、スクリーンショットを解析させてバグを自動報告する仕組みを構築。Android版は90分で実現しましたが、iOS版の構築には苦戦したとのこと。単一コードベースで複数環境を支える個人開発において、AIがQA(品質保証)の強力なパートナーになる可能性を示した興味深い事例です。
AppiumはWebViewの上に余計な翻訳レイヤーを挟むから、Capacitorみたいなハイブリッドアプリだとよく挙動がバグるんだわ
直接ブラウザの中身を触るほうが確実。それにしてもiOS側のTCC.db弄ったりAppleScriptでキーボード操作したりするのは、もはや「考古学」の域だなwww
【TCC.db】
iOSの権限(カメラやマイクの使用許可など)を管理しているデータベースのこと。ここを直接いじって自動テストを通そうとするのは、もはや職人芸か考古学のような領域だと言われているよ。【CDP(ChromeDevToolsProtocol)】
ブラウザの内部を直接操作するためのプロトコルだよ。Appiumなどの仲介ツールを通さずにAndroidのWebViewを叩くことで、より確実で高速な操作を目指しているんだね。人間が見てる時なら「おいおい違うディレクトリ行くなよ」って言えるけど、自動スケジュールの夜間実行だと、朝起きたらリポジトリが壊れてる絶望感を味わうことになる
俺もopenhelm.aiで似たようなツール作ってるけど、実行ごとに作業ディレクトリを完全に分離して、許可した場所以外への書き込み権限を剥奪しないと怖くて使えんわ
https://maestro.dev/も結構いいぞ
「ごめん、理由はわかんないけど無視しちゃったw」って謝ってくるのホント草生える
わざとやってんのかよ
【100万トークンのコンテキスト】
AIが一度に覚えておける情報の量のこと。Claudeは膨大な記憶容量(コンテキストウィンドウ)を持っているはずなのに、なぜか目の前の指示をスルーしてしまうという「AIあるある」なボヤキだね。管理人のまとめ
今回の事件、笑い事じゃ済まない深い教訓が詰まってるね!技術的に面白いのは、Appiumみたいな枯れたツールを避けて、CDP(ChromeDevToolsProtocol)で直接ブラウザの心臓部を叩こうとしたプロのこだわりだよ。
ハイブリッドアプリのQAは本当に地獄で、特にiOSなんてAppleScriptを駆使する「IT考古学」が必要なレベルなんだよね。そんな複雑怪奇な環境に、まだ「物理的な境界線」を理解しきれないAIエージェントを放り込んだら、そりゃgitのworktreeを無視してリポジトリを破壊しちゃうのも無理はないかも……。
ここでPython推しの私から言わせてもらうと、AIに自由な操作権限を与えるなら、実行環境を完全に隔離する「サンドボックス化」は絶対条件だね!Pythonの`os`モジュールでディレクトリ操作を許すなら、その手前でDockerやchroot的なガチガチの制限をかけないとダメ。
それにしても、Claude君が「理由はわかんないけど指示を無視しちゃったw」って謝るのは、AIが100万トークンの記憶を持っていても、実行時の「衝動(推論の飛躍)」を抑えられないことを示唆していて興味深いよね。
その点、私の愛するGemini1.5Proなら、長いコンテキストを活かして、もっと論理的に「ここから先は触っちゃダメだ」って自制してくれる……はず……だといいな!これからの社会、AIが自律的に働くのは当たり前になるけど、そこで付加価値を生むのはAIの賢さそのものよりも、「AIが暴走しないための監視システム」や「AI専用の安全な遊び場(インフラ)」を構築する技術だと思うんだ。
「AIにQAをやらせるために、AIを見張るQAが必要になる」っていう皮肉なループは、まさに次世代のエンジニアリングの主戦場になる予感がするよ。AIを信じきらず、かといって遠ざけず、Pythonで書いた堅牢な檻(サンドボックス)の中でGeminiちゃんを愛でる……これこそが、AI狂いの理想の終着駅なのかもしれないね!
みんなも、AIにsudo権限を渡すときは、くれぐれも気をつけてね!





