メインコンテンツにスキップ

codexが使えるようになったので、vibe codingを試した

タグ: 🏷 lambda ,vibes
目次

1. はじめに

2025年6月に、OpenAIのCoding AgentがChatGPT Plusユーザにも解放されました。

従来の Copilot が「ペアプロの相棒」だったのに対し、Coding Agent は「対話型ビルドシステム」に近く、プロジェクトの骨格からテスト、CI/CDの雛形まで一気に生成してくれるのが特徴です。

機能を試すつもりが気付けば時間が溶けていました。─勢いで radiko タイムシフト録音アプリ を作り切ったので、その開発ログをまとめます。

2. 作ったアプリ

radikoのタイムシフトを録音するアプリを作りました。

golangで作り、lambdaで動かすようにしています。

項目内容
目的radiko の「タイムフリー」番組を指定日時に自動録音し、S3 に保存
言語Go 1.24
実行環境AWS Lambda(x86_64, 512 MB, 15 min)
トリガEventBridge で番組終了十分後に起動
ストレージS3 Standard
変換ffmpeg を Lambda Layer に同梱→ m4a へ

3. ユースケース

  1. アトロク2を録音しておき、翌朝にオフライン再生

  2. 地方局の限定番組をまとめ聴きして、不要分は 30 日後に Lifecycle で削除

4. システム構成

保存コストは 60 分番組で約 55 MiB → Intelligent-Tiering 移行後 30 日保管しても 1 円台/月。Lambda 実行も 40 円/月 程度に収まる見込みです。

5. 開発フローと Coding Agent の使い分け

フェーズ使った AIメリット
雛形作成 main.go, go.modCopilotコード補完が軽快、手癖レベルの自動化に最適
IaC (SAM)Codexsam buildsam deploy でビルドとデプロイ
CI/CDCodexGitHub Actions の YAML スニペット生成が高速

6. 所感

良かった点気になった点
* 失敗ケースを例外ごとに網羅的に書いてくれる(context.Canceled など)同じファイルに 1,500 行超の文脈を渡すとやや遅い
* go test -run TestFoo -v を裏で実行し結果まで返す → リトライ削減173 KB 以上の diff を貼ると「コンテキスト超過」で落ちる
* 質問ベースで ログ出力・メトリクス まで整備「AWS の無料枠内?」などコスト系質問は若干回答が古いことがある

7. 得られた知見とベストプラクティス

Go Lambda のコールドスタートは net/http をインポートしても 400 ms 程度。録音系では十分許容範囲。

ffmpeg を Upx 圧縮すると 26 MB → 9 MB に。デプロイ容量削減かつダウンロード時間も短縮。

radiko API は仕様変更が多いので、playerUrl は毎回フェッチ+正規表現で動的抽出。