【Antigravity】AIを使って参考サイトのデザインをパクる方法:秒で完コピする禁断のプロンプト

目次

参考サイトのデザインはAI(Antigravity)でパクれる

Web制作の現場において、いいなと思った参考サイトを見ながらコードを書く「模写コーディング」。
これまでは新人エンジニアの練習課題でしたが、ぶっちゃけ「面倒くさい」ですよね。

しかし、Google Antigravity(Gemini 1.5 Pro)を使えば、その面倒な作業は一瞬で終わります。
「コードを書く」のではなく、「画像をパクって(参照して)指示する」。これだけで、実用レベルのReact/Tailwind CSSコンポーネントが生成される時代が到来しました。

本記事では、Antigravityの画像認識機能(Vision)を活用し、参考サイトのスクリーンショットからUIコードを瞬時に生成(=パクる)する具体的なワークフローと、その精度を高めるための技術的要件を解説します。

実践:参考サイトを1分でコンポーネント化する(パクる)手順

Antigravityのエージェントは、テキストだけでなく画像を「視覚情報」として理解します。この特性を活かした「Design-to-Code」のプロセスは以下の通りです。

Step 1: デザインのキャプチャとコンテキスト定義

まず、再現(パク)したいUIのスクリーンショットを用意します。Figmaのデザイン画でも、既存サイトのキャプチャでも構いません。
重要なのは、AIに「見た目」だけでなく「役割」を伝えることです。

Step 2: 具体的なプロンプト設計

単に「これを作って」と投げるだけでは、AIは迷います。構造、スタイル、挙動を明確に分離して指示することが、高品質なコードを得る鍵です。

推奨プロンプト構成:

役割: あなたは熟練したフロントエンドエンジニアです。
入力: 添付のUI画像のスクリーンショット。
出力: 以下の要件を満たすReactコンポーネント(Tailwind CSS使用)。

  1. 構造: セマンティックなHTML(<section>, <article>等)を使用すること。
  2. デザイン: 画像のレイアウト、余白、配色、フォントサイズを可能な限り忠実に再現(パク)すること。
  3. レスポンシブ: モバイルファーストで実装し、PC表示時はグリッドレイアウトに切り替えること。
  4. アクセシビリティ: 適切なaria-labelやコントラスト比を確保すること。

Step 3: リアルタイムプレビューと微調整

生成されたコードを実行し、実際のブラウザで確認します。
もし余白が狭すぎる、色が微妙に違うといった場合も、修正は自然言語で行います。

  • 「カードの影(Shadow)をもう少し薄くして」
  • 「スマホ表示のとき、画像とテキストを縦積みに変更して」

AIは前後の文脈を理解しているため、具体的なクラス名を指定しなくても、意図を汲み取って修正コードを提示します。

精度を高めるプロンプトエンジニアリング

GoogleのAI研究チームやコミュニティ(Suzuken Blog等でも言及されるような)の知見に基づくと、以下の要素をプロンプトに含めることで、コードの品質は劇的に向上します。

1. 「技術スタック」の明示

使用するライブラリのバージョンまで指定すると手戻りが減ります。

  • 例: React 18, Tailwind CSS v3.4, Lucide React (Icons)

2. 「コンポーネント指向」の徹底

ページ全体を一度に作らせるのではなく、「ヘッダー」「ヒーローセクション」「機能一覧」といった粒座で生成させ、最後に組み立てる手法が最も効率的です。これにより、各パーツの再利用性と保守性が高まります。

エンジニアの役割は「実装」から「監修」へ

このワークフローにおいて、エンジニアがコードを「書く」時間はほぼゼロになります。
代わりに求められるのは、以下の「監修(Review)」能力です。

  • 生成されたコードはセキュリティ的に安全か?(XSS対策など)
  • パフォーマンスは最適化されているか?(不要な再レンダリングなど)
  • プロジェクト全体の設計思想と整合性が取れているか?

【検証】実際にやってみた:たった30秒でこのクオリティ

論より証拠です。実際に「某SaaSの料金プラン表」のような画像をAntigravityに読み込ませ、コードを書かせてみました。

1. 入力したプロンプト

画像と共に、以下の短い指示を与えました。

役割: フロントエンドエンジニア。
画像の「Proプラン」のカードを、ReactとTailwind CSSでコンポーネント化してください。

  • 背景は白、枠線あり、角丸はxl
  • ボタンは青色(bg-blue-600)で、ホバー時に少し濃くする。
  • チェックアイコンはlucide-reactを使用。

2. 出力されたコード(一切修正なし)

Gemini 1.5 Proがわずか30秒で吐き出したコードがこちらです。

import React from 'react';
import { Check } from 'lucide-react';

const PricingCard = () => {
  return (
    <div className="max-w-sm w-full bg-white rounded-xl border border-gray-200 shadow-sm p-6 hover:shadow-lg transition-shadow duration-300">
      <div className="flex flex-col gap-4">
        {/* Header */}
        <div>
          <h3 className="text-lg font-semibold text-gray-800">Pro Plan</h3>
          <p className="mt-1 text-sm text-gray-500">For growing teams.</p>
        </div>

        {/* Price */}
        <div className="flex items-baseline gap-1">
          <span className="text-4xl font-bold text-gray-900">$29</span>
          <span className="text-gray-500">/month</span>
        </div>

        {/* Features */}
        <ul className="space-y-3 mt-4 mb-6">
          {['Unlimited Projects', 'Team Collaboration', 'Advanced Analytics', '24/7 Support'].map((item) => (
            <li key={item} className="flex items-center gap-2">
              <Check className="w-5 h-5 text-blue-600" />
              <span className="text-gray-700 text-sm">{item}</span>
            </li>
          ))}
        </ul>

        {/* Button */}
        <button className="w-full py-3 px-4 bg-blue-600 hover:bg-blue-700 text-white font-medium rounded-lg transition-colors duration-200 focus:ring-2 focus:ring-blue-500 focus:ring-offset-2">
          Get Started
        </button>
      </div>
    </div>
  );
};

export default PricingCard;

3. 解説

驚くべきは、以下の細部まで「指示なし」で再現されている点です。

  1. インタラクション: hover:shadow-lgtransition-shadow といった動きの演出が勝手に追加されています。
  2. 構造: div のネストが深すぎず、非常にフラットで読みやすい構造です。
  3. 拡張性: 特徴リスト(Features)を配列の map 展開で実装しており、項目の増減に対応しやすくなっています。

ここまでベースが出来上がっていれば、あとはテキストを書き換えるだけで実装完了です。これが「秒で完コピ」の威力です。

まとめ

AIの可能性について毎日発信していきますので、ぜひフォローください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

SEO/UIUXを中心としたwebマーケティングを6年近くやっている森好きwebマーケターです。

「グリビズ!」では「グリーンにはたらく」というコンセプトで、「自然に関わりながら、個人で持続的にはたらく」方法について発信しています!

マーケティング/サステイナビリティ導入に関してお困りのことがあればご相談ください。

目次