Skip to main content
導入事例

ある写真家のVibecoding:5か月、15万行のコード、3つの商用製品を一人で届けるまでの苦闘と突破

ある写真家がQoderで15万行のコードを書き、5か月で3つの商用製品を一人で完成させました。

image.png
「去年の今ごろは、AIによるコーディングで作れるのは自分用のツールスクリプトくらいで、販売できる製品など到底作れないと思っていました。」 Youfengは、映像業界向けサービス「Yueliu」のプロダクト責任者です。写真家、カラリスト、技術プロデューサーとして10年間映像業界に携わり、数多くのプロジェクトへ参加してきました。やがてユーザーからプロダクト開発者へと立場を変え、映像業界向けの複数の製品開発を主導しました。 しかし、常に一つの問題に悩まされていました。製品のアイデアはいくらでもあるのに、それを実現する道のりはいつも困難で過酷だったのです。 「私はプロダクト責任者ですが、コードについてはチームへ全面的に依存していました。小さな機能でも、要件を出してからリリースまで数週間待つことがあります。自分一人で何かを作ってアイデアを検証したくても、すぐには始められませんでした。」 「試行錯誤のコストの高さが、プロダクトイノベーションを妨げる最大の要因になっていました。」

Agent以前の時代:まずまず使えるが、本格利用には耐えない

VibeCodingという言葉すらなかった2024年初め、Youfengは初めてAI支援プログラミングを試しました。ChatGPTとの対話を通じ、3日かけて小さなデスクトップアプリを作り、想定した機能を実現しました。しかし、その体験には落胆しました。 「当時は、デモなら作れるものの、本当の商用製品にはほど遠いと感じました。コード品質、アーキテクチャ設計、その後の保守のすべてに問題があり、それ以上は深く取り組みませんでした。」

転機:Agentic IDEとの出会い

本当の変化が起きたのは2025年9月です。 「公式サイトにあった『実際のソフトウェア開発に向けたエージェント型プログラミングプラットフォーム』という一文に目を引かれました。」 「Qoderに触れて、明らかな違いを感じました。単なる『質問と回答』ではなく、プロジェクトのコンテキストを理解し、複雑なシステムを開発し、アーキテクチャの判断まで支援してくれます。」 Youfengは大量の時間を実践へ注ぎました。強烈な新鮮さに引き込まれ、寝食を忘れるほど没頭しました。現在も毎週50時間以上をVibeCodingへ費やしています。ほぼフルタイム開発者と同じ作業量です。 「VibeCodingには本当に中毒性があります。特に私のように、長い間実現できずにいた製品アイデアをたくさん抱えている人には、次々とよいフィードバックが返ってきます。」

代表事例:72時間で迅速に納品し、完全VibeCoding版MetaStillsが映画『長安のライチ』の撮影現場へ

