最終更新:

AIコーディングの始め方 — 小さな関数を頼んで、テストで確かめよう


🐤 小さな関数から、確かめて採用

仕様を伝える3・5・15の結果を決める🤖 コードの提案頼んだファイルの差分を見る✓ テストして確認人が説明できる変更を採用
本文のFizzBuzzの練習です。提案の見た目だけでなく、仕様・差分・結果を確かめます。
🎚 難易度 ★☆☆ 初心者向け
⏱ 学習時間の目安 読むだけ10分程度。練習時間は環境で変わります。
📚 前提知識 プログラミングの基礎知識(なくても読める)
✅ このガイドで学べること
  • 身近な例で役割を説明できる
  • 小さな課題で確認する方法がわかる
ひよこ ひよこ
AIにコードを頼むなら、何から始める?
ペンギン先生 ペンギン先生
秘密情報のない練習用フォルダで、小さな関数を頼もう。FizzBuzzなら、3・5・15の結果を自分でも確認しやすいよ。
ひよこ ひよこ
どのツールを使えばいい?
ペンギン先生 ペンギン先生
今のエディタで候補を受け取りたいか、ファイルを編集してもらいたいかを考えよう。Copilot・Cursor・Claude Codeは機能が重なるので、利用画面と契約条件から選ぶといいね。
ひよこ ひよこ
Copilotの補完から試してもいい?
ペンギン先生 ペンギン先生
うん。対応するVS CodeでGitHubにサインインし、公式のセットアップを進めよう。候補はTabで受け入れられるけれど、まず内容を読むんだ。使える機能はプランや組織設定でも変わるよ。
ひよこ ひよこ
お願いする文は短くていい?
ペンギン先生 ペンギン先生
長さより、入力と欲しい結果がはっきりしていることが大切だよ。対象ファイル、仕様、変更しない範囲、確認方法を書けば、何を採用するか判断しやすいね。
ひよこ ひよこ
コードが表示されたら終わり?
ペンギン先生 ペンギン先生
保存して実行し、期待する結果を確かめよう。AIがテストも作った場合でも、仕様と合っているかは人が確認するよ。
ひよこ ひよこ
大きな変更にも使える?
ペンギン先生 ペンギン先生
まず調査と計画を出してもらい、確認できる単位に分けよう。差分とテストの結果を見てから次へ進めると、問題の場所を探しやすいね。
ひよこ ひよこ
仕事のコードもそのまま渡していい?
ペンギン先生 ペンギン先生
所属先のルールやデータの送信先を確認しよう。使えるファイル・コマンド・外部接続も重要だね。練習の段階では、実データや秘密鍵を使う必要はないよ。
ひよこ ひよこ
初心者の覚え方は?
ペンギン先生 ペンギン先生
「AIコーディング」って出てきたら「コードの提案をもらい、自分で確かめて使う」と思えばだいたいOK!

最初のゴール:3・5・15を確かめる

Node.jsとコードを書けるエディタを用意します。AIツールは利用できるものを1つ選び、公式手順でログインしてください。この記事の練習はローカルのファイルだけで完結し、公開やGitHubへの送信は必要ありません。

練習用フォルダで、次をコメントやチャットに入力します。

fizzbuzz.mjsだけに、export function fizzBuzz(n)を作ってください。
正の整数nまで、1から順に文字列の配列を返します。
3の倍数はFizz、5の倍数はBuzz、両方ならFizzBuzz。
それ以外は数字の文字列です。外部ライブラリは使いません。
不正なnはRangeErrorにします。変更を説明してください。

AIの提案とは別に、確認用ファイルを作る

次を fizzbuzz.test.mjs として保存します。これはこの練習で使うテスト例で、AIが出力した実績ではありません。関数は自分が採用した提案を fizzbuzz.mjs に保存します。

import test from 'node:test';
import assert from 'node:assert/strict';
import { fizzBuzz } from './fizzbuzz.mjs';

test('通常・3・5・15と不正な入力', () => {
  const result = fizzBuzz(15);
  assert.equal(result.length, 15);
  assert.equal(result[0], '1');
  assert.equal(result[2], 'Fizz');
  assert.equal(result[4], 'Buzz');
  assert.equal(result[14], 'FizzBuzz');
  for (const n of [0, -1, 1.5, '15', NaN, Infinity]) {
    assert.throws(() => fizzBuzz(n), RangeError);
  }
});
node --test fizzbuzz.test.mjs

このテストが成功することが最初の目印です。失敗したら、そのエラーと期待する結果を伝えます。テストを消したり期待値を変えたりして成功させるのではなく、仕様と関数を照合しましょう。大きな入力の制限など、本番で必要な条件は別に設計します。

採用前に3つだけ見る

  1. 仕様:両方の倍数を先に扱っているか。不正な入力をどうしているか。
  2. 差分:頼んでいないファイルや設定まで変わっていないか。
  3. 説明:自分で処理の流れを説明できるか。

AIツールはコードの提案だけでなく、ファイル変更やコマンド実行もできます。契約・利用枠・操作の許可を確認し、最初から広い権限を渡す必要はありません。どの製品でも、正しさや作業時間を無条件に保証するものではありません。

もう一歩進むなら

JavaScript入門で関数の中身を理解し、Git入門で変更前後を比べる方法へ進めます。製品選びはAIコーディングツール比較で確認できます。

参考資料

次に学ぶなら