バイブコーディングの土台

Day 2データ構造 — AI入出力の正体

なぜ重要か — AIの返すデータを読み解く力

データ構造を知ると、バイブコーディングでAI出力を読み・任せ・直せる理由をまとめる。

丸投げが行き詰まる本当の理由

[[vibe-codin用語](AIに頼んでコードを作ってもらう作り方)は強力です。でも、うまくいかないときにいちばん詰まるのが「AIが返してきたデータ(や、それを扱うコード)が読めない」瞬間です。中身がリストなのか辞書なのか、どこに何が入っているのか——ここが分からないと、AIに何を直してほしいかすら伝えられません。

たとえるなら

データ構造を知らずにAIに丸投げするのは、宅配便の中身も伝票も見ずにサインするようなもの。届いた箱を開けて「これは何個入りで、どのラベルが何か」を読めて初めて、「頼んだのと違う」「ここを直して」と言えます。

今日学んだリスト・辞書・ネスト(JSON)は、まさにその「箱の開け方と読み方」です。この3つを知っているだけで、AIの出力に対してできることが一気に増えます。

  1. 読める: 記号だらけのJSONを「辞書の中のリスト」と分解して意味を取れる
  2. 任せる: 「name と price をキーにしたJSONで返して」と欲しい形を正確に頼める
  3. 直せる: 「price が取れていない」「配列が空だ」と原因の場所を指させる
  4. 説明できる: なぜ動かなかったかを、人にもAIにも言葉で伝えられる

構造を知らない人の相談

何が問題か特定できず、AIも直しようがない。

TEXT
「なんか動きません。直して」
-> AI: どこが?何のデータが?となる

構造が分かる人の相談

場所と形を指せるので、AIがピンポイントで直せる。

TEXT
「results というリストが空で返ってくる。
 各要素は title と price を持つ辞書のはず。
 なぜ空になるか調べて直して」

同じ「直して」でも、後者はAIにとって圧倒的に直しやすい依頼です。これは前回の [[prompclienrequest(AIへの指示)の質が、データ構造の理解でそのまま上がる、ということでもあります。基礎があるほど、良いプロンプトが自然に書ける。

丸投げの危うさ

構造を確認せずにAIの出力をそのまま使うと、「一見動くけど、たまに空のリストが来て落ちる」ような不具合を見逃します。AIは自信満々に間違うこと([[hallucinatioclienrequest = もっともらしい嘘)もあります。中身の形を自分で確認できる人だけが、その落とし穴を避けられます。

そして嬉しいことに、今日の内容は「暗記」ではありません。リストはプレイリスト、辞書は住所録、ネストはマトリョーシカ、JSONは万国共通の伝票——このイメージさえ持っていれば、初めて見るデータでも「これはあの形だ」と当てはめて読めます。文法は言語ごとに違っても、この「形の見方」はどこでも通用します。

AIにはこう頼む

困ったら「このJSONの構造を、リスト・辞書のどちらかで日本語で説明して。どこに何のデータがあるか教えて」と聞くのが有効です。AIに解説させて、自分の理解と突き合わせる。これがバイブコーディングで基礎を保つコツです。

今日のゴールの再確認

リスト(順番の行列)・辞書(名札つきのまとめ)・ネスト=JSON(入れ子)。この3つが、AIやAPIの入出力の正体です。形が読めれば、AIに任せつつも主導権はあなたが握れます。

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

データ構造を理解していると、バイブコーディングで得られる効果として最も適切なのは?

Q2

AIへの「直して」依頼として、より良いのはどちら?

Q3

「データ構造(リスト・辞書・JSON)を学ぶと、AIに任せる作り方で何が変わるのか」を、たとえを交えて説明してください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。