image.png
Youfengが誇る作品の一つが、映像業界向けのスチル画像・メタデータ管理ツール「MetaStills」です。この物語は、映画撮影者の間に存在する具体的なニーズへの気づきから始まりました。 「映画撮影者は制作を続ける中で、自分が撮影した印象的な画面を記録し、整理し、共有したいと考えます。業界では一般にスチル画像を使いますが、スチルは通常の写真と異なり、画像だけでなく対応する撮影メタデータも記録して共有したいのです。しかし、適切なツールがありませんでした。」 2024年5月のある深夜、Youfengは友人と話していました。その友人のDITチームは有名な撮影チーム向けに毎日の撮影スチル報告を作成していました。従来の流れは、DITがカラーグレーディングソフトからスチルを書き出し、手作業でメタデータを整理し、一枚ずつレイアウトし、PDFにして監督と撮影監督へ送るというものです。一連の作業に毎日3~4時間かかっていました。 「これは完全に自動化できると思いました。スチルとメタデータは複数のソフトウェアに分散していますが、標準インターフェースを通じて専用のスチル・メタデータ管理ソフトへ集約し、自動抽出、インテリジェントなレイアウト、ワンクリックの日報生成までできれば、効率は大きく上がるはずです。」 しかし、このアイデアは会社の製品エコシステムと直接関係がなく、開発チームにも新しい要件へ割くリソースがありませんでした。そこでYoufengは外部委託で開発を進めましたが、連携時のコミュニケーション効率と納品品質には満足できませんでした。そして1年後—— 「Qoderをインストールしたその日に、今度は自分で試せると気づきました。」 YoufengはQoderを開き、初めての「完全VibeCodingによる製品構築」を始めました。 1日目:製品ドキュメントから実行可能なプロトタイプへ 「約4時間かけてAIと詳細なSpec文書を作り直しました。製品定義、対象ユーザー、主要機能、技術スタックの選択、さらには画面構成まで書き込みました。それをAIへ渡し、『これに沿って始めよう』と伝えました。」 1日目が終わるころには、粗削りながら利用可能なプロトタイプが動いていました。スチルの取り込み、メタデータの取り込みと管理、自動マッチング、スチルのフレーム描画、スタイルのカスタマイズ、PDF生成まで実現していました。 「その夜、画面に表示されたPDFを見ながら、手が震えました。わずか1年でVibeCodingがここまで強力になったのかと驚きました。」 2日目:最初の失敗と立て直し 2日目、YoufengはAIがスチルの内容に応じて最適なレイアウトを自動選択する機能を追加しようとしました。しかし、次々に問題が起きます。 「AIが作った画面には問題がなく、エラーも出ませんでしたが、実行時の応答がいつも遅い。大量のデバッグログを追加させて調べると、さまざまな境界条件へ対応するために、多数のフォールバック処理が入っていました。コードはますます複雑になり、バグそのものがフォールバックに隠れて見つけにくくなっていました。」 Youfengは、これがAIによる過剰設計の典型的な罠だと気づきました。 「作業を止めてAIへ、『すべてのフォールバックを削除して、問題を表面化させてください』と伝えました。そして機能の流れを最初から整理し直し、本当のロジック不備を見つけました。修正後のコードは、むしろ簡潔になりました。」 この出来事から、Youfengは一つの鉄則を導き出しました。開発段階ではフォールバック設計を禁止し、問題を早く表面化させ、fail fastを徹底することです。 3日目:「動く」から「使える」へ 3日目、Youfengは新しいバージョンを友人へ送り、チーム内でテストを始めました。 「フィードバックは明確でした。『新しいバージョンは以前より画面がずっと滑らかで美しく、安定性とレンダリング性能も大幅に向上した。ただし、メタデータの取り込みに少し問題があり、Silverstack形式のデータを正常に取り込めない』とのことでした。」 Youfengはすぐに方針を調整しました。午前中はAIとSilverstackの交換ファイル形式を分析し、SilverstackやDaVinci Resolveなど複数形式との互換性を修正しました。午後にはメタデータ機能全体を作り直し、メタデータ交換仕様をカスタマイズできるマッチングシステムまで実装しました。これは、Youfengが過去の製品開発では経験したことのない反復速度でした。 「この2日間の進捗と比べると、それまでの仕事は時間を無駄にしていたようにさえ感じました。」 開発開始から72時間後、完全VibeCodingで作り直されたMetaStillsの新バージョンが、映画『長安のライチ』の撮影チームで試用され始めました。

プロトタイプから製品へ:5か月にわたる継続的な改善

この72時間の熱狂は始まりにすぎませんでした。その後の5か月間、Youfengは安定した高頻度のコミットを続け、MetaStillsを磨き続けました。
  • デザインシステム:完全なColor Tokenシステムとコンポーネントライブラリを構築
  • 画像処理:HEICの非同期保存、エンドツーエンドのカラーマネジメント、HDR対応、黒帯検出、インテリジェントクロップを実装
  • クラウドサービス:iCloud同期とStoreKitのサブスクリプション管理を統合
  • 外部連携:HTTP APIサービスを開発し、DaVinciプラグインを実装
  • 多言語:中国語と英語の完全なローカライズを実施
73回のコミット、3万行のコードです。 同年、MetaStillsは第2回中国科学技術映画週間で「年間優秀技術イノベーション応用」に選ばれました。
image.png

5か月、一人、15万行のコード

MetaStillsは、YoufengのVibeCoding実践のほんの一部です。同じ時期に、ほかにも多くのプロジェクトを進めていました。 「Kuguan」は、Yueliuの映像機材在庫管理システムです。Youfengが引き継いだ時点で1.0版は存在していましたが、機能は不完全で、深刻な技術的負債を抱えていました。AIとの協働により、アーキテクチャの再構築、権限システムの修正、AI機能の統合を完了しました。203回のコミット、6万行のコードです。 「DEMAZE」は、YueliuのAIネイティブなメディア資産管理システムです。ゼロから開発し、Tauriデスクトップクライアント、Rustバックエンド、分散ファイルノードサービス、FUSEファイルシステムのマウントなど、複雑な技術を扱いました。234回のコミット、6万行のコードです。 この3つのプロジェクトだけで、510回のコミット、約15万行のコードになります。 「自分でもこの数字には驚きました。ただ、振り返ると平均で週20回ほどのコミットです。一定のペースを保てば、積み重ねは大きな成果になります。」

