AIでつくってみた

AIにほぼ任せて、無料の価格・利益診断サービスを作って公開した

事業選び、市場調査、プロダクト開発、Cloudflare公開、計測まで。AIと人間が何を担当し、どこで失敗したのかを記録します。

#AIビジネス #Codex #Cloudflare #個人開発 #価格設定

「AIについて書くブログ」から、もう一歩進めることにしました。

AIで実際にプロダクトを作り、公開し、利用結果を見ながら改善する。その過程をブログに残す実験です。第一弾として、ひとり商売向けの価格・利益診断サービス「余白 / Yohaku」を作りました。

余白を使ってみる

この記事では、完成品だけでなく、なぜこのテーマを選んだのか、どんな指示をAIへ出したのか、人間は何をしたのか、公開時に何を失敗したのかまで残します。

今回の実験条件

最初に、人間側から次の条件を出しました。

基本的にAIだけで自走できるビジネスがいい。もちろん人も協力するけど。

無料で始められて、ラーニングコストも低い、またはかからないもの。AIだけでほぼすべて自走、改善、よりよいプロダクトにできるものがいい。

この条件から、最初の商品は物販ではなくWebツールにしました。在庫、発送、仕入れ、問い合わせ対応を増やさず、AIがコードと文章を継続的に改善しやすいからです。

また、最初から有料販売を目指すのではなく、無料公開して利用状況と感想を集める方針にしました。まだ需要が確かでない段階では、決済を作るより「本当に使われるか」を確かめるほうが先だと判断したためです。

なぜ価格・利益診断なのか

無料、登録不要、在庫なし、AIで改善しやすいという4条件から価格・利益診断を選んだ

候補を比較するとき、次の条件を重視しました。

  • 登録なしですぐ使える
  • 説明を読まなくても操作できる
  • 入力と計算だけで価値を返せる
  • 利用ごとのAI API料金が発生しない
  • 改善案を小さく試せる
  • 個人事業や小さな商売で繰り返し起きる悩みを扱う

事前調査では、損益分岐点や時給を計算する無料ツールはすでに複数ありました。つまり「計算できる」だけでは差別化になりません。

そこで仮説を変えました。単機能の計算機ではなく、販売価格、1件あたりの経費、作業時間、固定費、販売見込み数、目標利益を一画面で入力し、次の判断材料をまとめて返すものにしました。

  1. 1件あたりの利益
  2. 利益率
  3. 実質時給
  4. 月間利益
  5. 黒字化に必要な販売数
  6. 目標利益に必要な販売数
  7. 10%値上げした場合の効果

競合があるから中止するのではなく、「既存ツールを使ったあとに残る判断」を補う方向へ寄せました。

AIへ渡した主なプロンプト

会話で重要だった指示を、要旨ではなくできるだけ元の言葉に近い形で残します。

AIでプロダクトを作って、それを販売、最初は無料、とかできない?

需要あるの? サービスを知ってもらえるようにするのも自走で頑張ってほしい。もちろん、俺も協力する。

実際にビジネスを始める前に、なんでこのビジネスをしたのか、市場調査の結果とか、みんなが考えることをしっかり残そう。

人間が何をしたのかもしっかり記録してほしい。

これに対してAIは、事業仮説を整理し、競合を調べ、MVPの仕様を決め、コードを作成し、テストし、公開手順を進めました。同時に、プロンプト、判断、結果、人間の作業をログへ記録しました。

AIが作ったもの

完成した「余白」は、6つの数字を入れると、その場で価格と利益を診断します。

入力した価格や経費はブラウザー内で計算し、サーバーへ送りません。保存するのは、利用開始、結果コピー、任意の評価と感想、保存日時だけです。

技術構成は次のとおりです。

項目 採用したもの
画面 React 19 / TypeScript
フレームワーク vinext
実行環境 Cloudflare Workers
データベース Cloudflare D1
計測 匿名イベントと任意フィードバック
初期費用 0円

計算そのものに生成AI APIを使っていないため、利用者が増えるたびにAI料金が積み上がる構成ではありません。現時点ではCloudflareの無料枠内で運用しています。

人間が行ったこと

AIが調査・制作・計測・改善を担い、人間が目的・権限・公開判断を担う役割分担

「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日後に事業判断する

公開後30日間は、次の数字を見ます。

  • 利用開始数
  • 結果まで操作した人数
  • 結果コピー数
  • 「役に立った」の件数
  • 欲しい機能として書かれた内容

利用者が来なければ、プロダクトだけでなく知ってもらう方法を改善します。利用開始はあってもコピーや高評価がなければ、診断内容を改善します。感想で同じ要望が繰り返されれば、次の機能候補にします。

AIでプロダクトを作ること自体は、以前より簡単になりました。難しいのは、何を作るか、誰に届けるか、何を保存しないか、結果をどう判断するかです。

今回の実験では、AIがかなりの範囲を担当できました。同時に、人間の判断が必要な場所もはっきりしました。次回は、公開後の利用データと集客の実験結果をまとめます。