PdMだけで機能追加できるのか!?Devinを使って開発レス機能追加を試してみた話
こんにちは、株式会社SapeetでPdMをやっている畔柳です!
今回は、PdMだけでちょっとした機能開発を完結できるのか? というテーマで、AI開発アシスタント「Devin」を使ってみた試行錯誤の記録をまとめてみました。
実験に使ったのは、我々が開発・運用しているカルティシリーズの2つのサービス:
- シセイカルテ
- マルチカルテ
果たして、開発知識のないPdMだけで、価値提供はできたのか?
(実際には開発知識あってコードも見れますが、開発知識がないPdMでもやれるかを実験した話です)
🎯 そもそもなんでこんなこと試したの?
- エンジニアのリソースは有限。
- 「これちょっと変えたい」がエンジニアのタスクにならないようにしたい。
- PdMだけで小さい機能が追加できたら、最速で価値提供できるんじゃ?
ということで、DevinにGitのリポジトリとbranchを渡して、実装〜PR作成までお願いしてみました。
📱 シセイカルテで起きたiOSの保存エラー問題
■ 起きていた事象
iOS(18.4.1)のSafariで動作分析のために動画を撮影したら…
データ保存ができない!
ブラウザの開発者ツールを見ると、
webkitblobresource エラー1
と表示されていて保存に失敗している模様。
■ Devinへの指示内容
以下のファイルを修正してほしいです。
${ファイルの絶対パス}
修正内容
iOSまたはiPadOS18.4.1のSafariで動画を撮影してデータ保存する際、 webkitblobresourceエラー1 が表示されているのを修正してほしい。
PRを作ってもらって、エンジニアが利用するために作成したデプロイツールで確認環境にデプロイ!branch指定でデプロイできるので、Devinが作成したbranchを指定するだけで簡単デプロイ。
▶ 結果 → ダメでした…。
■ Devinが行った修正(1回目)
- 原因として挙げたのは以下のような内容:
-
URL.createObjectURL(video)
で生成したBlobのURLを保存していた - Safariはセキュリティ制限が厳しく、この一時URLが無効になる
-
fetch(videoUrl)
がSafariでは失敗する
-
- 修正内容:
- Blobオブジェクト自体を保存するように変更
- 必要なときだけURLを作ってMapで管理
でも、動作確認してもやっぱり保存できない…。
■ 修正(2回目)→ それでもダメ
新しいBlobオブジェクトを2箇所で作成するように修正。
技術的なポイント
Safariでは、同じBlobを複数の場所で使うと webkitblobresource error 1 が出ることがある。
→
arrayBuffer()
でBlobの中身を取得し、新しいBlobを生成して再利用。
それでもダメだったので、エンジニアに最終調査をお願いしたところ…
✅ 真の原因が判明!
- iOS Safari 18.4で
MediaRecorder
に WebM がサポートされたことになっていたが、実際には動かずエラーに。 - mp4を優先的に使うように変更したことで、ようやく動作確認が取れた!
🧠 PdMとしての限界を感じた…
動作確認しても、何が原因かわからない
エラーは出ているけど本当にそれが原因かわからない
修正を入れても効いているのか確信が持てない
「とりあえず試してみるしかない」状態で進めるのは結構しんどい…!
🖼 マルチカルテで画像の並び替え機能を実装しようとした話
シセイカルテの修正はOSバージョン依存で難易度が高かったので、もっと簡単そうな課題にチャレンジ!
🧪 試したこと
JSON SchemaでUIを組み立てているカルテに追加された画像をドラッグ&ドロップで並び替えられる機能をDevinに依頼。
以下の2つのファイルを参考に、画面にタイル表示されたMediaの並び替えをドラッグ&ドロップでできるようにして。
${ファイル1の絶対パス}
${ファイル2の絶対パス}
Devinからの質問(地味にすごい)
Open Questions
- ドラッグ&ドロップ後にサーバーにも順序変更を保存する必要がありますか?
- 並び替えに制限はありますか?
- 視覚的なフィードバックはどうあるべきですか?
質問に答えて、PRも作成してもらいました。
▶ 結果 → 動作せず…
このレベルであれば、コードを見ながら修正を指示していけばいけそうだったけど、今回はあくまで
PdMだけで完結できるか?
がテーマだったので、ここでギブアップ。
🤔 やってみてわかったこと
PdMだけで実装できる機能ってなんだろう?
- OS依存の問題やブラウザ仕様に左右されるものはかなり難しい
- DOM操作やUIまわりでも、複雑な仕組みが絡むとDevinの修正も確実とは言えない
- Devinの提案を評価・検証できるスキルがPdMにないと、ブラックボックスになってしまう
🚩 もしスムーズに実装できたとしたら?
仮にDevinでうまく実装できたとしても、以下の課題が残ります:
-
品質管理はどうするのか?
- コーディング規約、テストは?
-
誰がレビューするのか?
- PdMではレビューできないとしたら、結局エンジニアの工数が発生
-
プロダクトとしての一貫性は?
- UXやUIの一貫性をどう担保する?
📝 最後に
今回は「PdMだけでAIを使って機能追加できるのか?」という挑戦でしたが、結果的にはどれも実装できなかったという結論でした。
ただ、
「どんなプロダクトならPdMでも実装できるのか?」
「そのときに残る課題は何か?」
という点において、すごく多くの気づきがありました。
また進展があれば、続きを書きたいと思います!
📣 もし同じような取り組みをしているPdMの方いたら、ぜひ情報交換させてください!
この記事はChatGPTのGPT-4o miniで書かれています
記事作成は時間がかかるため、これまでなかなか作成の腰が上がらなかったのですが、生成AI時代の今、AIに任せて記事を作成してみました。
結果、20分ほどで洗い出せた要点からパパッとストーリー立った記事が出来上がりとても満足しています。
ちょっとだけ文字を修正したけど、それでもレビューと修正に10分ほどしかかからなかったので、これだったら今後も記事を書けそうと思いました。
(若干構成や表現や絵文字の使い方が気になるが、それはご愛嬌
おわりに
「AIを使って、面白くて役立つサービスを作りたい!」そんな思いを持っている方、私たちと一緒に挑戦してみませんか?
Sapeetでは、AIや3D技術を駆使して、人々の健康や生活をもっと豊かにする新しい技術を日々作り上げています。もし、テクノロジーで「ひと」と「社会」をよりよくしたいという気持ちをお持ちでしたら、きっとSapeetはあなたの力を活かせる場所です。
技術にこだわりつつも、チームワークを大事にしながら一緒に成長していける仲間を探しています!カジュアルにお話しできるので、興味があれば気軽に面談に来てください。お待ちしています!