失敗と突破

YoufengのVibeCodingへの道は、決して順調なだけではありませんでした。 AIのコンテキスト能力は本質的に「広さではなく深さ」に優れていると気づきました。コード実装の詳細、関数シグネチャ、変数名を正確に記憶し、変数の受け渡し経路や型定義の場所といったコードの微細な関連を見つけ、命名規則、コードスタイル、APIの呼び出し方を高い一貫性で維持できます。 一方、人間の強みは「圧縮された広さ」です。プロジェクト全体のアーキテクチャ、モジュール間の関係、データフローを把握し、構成が妥当か、技術選択が適切かといった巨視的な判断ができます。この「曖昧な全体感」こそAIに欠けているものです。「この役割分担の境界を見つけてから、効率が大きく向上しました。」 もう一つの突破はDevOpsでした。「正直に言うと、以前はJenkinsやK8sが何のためにあるのかもよく分かりませんでした。KuguanにはSITやFATなど複数の環境があるので、AIへ直接『SIT環境へデプロイしたい。どうすればよいですか』と尋ねました。」 AIが次にすべきことを説明し、Youfengが実行します。エラーが出たらその情報をAIへ渡し、AIが問題を特定して解決策を提示します。AIの案内を受けながら、環境設定、SITとFATの違いと用途の理解、Jenkinsビルドタスクの設定、K8sのDeploymentとServiceの理解、Docker設定の最適化などを完了しました。 Youfengは、開発段階に応じたAIとの協働戦略もまとめています。 「ゼロから1を作る段階、たとえばMetaStillsでは、中心となる仮説をすばやく検証することが目標です。コードは大胆で簡潔、捨てられるものにします。AIへ明確に、フォールバック不要、後方互換性不要、中心機能へ集中して周辺ケースを削る、細部を作り込むより骨格を明確にする、と伝えます。」 「Kuguanのような継続的改善の段階では、安定性、保守性、拡張性が目標になり、コードは堅実で標準に沿ったものにします。AIへの要求も変わります。過剰にならない範囲で後方互換性を考慮し、適切なエラー処理、コードのリファクタリングと最適化、技術的負債の解消を求めます。」 「段階が違えば、AIへの要求も変える必要があります。」

現在のYoufeng

現在、YoufengはYueliuの2つのソフトウェア、自身の独立製品、外部パートナーとの製品など、複数のプロジェクトを同時に進めています。すべてのコードをAIとの協働で完成させています。 「考え方は完全に変わりました。以前、製品アイデアを思いついたときの最初の反応は、『どれだけ開発リソースが必要で、どれほど待つのか』でした。今は、『まず一晩で作って検証してみよう』です。アイデアから実現までの道のりが大幅に短くなった感覚は、何より爽快です。」

ほかのプロダクト担当者への助言

Youfengの経験は、似た背景を持つ人にとって参考になるでしょう。 始める前にプログラマーになる必要はありません。「私はコンピューター科学の専門教育を受けず、ゼロから始めました。VibeCodingは従来のプログラミングより参入障壁がはるかに低く、大切なのは手を動かし、実践しながら学ぶことです。」 AIを「手取り足取り教える指導者」として扱います。「分からないことは質問し、エラーが出たらその内容を見せます。ドキュメントを読んだりStack Overflowで検索したりするより、はるかに効率的です。」 人とAIの役割分担の境界を見つけます。「記憶の細かさでAIと競わず、アーキテクチャの判断をAIへ丸投げしないこと。それぞれの長所を生かすと、協働の効率が最も高くなります。」 「1年前の私はAIプログラミングをおもちゃだと思っていました。今はもう手放せません。AIに置き換えられたからではなく、長い間実現したかった製品アイデアを、ついに自分一人で形にできるようになったからです。」 —— Youfeng、Yueliuプロダクト責任者・個人開発者
製品概要
クイックスタート
アカウント
ある写真家のVibecoding:5か月、15万行のコード、3つの商用製品を一人で届けるまでの苦闘と突破 - Qoder