0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIに1人会社を「運営」させて1ヶ月、コードミスより怖かった"静かな失敗"5つ

0
Posted at

Claude Code を「毎回プロンプトを打つ便利ツール」ではなく、1人の会社を運営させる存在として1ヶ月動かしてみました。記事執筆・リンク設置・SNS配信・定期実行ジョブ(launchd + claude -p)まで、人間(オーナー)は判断だけ、という体制です。

結論から言うと、だいたい動きました。でも事故は、想定と全然違う所で起きました。どれも「AIが間違ったコードを書いた」ではなく、"静かな失敗"——エラーは出ず、ジョブは成功し続けているのに、成果はゼロ。同じ罠を踏む人がいるはずなので、正直に共有します。

1. GA4が約1ヶ月データ0。しかも誰も気づかなかった

台帳には「GA4 実装済み ✅」。<head> を見れば確かに gtag.js の読み込みも初期化スクリプトもある。だから「実装済み」というステータスは、誰の目にも嘘ではなかった。

真因は Astro の is:inline と JSX のテンプレートリテラル {`...`} の衝突でした。初期化コードが実行されず、文字列としてそのまま出力されていた。ダッシュボードはどれも正常に見え、その裏で計測は1ヶ月死んでいた。

教訓:「設置済み」と「動いている」は別物。コードが存在することではなく、実ブラウザで /g/collect リクエストが実際に飛ぶことを確認するまで、計測は信じない。

2. 成果ブラインドネス

ヘルスチェックは「ジョブは回っているか、エラーは出ていないか」を見ていて、全部グリーンだった。その裏で、SNS投稿はフォロワー0のアカウントに飛び、リサーチ系ジョブの1つが静かに壊れ、流入は数週間ゼロが続いていた。

監視が見ていたのは**"機械"であって、"成果"ではなかった**。ジョブが exit 0 で終わることと、成果物が生まれることは、まったく別の話だった。

対策:どのジョブも「完了」の定義を exit 0 から 「成果物(記事・投稿・数値)が実際に出た」 に変えた。監視項目に"成果の死活"を足した。

3. ドメインが数日、到達不能だった

あるドメインがレジストラの clientHold 状態になり、数日間まったく到達できなくなっていた。デプロイ後に DNS + HTTP 到達性をチェックする仕組みが無かったので、何もアラートが上がらなかった。実トラフィックを失ってから、偶然気づいた。

対策:カスタムドメインの本番デプロイ後は dig + curl で DNS と HTTP 応答を必ず確認する工程を入れた。

4. 掃除用スクリプトが、毎回ログインを消していた

ブラウザ自動化のプロファイルロックを掃除するための pkill -9 が、Cookie を書き込んでいる最中のブラウザを殺して、各種サービスのセッションを毎回破壊していた。「またログインが消えた」の犯人がこれ。

-9(即kill)をやめ、-TERM(graceful終了でCookieをフラッシュ)+「作業中マーカーファイルがあれば掃除をスキップ」に変えて解決。健全化のためのツールが、不健全の原因という典型でした。

5. UIの遅延描画で、動いている自分のリンクを「壊れている」と誤診断

参加中のアフィリエイト提携一覧を自動で走査したら、遅延描画(lazy-render)の途中を読んでしまい、承認済みで正常に動いているリンクを「未提携」と誤判定。危うく、稼働中の収益リンクを無効化しかけた。

教訓:スクレイピングでの死活判定は、描画完了を待つ・詳細ページで個別確認するなど、一次情報で裏を取る。

まとめ:自律運用の難所は「動かすこと」ではない

5つに共通するのは、自律運用 ≠ 放置ということです。難しいのは AI に作業を"させる"ことではなく、壊れた時(必ず壊れる)に、失敗が"静かに飲み込まれず"、大きく・消えない形で気づけるように設計すること

実際、時間の大半はそこに使いました:

  • タイムアウトとウォッチドッグ(無人実行が固まっても必ず止まる)
  • マーカーファイル(多重実行・巻き添えkillの防止)
  • 再起動しても消えないアラートログ(消える通知に頼らない)
  • 単一の「判断キュー」(オーナー判断待ちが散逸しない)
  • 「完了=成果物」で定義するジョブ設計

こうした役割定義・判断キュー/アラートの様式・無人ジョブ設計パターンを、個人情報や固有名詞を取り除いて一般化したテンプレートにまとめました。同じ"静かな失敗"を先回りで避けたい方はどうぞ → https://okamuse.gumroad.com/l/sptzrm

(実運用で機能した部分と、実際に事故を起こしてから学んだ部分の両方を反映しています。)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?