EPISODE · Dec 24, 2025 · 53 MIN
#4 TerraformによるIaC化完了!GCPとCloudflareで作る、ポッドキャスト完全自動化アーキテクチャの全貌
from sunabalog · host sunabalog
「30 days to build」プロジェクト:ポッドキャスト自動化システム構築編 第4回進捗報告今回は、私たち3人が1ヶ月でITプロジェクトのプロトタイピングを行う企画「30 days to build」の進捗報告回です。現在取り組んでいるのは、このポッドキャスト「sunabalog」自体の制作・配信ワークフローを完全自動化するシステムの構築。第4回となる今回は、AIによるコンテンツ生成、GCP上のインフラ構築、そしてアプリケーション実装のすべてにおいて、実装レベルでの大きなブレイクスルーがありました。Gemini 1.5 Proの実力、Cloud Jobsを採用したサーバーレス構成、そして開発プロセスの透明化など、技術的な詳細を余すところなく語ります。1. プロジェクト管理と「思考の痕跡」開発を円滑に進めるため、GitHub Organizationへの移行を行いました。これにより、リポジトリや権限の管理が柔軟になり、チーム開発の基盤が整いました。特に注目したいのはGitHub Projects(カンバンボード)の活用法です。単なるタスク消化のチェックリストとしてではなく、開発プロセスや試行錯誤の「思考の痕跡」を残すナレッジベースとしてイシューを活用しています。これはリスナーの皆さんが私たちの開発を追体験できるようにするための工夫でもあります。2. 新カバーアート公開:「三人寄れば文殊の知恵」ポッドキャストの顔となるカバーアートを刷新しました。「3つの脳」をメインビジュアルに据え、背景には「砂場」の画像をドットパターン化したデザインを採用。生成AI任せにするのではなく、意図を込めたデザインプロセスを経て、「sunabalog」のアイデンティティを視覚化しました。3. AI実装:Gemini 1.5 Proの衝撃(担当:高島)音声ファイルから議事録、タイトル、概要文を生成するモジュールにおいて、Vertex AIの「gemini-1.5-pro-preview」モデルを採用しました。特筆すべきはその「話者分離能力」です。プロンプトで名前を指定していないにもかかわらず、音声の特徴だけで「高島」「かず森」といった話者を漢字表記まで正確に認識しました。gemini-1.0-proやNotebookLMでは難しかったこの精度は、実用化に向けた大きな一歩です。一方で、生成される目次(タイムスタンプ)が実際の音声時間とズレるという「ハルシネーション」の課題も浮き彫りになり、プロンプトエンジニアリングによる解決を模索しています。4. インフラ構築:Cloud FunctionsからCloud Jobsへ(担当:かず森)GCP上のインフラストラクチャは、Terraformによってコード化(IaC)され、dev/prod環境の構築が完了しました。アーキテクチャ上の大きな決断として、実行環境を当初予定していたCloud Functionsから「Cloud Jobs」へ変更しました。GCSへのファイルアップロードをトリガーにEventarcが発火し、WorkflowsがCloud Jobsを制御する構成です。これにより、ジョブをキックするためだけの無駄なコントローラー(HTTPサーバー)を排除し、真にサーバーレスで効率的なパイプラインを実現しました。今後はCI/CDの整備と、外部APIキーなどのクレデンシャル管理の強化が課題となります。5. アプリケーション実装:モジュールの完成(担当:自分)システムのコアとなる機能モジュールの実装が進みました。コストパフォーマンスに優れたCloudflare R2をストレージとして採用し、GCSとの連携を確認。また、RSSフィード生成機能や、長文対応したDiscord通知機能なども個別のモジュールとして完成しています。現在は各パーツが独立して動いている状態ですが、これらを一本のパイプラインとして繋ぎ込む結合テストが次なるステップです。今後の展望個々の技術要素は出揃いました。残るはこれらを結合し、実際に音声を投入してRSSが配信されるまでのエンドツーエンド(E2E)テストを成功させること。そして、継続的な開発のためのCI/CDパイプラインの確立です。自動化されたシステムが初めてエピソードを吐き出す瞬間を目指し、ラストスパートに入ります。【目次】※タイムスタンプは議論の区切りを示す目安です。0:00 オープニングトークとプロジェクト管理手法5:10 新しいカバーアートお披露目!デザインに込めた想い9:30 進捗共有①:Gemini 1.5 Proはどこまで使える?AIコンテンツ生成のリアル18:45 進捗共有②:GCPインフラ構築完了!TerraformによるIaCの勘所35:12 進捗共有③:Cloudflare R2とドメイン導入、バックエンド実装状況48:20 全体の振り返りと次回の予定(大晦日配信!?)関連リンク:sunabalog GitHubリポジトリ: https://github.com/sunaba-log/podcast-automator.git今回の技術スタック: Vertex AI, Google Cloud (Cloud Jobs, Workflows, Eventarc), Terraform, Cloudflare R2, Python
Embed this episode
Ready to play
#4 TerraformによるIaC化完了!GCPとCloudflareで作る、ポッドキャスト完全自動化アーキテクチャの全貌
No transcript for this episode yet
Similar Episodes
No similar episodes found.
Similar Podcasts
No similar podcasts found.