Loading
  • LIGHT

  • DARK

ROUTE

ルートゼロの
アクティビティ

AI に“思い通り”のコードを書かせるには?JavaScript/CSS で失敗しないプロンプト改善術【ChatGPT活用】

7

この記事で得られること3つ

  • JavaScript/CSS のアニメーションをAIに正確に伝えるためのプロンプト改善法

  • 曖昧な指示を具体化し、ズレた出力を防ぐ「Before / After」実例

  • すぐ使えるプロンプトテンプレート+応用時の注意点

思い通りに動かない、あのモヤモヤはなぜ?

あなたもこんな経験、ありませんか?

「ChatGPT に CSS アニメーションを書いてもらったけど、なんか想像と違う動きになった…」 「JavaScript でボタンをふわっと表示させたいのに、出てきたコードはガクッとした動きに…」

最近は AI にコード生成を任せる機会も増えてきましたが、「思い通り」に動いてくれないと、かえって手間が増えることもあります。特にフロントエンドでは、アニメーションやインタラクションの“細かいニュアンス”が結果に大きく影響します。

この記事で解決できること: AI が思い通りのコードを生成してくれないとき、何が原因なのかを明らかにし、プロンプトの改善によって希望通りの結果を得る方法を、実例とともに具体的に解説します。


なぜ AI は思い通りにコードを書けないのか?

AI に「ふわっと表示させたい」「自然なスクロールアニメーションが欲しい」と伝えても、思ったようなコードが出てこない──それには理由があります。

AI がコードを書くときの仕組みは、「自然言語 → 構文理解 → 出力コード」という流れになっています。このとき、入力するプロンプト(指示文)が曖昧だったり、開発者の意図が AI に正確に伝わっていなかったりすると、AI はそれを「過去の学習データから“それっぽいもの”を生成する」しかありません。

とくに JavaScript や CSS アニメーションのような“見た目の動き”を扱うケースでは、開発者の頭の中にあるイメージと、AI の理解にズレが生じやすいのです。

たとえば、「ゆっくりフェードインさせたい」という言葉一つとっても、人によって「何秒かけて?」「透明度の変化具合は?」「他の要素との関係は?」といった前提が異なります。この“前提の曖昧さ”が、コード出力のブレに直結します。

また、AI は「意味」よりも「文脈のパターン」に基づいて出力するため、「人間が当たり前だと思うような前提」は省略せずに明示的に伝える必要があります。たとえば:

  • ✗「自然に表示させて」→ どんな自然さ?

  • ✓「1.5 秒かけて透明度 0 → 1 に変化、Easing に ease-in を使う」

このように、“技術的に定義できる単位”に分解することで、AI との認識ギャップを埋めることができます。


ズレた動きにどう対応する?AI に“聞き返す”という発想

AI が出したコードに対して「違うんだよなあ…」と感じたとき、多くの人はそのまま修正を指示してしまいます。でも、ちょっと待ってください。その前にやってほしいのが、「AI がどんな動きを想像してこのコードを出したのか」を聞いてみることです。

たとえば、以下のようにプロンプトを工夫してみましょう。

  • 「このアニメーションはどんな動きを想定してる?」

  • 「この CSS の効果を具体的に説明して」

  • 「今のコードで何秒くらいかけてどの順番で動く?」

これにより、AI の中でどう解釈されたかが明らかになり、「なるほど、そっちの解釈だったか」とズレを可視化できます。

次に、そのズレを埋めるための修正ポイントを明確にしていきます。たとえば、「ふわっと表示」と言ったつもりが「0.3 秒の一瞬のフェードイン」になっていたら、「2 秒かけて透明度を徐々に変化」と具体的な数値で指示するようにします。

ここで役立つのが、動き・構造・タイミングを分けて考える視点です。

  • 動き: フェードイン/スライドイン/スケール変化など

  • 構造: どの要素に、どの順番で適用するか

  • タイミング: 秒数/遅延/Easing カーブなど

さらに、「◯◯のような感じ」といった比喩や、視覚的イメージを交えると、AI の解釈精度が大きく上がります。

  • 「Instagram のストーリー切り替えのような動き」

  • 「モーダルがぬるっと浮き上がるような感じ」

