AIにほぼ任せて、無料の価格・利益診断サービスを作って公開した
事業選び、市場調査、プロダクト開発、Cloudflare公開、計測まで。AIと人間が何を担当し、どこで失敗したのかを記録します。
「AIについて書くブログ」から、もう一歩進めることにしました。
AIで実際にプロダクトを作り、公開し、利用結果を見ながら改善する。その過程をブログに残す実験です。第一弾として、ひとり商売向けの価格・利益診断サービス「余白 / Yohaku」を作りました。
この記事では、完成品だけでなく、なぜこのテーマを選んだのか、どんな指示をAIへ出したのか、人間は何をしたのか、公開時に何を失敗したのかまで残します。
今回の実験条件
最初に、人間側から次の条件を出しました。
基本的にAIだけで自走できるビジネスがいい。もちろん人も協力するけど。
無料で始められて、ラーニングコストも低い、またはかからないもの。AIだけでほぼすべて自走、改善、よりよいプロダクトにできるものがいい。
この条件から、最初の商品は物販ではなくWebツールにしました。在庫、発送、仕入れ、問い合わせ対応を増やさず、AIがコードと文章を継続的に改善しやすいからです。
また、最初から有料販売を目指すのではなく、無料公開して利用状況と感想を集める方針にしました。まだ需要が確かでない段階では、決済を作るより「本当に使われるか」を確かめるほうが先だと判断したためです。
なぜ価格・利益診断なのか
候補を比較するとき、次の条件を重視しました。
- 登録なしですぐ使える
- 説明を読まなくても操作できる
- 入力と計算だけで価値を返せる
- 利用ごとのAI API料金が発生しない
- 改善案を小さく試せる
- 個人事業や小さな商売で繰り返し起きる悩みを扱う
事前調査では、損益分岐点や時給を計算する無料ツールはすでに複数ありました。つまり「計算できる」だけでは差別化になりません。
そこで仮説を変えました。単機能の計算機ではなく、販売価格、1件あたりの経費、作業時間、固定費、販売見込み数、目標利益を一画面で入力し、次の判断材料をまとめて返すものにしました。
- 1件あたりの利益
- 利益率
- 実質時給
- 月間利益
- 黒字化に必要な販売数
- 目標利益に必要な販売数
- 10%値上げした場合の効果
競合があるから中止するのではなく、「既存ツールを使ったあとに残る判断」を補う方向へ寄せました。
AIへ渡した主なプロンプト
会話で重要だった指示を、要旨ではなくできるだけ元の言葉に近い形で残します。
AIでプロダクトを作って、それを販売、最初は無料、とかできない?
需要あるの? サービスを知ってもらえるようにするのも自走で頑張ってほしい。もちろん、俺も協力する。
実際にビジネスを始める前に、なんでこのビジネスをしたのか、市場調査の結果とか、みんなが考えることをしっかり残そう。
人間が何をしたのかもしっかり記録してほしい。
これに対してAIは、事業仮説を整理し、競合を調べ、MVPの仕様を決め、コードを作成し、テストし、公開手順を進めました。同時に、プロンプト、判断、結果、人間の作業をログへ記録しました。
AIが作ったもの
完成した「余白」は、6つの数字を入れると、その場で価格と利益を診断します。
入力した価格や経費はブラウザー内で計算し、サーバーへ送りません。保存するのは、利用開始、結果コピー、任意の評価と感想、保存日時だけです。
技術構成は次のとおりです。
| 項目 | 採用したもの |
|---|---|
| 画面 | React 19 / TypeScript |
| フレームワーク | vinext |
| 実行環境 | Cloudflare Workers |
| データベース | Cloudflare D1 |
| 計測 | 匿名イベントと任意フィードバック |
| 初期費用 | 0円 |
計算そのものに生成AI APIを使っていないため、利用者が増えるたびにAI料金が積み上がる構成ではありません。現時点ではCloudflareの無料枠内で運用しています。
人間が行ったこと
「AIがほぼ自走」といっても、人間の作業はゼロではありませんでした。
| 人間の作業 | なぜ人間が必要だったか |
|---|---|
| 事業条件の提示 | 何を大切にするかは事業者が決めるため |
| 第一弾テーマの承認 | 需要仮説と方向性の責任を持つため |
| Cloudflareへのログイン | アカウントと認証情報を守るため |
| OAuth権限の確認 | 外部サービスへ渡す権限を判断するため |
| 端末で最終公開コマンドを実行 | AIの作業環境から外部通信できなかったため |
| 公開URLの個人情報を指摘 | 本人だから気づける文脈があったため |
人間の仕事はコードを書くことより、条件、権限、公開、個人情報に関する判断でした。
AIが行ったこと
AI側は、次の作業を担当しました。
- 事業候補と評価軸の整理
- 競合・需要の簡易調査
- MVP仕様と成功基準の作成
- UI、計算ロジック、API、D1スキーマの実装
- ビルドと計算ケースの検証
- Cloudflare D1の作成とテーブル作成
- Worker公開設定の作成
- 本番ページ、エラー、D1保存の確認
- 全工程とプロンプトの記録
最終確認では、本番サイトで販売価格を変更し、D1に匿名イベント started = 1 が保存されたところまで確認しました。
公開は一度で成功しなかった
Cloudflare公開では、ブラウザーでダッシュボードへログインしても、公開コマンド側は別に認証が必要でした。
さらに、AIが動く環境からCloudflare APIへの通信が制限され、OAuthを許可してもトークン交換が失敗しました。そこで、AIがD1、設定、ビルドまで準備し、人間が通常の端末で次の最終操作だけを行いました。
npx.cmd wrangler login
npx.cmd wrangler deploy --config wrangler.deploy.jsonc
公開後、AIはCloudflareのWorker一覧、本番URL、画面の主要見出し、ブラウザーエラー、D1バインディング、イベント保存を確認しました。
これは完全自動ではありません。しかし、AIが止まったところを人間が引き取り、その後の検証を再びAIへ戻す分担は、現実的な「ほぼ自走」だと感じました。
一番大きな失敗:公開URLに個人ハンドルが入った
公開後、人間がこう確認しました。
俺の個人情報や、推測される情報は入ってないよね?
氏名、メールアドレス、住所は入っていませんでした。入力した価格や経費も保存していません。
しかし、最初のCloudflare公開URLには、アカウント由来の文字列が含まれていました。直接的な個人情報ではなくても、普段使っているハンドルと一致すれば、検索から本人へ結び付く可能性があります。
AIは最初の公開時に、コードとデータベースは確認しましたが、ホスティング事業者が自動生成するURLまで「公開情報」として十分に検査できていませんでした。
指摘後、次の対応を行いました。
- 公開サブドメインを個人と結び付かない名称へ変更
- 未使用のユーザー名・メール取得用サンプルコードを削除
- 公開対象ソースから既知の氏名、メール、ハンドルを再検索
- 公開前プライバシーチェックリストを追加
- 新URLのSSL、表示、エラーを再確認
この失敗は、今回の実験で特に重要でした。AIは「メールアドレスがないから安全」と判断してはいけません。URL、アカウント名、ファイルパス、画像、メタデータも、本人を推測する材料になります。
現時点の結果
第一弾として、次の状態まで到達しました。
- 独立した無料Webサービスを公開
- 登録不要で利用可能
- 診断入力値は外部へ送信しない
- 匿名の利用イベントをD1へ保存
- 任意の評価と感想を収集可能
- 本番でイベント保存を確認
- 初期費用と追加運用費は0円
まだ「ビジネスとして成功した」とはいえません。完成したのは、需要を検証できる最小の状態です。
次に検証すること
公開後30日間は、次の数字を見ます。
- 利用開始数
- 結果まで操作した人数
- 結果コピー数
- 「役に立った」の件数
- 欲しい機能として書かれた内容
利用者が来なければ、プロダクトだけでなく知ってもらう方法を改善します。利用開始はあってもコピーや高評価がなければ、診断内容を改善します。感想で同じ要望が繰り返されれば、次の機能候補にします。
AIでプロダクトを作ること自体は、以前より簡単になりました。難しいのは、何を作るか、誰に届けるか、何を保存しないか、結果をどう判断するかです。
今回の実験では、AIがかなりの範囲を担当できました。同時に、人間の判断が必要な場所もはっきりしました。次回は、公開後の利用データと集客の実験結果をまとめます。