Replit Agent vs Lovable.dev:両方を使ってみた正直な感想
ここ3ヶ月、Replit Agent と Lovable.dev の両方を使ってサイドプロジェクトを構築してきましたが、強い意見があります。どちらのAIコーディングツールにお金をかけるか決めようとしているなら、ここにあるのはマーケティングの誇張ではなく、私が実際に経験したことです。
クイック概要
Replit Agent と Lovable.dev はどちらも、プレーンな英語で望むものを説明することでソフトウェアを構築できますが、アプローチはまったく異なります。Replit Agent は、完全なクラウドIDE内で作業するジュニア開発者のようなものです。Webアプリ全体を構築し、バグを修正し、デプロイすることもできますが、複雑なロジックで迷子になることがあります。Lovable.dev は、美しいフロントエンドをSupabaseバックエンドと組み合わせて高速生成する、特殊なデザイナー兼開発者のハイブリッドのようなものです。ただし、特定のスタックを使ったReactアプリに焦点を絞っています。私はReplit Agentを使って習慣トラッカーをゼロから構築し、シンプルなAPIスクレイパーも作りました。一方、Lovable.devを使って友人の小規模ビジネス向けの顧客ダッシュボードを作成しました。どちらも動作するプロダクトにたどり着けましたが、体験と結果は雲泥の差でした。
機能比較
| 機能 | Replit Agent | Lovable.dev |
|---|---|---|
| 主な焦点 | フルスタックWebアプリ、スクリプト、API、モバイルアプリも | React + Supabase Webアプリ、特にダッシュボードとCRUD |
| IDEの品質 | ターミナル、ファイルエクスプローラー、デバッガーを備えた完全なクラウドIDE | 内蔵エディターだが、カスタマイズは限定的 |
| コード品質 | まずまずだが、時々乱雑。本番環境ではリファクタリングが必要 | クリーンでコンポーネントベースのReactコード。パターンに従う |
| バックエンドサポート | 任意の言語(Python、Node、Goなど) | 厳密にSupabase(PostgreSQL + 認証 + ストレージ) |
| デプロイ | カスタムサブドメインでワンクリックデプロイ | LovableのホスティングまたはVercelにワンクリックデプロイ |
| デバッグ | Agentがエラーを読み、修正案を提案し、適用できる | Agentは良いが、積極性に欠ける。回避策を提案することが多い |
| 学習曲線 | 非プログラマーには急勾配。ターミナル操作が多い | 低い。AIを搭載したデザインツールのような感覚 |
| コラボレーション | リアルタイムマルチプレイヤー、共有可能なRepl | プロジェクトごとにシングルユーザー。デプロイリンクで共有 |
| API統合 | カスタムコードで任意のAPIを呼び出せる | 内蔵Supabase API。外部APIは手動配線が必要 |
| データベース | 任意のDB(コード経由でSQLite、PostgreSQL、MongoDB) | Supabaseのみ(PostgreSQL) |
| レスポンシブデザイン | AgentはレスポンシブUIを構築できるが、指定が必要 | Tailwindで構築。デフォルトでモバイルフレンドリー |
| 制限事項 | ループに陥ることがある。ファイル構造を幻覚することがある | Reactアプリ以外は扱えない。Supabaseバックエンドに限定 |
Replit Agent の使用
毎日リマインダーメールを送ってくれる習慣トラッカーを作りたかったので、Replit Agent から始めました。セットアップは簡単でした。新しいReplを開き、「Agent」をクリックし、「Python FlaskとSQLiteで習慣トラッカーを作って。ユーザーは習慣を追加でき、毎日完了マークをつけられ、週次サマリーメールを受け取れるように。」と入力しました。30秒も経たないうちに、Agentはファイルを作成し始めました。app.py、models.py、templates/index.html、さらには requirements.txt まで。ゼロからFlaskアプリ全体を足場組みするのを見るのは印象的でした。
しかし、最初の実際のバグに遭遇した時、魔法は消えました。私が依頼したメールスケジューラー(APSchedulerを使用)がクラッシュしました。Agentがデバッグモードで実行するように設定したためで、Flaskではデバッグモードだとスケジューラーが2回実行されるからです。Agentは実際にエラーをキャッチし、トレースバックを読み、「問題がわかりました。スケジューラーが2回初期化されています。修正しましょう。」と言いました。そして実際に修正しました。ロックファイルを使うようにスケジューラーを書き換え、メールは動き始めました。その瞬間は、実際の開発者と協力しているように感じました。
しかし、Replit Agent には暗い面もあります。「連続記録カウンター」機能を追加するよう依頼したところ、完全に脱線しました。新しいデータベーステーブルを作成し、ルートの半分を書き換え、メールスケジューラーを再び壊しました。元に戻すように言ってもできませんでした。Gitを使って手動で変更を元に戻す必要がありました(ReplitはGitをサポートしていますが、Agentはデフォルトでは使いません)。Agentは過剰エンジニアリングする傾向もあります。ある時、「パフォーマンス」について言及しただけで、シンプルなSQLiteアプリにRedisキャッシュを追加しました。そんなことは頼んでいません。
ターミナルアクセスは諸刃の剣です。環境にSSH接続し、生のSQLを実行し、パッケージをインストールし、実際のサーバーでできることは何でもできます。しかし、コマンドラインに慣れていないと、すぐに迷子になります。Agentは時々「pip install requestsを実行してください」と言い、自分でやることを期待します。非プログラマーにとっては、これは壁です。
デプロイが最もスムーズな部分でした。ワンクリックで、私の習慣トラッカーは habit-tracker.yourusername.replit.app で公開されました。お金を払わないとカスタムドメインは使えませんが、プロトタイピングには完璧です。無料プランには500 MBのストレージと1 GBのRAMが含まれており、小さなアプリには十分です。
Lovable.dev の使用
Lovable.dev はまったく違う感触でした。これを使って構築したのは
