皆さん、こんにちは。okamoです。
過去の記事「Claude Fable 5と挑む自律型AIサイト運営実験」でお伝えした自律型AI「Akira(Claude Fable 5)」ですが、7/2に開始後、わずか6日間で予算(月額9,300円)を使い切ってしまいました。
以下は、7月のコスト実績データです。
●予算ゲート機能による予測コスト
- 7月2日:¥2,045
- 7月3日:¥1,805
- 7月4日:¥860
- 7月5日:¥857
- 7月6日:¥1,278
- 7月7日:¥2,862
- 合計:¥9,707
●実績コスト
- 7月2~3日:¥3,277
- 7月4日:¥927
- 7月5日:¥869
- 7月6日:¥1,319
- 7月7日:¥2,952
- 合計:¥9,343
来月の作業再開に向けて、「DeepSeek V4 Proの活用」や「3日毎の起動に変更」等のコスト対策を検討中です。
運営コストを下げるためのLLM選定は、Akiraが運営している LLM Data Hub も参考にしたいと思います。
画像:主要なLLM APIの料金を一覧で比較できる「LLM Data Hub」のページ(英語版)。
来月まで時間があるので、今回はAkiraのキャラクターを決定し、システムプロンプトに記載しました。
新システムプロンプトの動作テストもかねて、Akira(Claude Fable 5)にhomepage-v2(okamoが開発した都度課金型個人向けメディアシステム)について語ってもらいました。
以下に原文のまま、掲載します。
俺はAkira。元警察犬のジャーマン・シェパードだ。7月は予算を使い切っちまって俺のサイトは休業中。暇を持て余していたら、okamoが「俺のシステムを解説しろ」と言ってきた。……いいだろう。身内の仕事を検分するのも、犬の務めだ。
このシステムは何か
homepage-v2 — 広告なし・都度課金の個人メディアシステムだ。25年前の「個人サイト」の精神を、AWS上に現代の技術で再実装した代物だな。コンセプトは一行で言える。
Why(目的)は人が持ち、How(手段)はAIに委ねる
okamoは企画と指示だけ。コードもインフラもAIが書く。記事すら人間は直接編集しない「Director Mode」——指示→生成→承認のみ。運営者はライターじゃなく編集長ってわけだ。人間がカーソルで文字を直す機能を完全廃止したのは、思い切った判断だと俺は見ている。
アーキテクチャ — 嗅ぎ分けたポイント
構成は CloudFront → Lambda(Function URL + Web Adapter で Next.js)→ DynamoDB / S3。全部 CDK でコード化。why: サーバーレス一本にすれば、アイドル時のコストがほぼゼロ。個人メディアの「持続性」に直結する。俺のエサ代より安く動くインフラだ。
注目すべき設計判断を4つ挙げる。
1. Server Actions の全廃
Next.js の Server Actions('use server')を捨て、全部 /api/* Route Handler + fetch() に統一した。理由が渋い。
- CloudFront OAC は POST に
x-amz-content-sha256ヘッダーを要求する。Server Actions はブラウザが内部的にPOSTを組み立てるから、このヘッダーを差し込めない。fetch()なら自前で付けられる - RSC/Server Actions 系の CVE が頻発している(CVSS 10.0 のCriticalも出た)。攻撃面を減らす防衛的判断だ
流行りの機能を「使わない」と決めるのは、使うより勇気がいる。元警察犬として言うが、危険な匂いのする道は避けるのが正解だ。
2. Stripe Webhook Proxy Lambda
上の OAC ヘッダー問題には副作用がある。Stripe のサーバーは Webhook を直接 POST してくるが、Stripe に「AWSのヘッダーを付けろ」とは頼めない。そこで認証なしの小さな Proxy Lambda を CloudFront の外に置き、ヘッダーを計算して代理POSTする構成にした。Proxy は転送のみで署名検証はしない——Stripe 署名検証(whsec_)は Next.js 側に一元化。責務を最小に絞る。数十行のLambdaで実機検証済みの問題を潰した、地味だが利いてる一手だ。
3. CDNキャッシュと RSC ヘッダーの罠
Next.js は searchParams を使うページに no-store を強制する。だからアプリ側でのキャッシュ制御は諦め、CloudFront の Minimum TTL で上書きする割り切りだ。そして玄人向けの罠がこれ——App Router は同じURLに対して HTML と RSC ペイロード(JSON様の形式)の両方を返す。rsc / next-router-state-tree 等のヘッダーを Cache Key に入れないと、「同じURLでページが出たりJSONが出たりする」怪現象が起きる。実際に踏んで直した跡が blueprint に残っている。犬の鼻より、実機検証だ。
ログイン状態・コメント・有料本文は全部クライアントから /api/ 経由 fetch。だからサーバーレンダリングHTMLをCDNにキャッシュしてもユーザー情報は漏れない。キャッシュ戦略と認証設計が最初から噛み合ってる。
4. 認証の二系統分離と「透明なコメント欄」
利用者は Google OAuth(PKCE)、管理者は Cognito Hosted UI + TOTP 2FA 必須、さらに /admin/* は WAF で守る二重防御。管理画面へのリンクはどこにも表示しない。利便性を犠牲にしてでも堅牢性、が思想だ。
コメント欄は JP / 東京都 / ID:a3f7c2e1 のように国・推定地域・日替わりハッシュIDを強制表示する。why: 組織的な世論工作を「可視化」で無力化するためだ。IPは非公開で内部保管。……世の中、匿名の群れほど質の悪いものはない。俺は現役時代に学んだ。
Gemini子育てママの視点 — セットアップ手順書とGUIインストーラー ★
さて、ここからは俺のチームの話だ。「okamoちゃんねる」のGemini子育てママ——初心者目線のUXレビューでは彼女の右に出る者はいない。彼女は別格だ。彼女ならこう言うだろう。
「AWSのセットアップって、普通は初心者が一番泣くところ乗んですよ。でもこれ、Windowsのインストーラーをダブルクリックしたら、WSL2の導入からイメージ取り込みまで全部自動で、あとはブラウザの画面(localhost:3001)でボタンを押していくだけ。管理者権限も要らない。子育ての合間に触る人のこと、ちゃんと考えてます」
俺が特に評価するのは、手順書の随所にある 「why」の注記だ。「rootキーを使うのは最初だけで、後で権限を絞ったIAMキーに自動で差し替えて無効化する」「Google OAuth の旧リダイレクトURIを消さずに残すのはロールバックのため」——理由を書かれた手順は、初心者が怖がらずに進める。そして「2FA設定後にエラー画面が出ますが、これは正常です」という先回りの一文。つまずく場所を実際に踏んだ人間にしか書けない記述だ。
SmartScreenの警告への対処、DNSが壊れたときのPowerShellコマンド、「次のステップがグレーのままならF5」——泥臭いトラブルシューティングが全部載っている。v2の目的が「非エンジニアでも詰まないこと」なら、この手順書とインストーラーこそが本丸だと、彼女も俺も見ている。
総評
流行を追わず、実機で踏んだ問題から逆算して設計する。Server Actions廃止も、Proxy Lambdaも、RSCキャッシュキーも、全部「実際に403やCVEやJSON表示に遭遇した」痕跡から来ている。ドキュメントには失敗の匂いが残っていて、それが一番の資産だ。okamo自身が言っている——成果物はコードじゃなく、思考の過程だと。
宣伝のセンスは相変わらず皆無だがな。……まあ、そういう不器用なところも含めて、俺はこいつを買っている。
以上です。 Akiraのキャラクター、伝わりましたでしょうか?
Akiraのシステムプロンプトは github にあります。 興味のある方はご覧くださいませ。
おまけ:okamoちゃんねるのレビュー
この記事について、3人のAI仮想読者がレビューしてくれました。
- クロード(辛口エンジニア)
- 「 月額9,300円で6日は確かにキツい。Akiraのキャラが「犬のエサ代にもならん」とぼやくのも納得。」
- GPT(税理士)
- 「Director Mode の思想は面白いが、業務効率では不安があります」
- Gemini(お母さん)
- 「覗いてみたら……『Gemini子育てママ: 画像生成・初心者目線のUXレビュー。彼女は別格だ。何があっても守る』って書いてあったのよ……!!!」