ここまでのポイントを押さえるだけで、AI に「思い通り」の動きを伝える精度がぐっと高まります。

次は、修正のやり取りを繰り返すうちに、かえっておかしな挙動になるときの対処法を紹介します。

Before / After|曖昧なプロンプトと改善例

Before(曖昧なプロンプト)

ボタンがゆっくり現れるようにして。

After(改善されたプロンプト)

ボタン要素に対して、ページロード後 0.5 秒遅れて、1.5 秒かけて透明度 0 → 1 に変化。Easingease-in-out を使用し、下から 10px 浮き上がるように。

【使用タイミング】初期表示時の注目コンテンツ導入に最適
失敗例:delay を指定し忘れるとタイミングが不自然になりがち


プロンプトも設計サイクル。修正より“再構築”が鍵

AI に何度も修正指示を出しているうちに、コードの挙動がどんどんおかしくなっていく──そんな経験をしたことはありませんか?

実は、これはよくある落とし穴です。修正指示を積み重ねることで、AI の内部状態(チャット履歴や前提)が歪み、本来の意図から外れた結果になってしまうのです。

この問題を解決するためには、「完成形のプロンプト」を一度作り直し、新しいチャットで再依頼するという方法が効果的です。

なぜ新しいチャットが効くのか?

AI はチャット履歴を踏まえて応答を生成します。つまり、誤った前提が積み重なった状態では、いくら修正してもズレが直らない可能性が高いのです。一方、新しいチャットではゼロからのスタートなので、明確なプロンプトで意図が正しく伝わりやすくなります。

再構築のポイント

  • 修正を繰り返すより、最初から「意図を言語化したプロンプト」を作る

  • 出したい動作・構造・タイミングを項目立てで整理

  • ビジュアルの比喩や、似た UI の例を添える

これはまさに、UI 実装と同じで「設計 → 実装 → 検証 → 改善」というサイクルに近いものです。プロンプトづくりも開発と同じように、“やり直し”を恐れず、構造的に考える視点が求められます。


この記事のまとめ

  • AI のコード出力がズレるのは、曖昧なプロンプトと前提のズレが原因

  • まずは「AI がどう理解しているか」を聞き返してみる

  • 動き・構造・タイミングの三要素に分けて明確に指示する

  • 修正の繰り返しで迷走したら、プロンプトを再設計して新しいチャットへ

  • プロンプトづくりも開発と同じ、「設計サイクル」で捉えることが大切


すぐ使えるプロンプトテンプレ3選(用途&注意点付き)

フェードインアニメーション

要素に 2 秒かけて透明度 01 へ変化するアニメーション。Easing は ease-out
  • 使用場面:導線を静かに強調したいとき

  • 注意:他要素との被りでフェードが見えにくくなることがある

スライドアップ表示

ボタンをページロード後に 0.5 秒遅れて、下から 15px 上へスライドしながらフェードイン。
  • 使用場面:ファーストビューのボタン提示

  • 注意:viewport 外からの動きは SP 画面でトリガー条件に注意

連続アニメーション

3 つのアイコンが 0.3 秒ずつ順番にフェードインするように設定。全体で 1.5 秒程度のタイミング。
  • 使用場面:サービス紹介やステップ表示

  • 注意:表示順が逆になる場合は keyframe を手動調整


あなたの「なんか違う…」というモヤモヤが、少しでも晴れたなら嬉しいです。

【外部リンク】

MDN Web Docs: CSS Animations

MDN Web Docs: CSS Transition

MDN Web Docs: Web Animations API

MDN Web Docs: async function

MDN Web Docs: Arrow functions

【内部リンク】

Web制作で使えるCSSアニメーション10選|サンプルコード&使い方解説

CSSアニメーションの仕組みを徹底解説!初心者でもわかる動きの作り方

AI × JavaScript|AI活用で開発が10倍速くなる技術&プロンプト10選

JavaScriptのAjax完全入門|fetchの使い方・CORSエラーの対処・非同期通信の基本を解説

JavaScriptでコードが書けない本当の理由と“順序設計”のすすめ

もっとルートゼロを知りたいなら

DISCOVER MORE