はじめに

近年、自然言語で指示するだけでコードを生成・修正してくれる 生成AIAIコーディングエージェント が急速に普及しています。ソフトウェア開発の現場でも、これらを使いこなすことが当たり前のスキルになりつつあります。

このページは、AIを 使ったことがない人 でも読めるように書いています。

この講義での前提 AIが使える環境の人も、使えない人もいます。本講義の演習は AIがなくても完結できる ように作られています。AIは「使ってもよい補助」であって、必須ではありません。大切なのは、AIに頼り切ることではなく、AIが出した結果を自分で評価・検証できる力を身につけることです。

生成AIとAIエージェントの違い

  • 生成AI(チャット型):ChatGPT のように、対話の中で質問するとコードや文章を返してくれるもの。生成された結果は自分でコピーして使います。
  • AIエージェント:Claude Code や GitHub Copilot、Replit の Assistant のように、エディタやターミナルの中で直接コードを書いたり修正したりするもの。ファイルの編集やコマンド実行まで自動で行うものもあります。

どちらも内部では 大規模言語モデル(LLM) が動いており、「もっともらしい続き」を予測して出力します。正しさを保証するものではない点が共通の注意点です。

代表的なツール(無料で始められるもの)

ツール 種類 入手のしやすさ
Microsoft Copilot チャット型 広島大学が Microsoft 365 を包括契約しているため、大学アカウントでログインして利用できる
ChatGPT チャット型 無料版あり。ブラウザですぐ使える
GitHub Copilot エディタ補完/エージェント 学生は GitHub Student 経由で無償利用可
Replit Assistant エディタ内エージェント 本講義で使う Replit に内蔵(利用制限あり)
Claude / Gemini など チャット型 無料版あり

Microsoft Copilot は、広島大学の Microsoft 365 包括契約により、追加費用なしで使えます。 大学のメールアドレス(bXXXXXX@hiroshima-u.ac.jp)でサインインしてください。まず試すならこれが手軽です。

環境がなくても心配いりません。「AIに何ができて、何ができないか」を理解しておくことが、まず重要です。講義中にデモを行うので、未経験の人はそこで挙動を確認してください。

上手な使い方:プロンプトの基本

AIへの指示文を プロンプト と呼びます。良い結果を得るコツは、仕様を具体的に伝える ことです。

  • 目的・前提を書く:「何のための」「どんな入力で」「どんな出力がほしいか」
  • 制約を書く:使う言語、使ってよい/いけないライブラリ、コーディング規約など
  • 段階的に頼む:一度に全部ではなく、設計 → 実装 → テスト、と分けて指示する
  • 悪い例 → 良い例
    • ❌「ソートのプログラムを書いて」
    • ⭕「整数のリストを昇順に並べ替える Python 関数を書いて。標準ライブラリの sorted は使わず、バブルソートで実装し、空リストの場合も動くようにして」

仕様があいまいだと、AIは それらしいが間違ったコード を返します。「何を作るか」を正確に言葉にする力(=要件定義・仕様記述の力)が、AI時代にはむしろ重要になります。

最重要:AIが出したコードの検証

AIの出力は 必ず間違いうる という前提で扱ってください。生成されたコードをそのまま信用せず、次の方法で確かめます。

  • 読んで理解する:何をしているコードか、自分の言葉で説明できるか確認する。説明できないコードは使わない。
  • 動かす・テストする:実際に実行し、境界値(0、空、最大値、負の数など)や異常な入力でも正しく動くかを確かめる。
  • コードレビューの観点で見る:命名は適切か、重複はないか、責務は分かれているか、セキュリティ上の穴(入力値の未検証など)はないか。
  • 仕様と照合する:もともと作りたかったものと一致しているか。AIが勝手に仕様を変えていないか。

これらは本講義で学ぶ テストコードレビューセキュアコーディング設計 の知識そのものです。AIを使うほど、これらの基礎が「結果を見抜く目」として効いてきます。

学習上の心得

  • 理解を伴わないコピペは禁物:動いても、自分が説明できないコードは身につきません。試験や実務で必ず困ります。
  • まず自分で考える:演習は「自分の頭で考えるための訓練」です。最初からAIに答えを出させると、考える機会を失います。AIは、自分の答えを確認したり、別解を知ったりするために使うのが効果的です。
  • 剽窃に注意:AIが出力したコードをそのまま提出することは認められません。同じプロンプトを入れた他の学生と酷似した提出物は減点対象になり得ます。AIを参考にした場合は、どう活用したかを明記 してください(各課題の注意事項に従うこと)。
  • 情報の取り扱い:個人情報や未公開のコードを安易にAIへ送信しないこと。

まとめ

AIは強力な道具ですが、正しさを判断するのは人間です。この講義で学ぶ仕様記述・設計・テスト・レビュー・セキュアコーディングは、AI時代に「AIの出力を検証し、責任を持って使う」ための土台になります。AIが使える人は積極的に試し、使えない人は「何ができる道具なのか」を理解しておきましょう。

参考リンク