【AIコーディング】開発初心者が覚えておきたいIT専門用語

筆者含め、Claude CodeやCodexなどのAIをフル活用し、プログラミングやWeb制作を進める人が急増している。コードの作成や修正はもちろん、エラーの原因調査から解決まで、初心者でもあらゆることができてしまう時代。正直、もうAIなしでのコーディングなんて考えられない状態になってしまった。

ただ注意しておきたいのは、「AIを使えば何も知らなくていい」というわけではないということ。  
むしろ、一定のITリテラシーを持っているかどうかで、AIへの質問の質や返ってくる回答の理解度が大きく変わる。特にセキュリティ面が重要で、何でもかんでも「YES」を連発するのは危険すぎる。

ということで本記事では、AIで開発を始める初心者が覚えておきたい専門用語をリストアップしていく。(随時更新予定)  
最初から完璧に理解しようとせず、各用語の意味がなんとなくわかればOK、くらいの気持ちで読んでみてほしい。

目次

1. ローカル環境(Local Environment)

自分の手元のパソコン(PC)の中の環境のこと。単に「ローカル」と呼ばれることも多い。
反対に、インターネット上の空間のことを「サーバー」と呼んで区別する。

「ローカルでテストする」「ローカルにあるファイルを読み込む」というのは、わざわざインターネット上に公開して他の人がアクセスできる状態にしなくても、自分の手元のPCの中だけでアプリが動いている状態のこと。
AIと一緒にプログラミングをするときも、まずはこの「ローカル環境」の中でテストしながら作り込み、完成してからインターネット上(サーバー)に公開していくのが基本になる。

詳細は こちら

2. GUI(Graphical User Interface)

マウスや指を使って直感的に操作できる画面のこと。

日常的にスマホやPCで目にする、ボタンのクリックやドラッグ&ドロップができる画面はすべてGUIにあたる。
反対に、後述するCLI(文字のコマンドだけで操作する画面)とよく比較して使われる。

3. CLI(Command Line Interface)

キーボードから文字(コマンド)を打ち込んでパソコンを操作する仕組みのこと。

普段使っているGUI(マウスやタップで操作する画面)の反対にあたる。AIコーディングでは、後述の「ターミナル」というツールを使ってCLI操作を行う場面が頻出する。はじめは黒い画面に文字が羅列されていてとっつきにくく感じるが、開発には欠かせない。

4. IDE(Integrated Development Environment)

プログラミング(コードを書く作業)をするための高機能な作業ツールのこと。
日本語に訳すと「統合開発環境」となり、「コードエディタ」「エディタ」と呼ばれることもある。

普通のメモ帳と違い、コードの自動補完やエラー箇所のお知らせ、ファイルごとの管理などを一括で行え、開発を劇的に楽にする機能が詰め込まれている。代表的なものに「VS Code」や、AI内蔵型の「Cursor」がある(Cursorは筆者のお気に入りのツール)。

5. VS Code(Visual Studio Code)

Microsoftが無料で提供している、世界中で最も使われている代表的なIDE(コードエディタ)のこと。
公式(ダウンロード)サイト:https://code.visualstudio.com/

とにかく動作が軽くて使いやすく、デザインの変更やAI補助などの「拡張機能」が豊富に揃っているのが特徴。プログラミングを始めるとき、特別な理由がなければ、まずはこれをダウンロードしておけば間違いないと言える定番ツール。

6. ターミナル(Terminal)

PCに直接命令(コマンド)を打ち込んで操作するためのツールのこと。
いわゆる「黒い画面」と呼ばれることが多く、文字だけでやり取りを行う(CLI)。

コマンドプロンプト

Windowsの「コマンドプロンプト」やMacの「ターミナル.app」が最初から入っているほか、VS CodeなどのIDEの中にも内蔵されており、その場合は黒い画面ではないこともある。ファイルの作成や移動、開発ツールのインストール、サーバーへの接続など、AI開発を進めるうえで避けては通れない重要な作業場所となる。

7. PowerShell

Windowsに標準で入っている、比較的新しいターミナル(黒い画面)ツールのこと。

Windows PowerShell

古くからあるWindowsの「コマンドプロンプト」のパワーアップ版(上位互換)にあたり、より複雑な指示が出せるようになっている。AIコーディングでWindowsを使う場合、コマンドプロンプトではなくこちらのPowerShellを開くように指示されることが多い。コマンドプロンプトより新しいターミナルで、実質上位互換的に使える。

8. ディレクトリ(Directory)

ファイルをまとめて入れておく「フォルダ」のこと。

WindowsやMacの画面上(GUI)で見るときは「フォルダ」と呼ぶのが一般的だが、ターミナルの文字画面(CLI)からコンピュータの構造として扱うときは「ディレクトリ」と呼ばれることが多い。

難しい話は置いておいて、まずは「ディレクトリといえばフォルダのこと」と考えてしまって全く問題ない。

9. パス(Path)

ファイルやディレクトリ(フォルダ)の場所を示す「住所」のような文字列のこと。
システムやAIに対して「このファイルを読み込んで」「ここに保存して」と正確な場所を指示したいときに必ず使われる。

PC上のフォルダ内のファイルなら、上図のような文字列の連なりとして表せる。

9-1. 絶対パス(Absolute Path)と相対パス(Relative Path)

絶対パスとは、PC全体の中でその場所を一番上の階層から完全に指定する書き方のこと。
最初から最後までフルで住所を書くイメージ。

相対パスとは、今作業している場所を基準にして指定する書き方。
近くの場所を「隣の部屋」みたいに省略して表現するイメージ。

10. 権限(パーミッション)

ファイルやディレクトリを「誰が」「どう操作できるか(読む・書き込む・実行するなど)」を決める許可証のこと。
ターミナル操作やAIの実行中に「Permission denied(権限がありません)」というエラーが出ることがよくある。

これは、スマホアプリで「写真へのアクセスを許可しますか?」と聞かれるのと同じイメージ。権限がないと勝手にファイルを書き換えられないようになっており、AIであってもPCの重要な部分を壊さないためのセキュリティの壁として働いている。

11. Git

ファイルの変更履歴を細かく記録・管理してくれる仕組みのこと。
ゲームの「セーブデータ機能」に近いイメージ。

間違えてコードを消してしまったり、エラーが出っ放しになって元に戻したくなったりしたときに、過去のセーブポイントから簡単に復元できる。AIコーディングは試行錯誤の連続になるし、誤って重要なコードやファイルを削除してしまうこともあるため、Gitでこまめに履歴を残しておくことが最大の防御になる。

具体的には、ターミナルで特定のコマンド(git log --oneline など)を打つと、セーブポイントの一覧が見られる。
さらに別のコマンドを打てば、セーブポイントまで戻ることもできる。

12. GitHub

Gitで記録した履歴やファイルを、インターネット上で保存・共有できるサービスのこと。
先ほどがセーブデータ機能なら、こちらは「クラウド上のセーブデータ保管庫」だと考えるとわかりやすい。

自分のPCが壊れてもデータが消えないのはもちろん、世界中の人が自分のコードを見たり、他の人のコードを参考にしたりできる(公開設定をPrivateにすることで非公開にできる。基本的にはPrivateを選ぶ)。AIツールの中には、このGitHubから直接コードを読み込んでくれるものもある。

13. リポジトリ(Repository)

GitやGitHubで、ファイルやその変更履歴をまとめて保存しておく「保管庫」のこと。

ディレクトリ(フォルダ)とよく似ているが、ただファイルが入っているだけでなく「いつ、誰が、何をどう変えたか」という歴史まで一緒に保存されているのが特徴。新しいアプリを作り始めるときは、「まずはリポジトリを作成する」ところからスタートするのが一般的だ。

14. コミット(Commit)

Gitで変更履歴をセーブ(記録)するアクションのこと。

「ここまでの作業をひとまず確定!」と宣言して、歴史に1ページを刻むイメージ。このとき「ヘッダーの色を変えた」「ログイン機能を追加した」というようなメモ(コミットメッセージと呼ばれる)を一緒に残しておくことで、後から見返したときに何を変更したのかが一目でわかるようになる。

具体的には、上図のようにgit add .git commit -m "コミットメッセージ"を使ってセーブすることが多い。

15. ブランチ(Branch)

今の作業履歴から「枝分かれ」させて、別の作業を並行して進めるための機能のこと。

例えば、本番用のコード(幹)はそのまま安全に保ちつつ、新しい機能のテスト用(枝)を作って作業できる。もしテスト側で失敗しても本番のコードには影響が出ないため、AIと一緒に大胆なコードの書き換えに挑戦するときなどに非常に役立つ。

16. 環境変数(Environment Variable)

システムやアプリを動かすための「裏設定」のような値のこと。

普通はコードの中に直接書きたくないパスワードや、APIキー(後述)といった重要な隠しデータを保存するために使われる。AIにコードを書かせるとき、「パスワードなどの機密情報は環境変数から読み込むようにしてください」と指示する(直接パスワードやAPIキーを渡さない)ことが重要。

17. .env

環境変数をまとめて書き込んでおくための、専用の設定ファイルのこと。

プロジェクトのディレクトリ内にポンと置かれることが多い。このファイルには本物のパスワードや秘密のキーが書かれているため、絶対にGitHubなどのインターネット上に公開してはいけない(公開しないための仕組みとして.gitignoreというファイルもよく一緒に使われる)し、AIが読み込める状態にするのも避けるべき。

18. API(Application Programming Interface)

違うソフトやサービス同士を繋ぐための「窓口」のこと。

例えば、自分の作ったアプリに「X(旧Twitter)のタイムラインを表示したい」とか「ChatGPTのAIを組み込みたい」と思ったとき、それぞれのサービスが用意しているAPIという窓口を通してデータをやり取りする。レストランでいうところの、注文を通して厨房に伝え、料理を運んでくれる「ウェイター」のような役割を果たしている。

19. HTTP / HTTPS(HyperText Transfer Protocol)

Webサイトを見たり、インターネット上でデータをやり取りしたりするための「通信のルール」のこと。
普段ブラウザでURLを見るときに先頭についている「http://」や「https://」のことである。

特に「HTTPS」の「S」はSecure(安全)の略で、通信が暗号化されていて誰かに覗き見されにくい状態であることを意味している。
現状、たいていのサイトは「https://」で始まるが、古いサイトなどは「http://」から始まっていることもある。こういったサイトは通信が暗号化されていないため、基本的にアクセスしない方がいい。

もちろん当サイト(https://noveblo.com/)は「https://」からはじまっているので、ご安心を!

20. データベース(Database)

ユーザーの情報や投稿された記事など、大量のデータを整理して保存しておく「電子の引き出し」のこと。

ただのファイルに保存するのとは違い、膨大なデータの中から必要なものだけを瞬時に検索して取り出せるように最適化されている。AIを使ったアプリでも、ログイン機能(IDやパスワード、名前などのユーザー情報の管理)や、注文情報などのデータの保存が必要になれば、必ずどこかでデータベースが必要になってくる。

21. フロントエンド(Front-end)

ユーザーの目に直接触れる、アプリやWebサイトの「表側(見た目)」のこと。

レストランで例えると「客席」や「メニュー表」のようなもの。ボタンの色を変えたり、アニメーションをつけたりといった目に見える部分を作る作業は、すべてフロントエンドの開発にあたる。AIに「もっとお洒落なデザインにして」と指示して返ってくるコード(HTML、CSS、JavaScriptなど)は、だいたいこの部分に関するもの。

22. バックエンド(Back-end)

ユーザーからは見えないところで、データの処理や保存を行う「裏側」のこと。

先ほどのレストランの例なら「厨房」や「倉庫」にあたる。ログインの判定をしたり、決済処理を行ったりと、システムが正しく動くための重要な裏方作業を担当している。表側(フロントエンド)よりも複雑なロジックになりやすい。PHPやPython、Rubyなどが使われる。

23. サーバー(Server)

インターネット上で、サービスやデータを提供する「24時間営業のパソコン」のこと。
通常パソコンというとモニターが付いてくるが、サーバーはモニターがない、というか不要なことが多い。(機械同士のやりとりが中心となるため)

私たちがスマホやPCから「このサイトを見せて」とお願いすると、サーバーがその要求を受け取り、必要な画像や文字のデータを送り返してくれる。ローカル環境(自分の手元のPC)で作ったアプリも、最終的にはこのサーバーに置くことで、初めて世界中の人がアクセスできるようになる。

24. IPアドレス(IP Address)

インターネット上の機器に割り当てられた「ネットワーク上の住所(番地)」のこと。

「192.168.1.1」のような数字の羅列で表される。ネットの世界で手紙(データ)を迷わず届けるために絶対必要な宛先だが、人間にとって数字の羅列は覚えにくいため、後述のDNSという仕組みと一緒に使われることが多い。

25. DNS(Domain Name System)

IPアドレス(数字の羅列)を、人間が覚えやすい文字列(ドメイン名)に変換してくれる「電話帳」のこと。

例えば「142.250.xxx.xxx」という数字を「google.com」というわかりやすい名前(ドメイン)に翻訳してくれている。これがあるおかげで、私たちは難解な数字を暗記することなく、好きなWebサイトに簡単にアクセスできている。

26. キャッシュ(Cache)

一度読み込んだデータを手元に一時保存して、次回から素早く表示させるための仕組みのこと。

よく行くお店の「スタンプカードを財布の取り出しやすい場所に入れておく」ようなイメージ。
便利な機能である反面、「AIを使ってコードを修正したのに、画面の見た目が全く変わらない」という現象が起きたときは、だいたい過去の古いキャッシュが残ったまま表示の邪魔をしていることが多い。そのため、開発中はキャッシュを削除(クリア)する操作が頻繁に求められる。

27. Cookie(クッキー)

ユーザーがサイトを訪れた時の履歴や、入力した情報を一時的に保存しておく「小さなメモ帳」のこと。

一度ログインしたサイトに数日後アクセスしてもログイン状態が続いているのは、このCookieの中に「私はログイン済みのユーザーです」という証明書がメモされているおかげ。プライバシーに関わる重要なデータが含まれることもあるため、取り扱いには注意が必要。

28. SSH(Secure Shell)

離れた場所にある別のパソコン(サーバーなど)を、ターミナルを使って安全に遠隔操作するための仕組みのこと。

ネットワークを通って別のPCに入りこむため、途中で誰かに覗き見されたりパスワードを盗まれたりしないよう、通信全体が強力に暗号化(Secure)されている。「ネット上を通る、防弾ガラス付きの専用トンネル」を作って安全に通信・命令を届けるイメージ。AIを使ってサーバーに直接コードをデプロイ(配置)する際などによく使われる。

29. Docker(ドッカー)

どんなパソコンでも、全く同じ開発環境をすぐに作ることができる「魔法のコンテナ技術」のこと。

「私のWindowsでは動いたのに、他の人のMacでは動かない」といったプログラミングあるあるを防ぐために使われる。アプリを動かすのに必要な設定やツールをすべて一つの箱(コンテナ)に詰めて持ち運べるため、AI開発でも「環境構築でつまずかないように、まずはDockerを使おう」と言われるほど普及している。

30. フレームワーク(Framework)

システムを効率よく作るために、あらかじめ骨組みや便利な道具が用意された「開発の土台(キット)」のこと。

家を建てる時に、ゼロから木を切って組み立てるのではなく、すでに壁や柱がセットになったプレハブ小屋のキットを使うイメージ。Web制作なら「React」や「Next.js」、AIに強い言語のPythonなら「Django」、EC-CUBEなら「Symfony」などがある。これらを使うことで、0からアプリを作るより格段に制作が楽になる。

31. プロンプト(Prompt)

AIに対して出す「指示」や「質問文」のこと。

AIは非常に優秀だが、抽象的な指示(例:「いい感じのサイトを作って」)だと期待外れのものを返してきやすい。自分が作ってほしい「具体的な機能・デザイン・ルール」をプロンプトとして上手く伝えられるかどうかが、AIコーディングの成功を大きく左右する。

・・・というのが通例だったが、あまりに指示が細かい・具体的過ぎると、今度はAIの対応を制限してしまうことがある。プロンプトが短い方が、AIを柔軟に働かせられるという側面もあるため、一概にどのようなプロンプトがベストかは判断できなくなっている。

32. デバッグ(Debug)

プログラムの中に潜むバグ(動作の不具合やエラー)を見つけて、修正する作業のこと。

「虫(バグ)を取り除く(デ)」という意味合いを持つ。AIが書いてくれたコードでも一発で完璧に動くことは珍しくなく、エラー画面と格闘する時間が必ず発生する。AIにエラー画面の文字やスクショを丸投げして修正してもらうのも、デバッグ作業の一つといえる。

33. リファクタリング(Refactoring)

プログラムの「外から見た動作(見た目や機能)」はそのままに、「内部のコード構造」だけを綺麗に整理整頓すること。

ごちゃごちゃになった配線を、綺麗に束ね直すようなイメージ。コードが散らかっていると、後から新しい機能を追加するときにAIが混乱したり、思わぬバグを生む原因になったりする。定期的にAIに「このコードをリファクタリングして」とお願いすることで、健康的なアプリの状態を保つことができる。

34. エラーログ(Error Log)

プログラムが動かなくなったときに、「いつ、どこで、何が原因で止まったか」が記録された履歴のこと。

いわばシステムが残した「ダイイングメッセージ」。ターミナルの黒い画面や、ブラウザの裏側に赤い文字で表示されることが多い。初心者にとっては意味不明な英語の羅列に見えるが、焦らずこのエラーログをコピーしてAIに渡せば、原因を突き止める手掛かりになる。

35. デプロイ(Deploy)

開発環境(手元のパソコン)で作ったシステムやWebサイトを、本番環境(サーバー)に配置して、世界中の人が使える状態にすること。

料理で例えるなら、厨房で作った料理を「客席に運んで提供する」アクションにあたる。完成したからと言って終わりではなく、実際にデプロイするまでに複雑な設定が必要になることも多いが、最近はAIや便利なサービスのおかげでかなり簡単に行えるようになってきた。

36. ドメイン(Domain)

Webサイトの場所を示す「インターネット上の表札(または看板)」のこと。

当サイトでいう「noveblo.com」の部分にあたる。すでに説明した「IPアドレス(数字の住所)」だけだと人が覚えられないため、お金を払って自分だけのわかりやすい表札(ドメイン)を買い、IPアドレスと紐付けるのが一般的。

37. パッケージ(Package / ライブラリ)

世界中の誰かが作ってくれた「便利なプログラムの部品(詰め合わせ)」のこと。

例えば「カレンダーを表示する機能」や「グラフを描く機能」などを自分でゼロから作らなくても、パッケージとしてダウンロードすれば瞬時に自分のアプリに組み込める。これらを管理するためのツール(パッケージマネージャー)として、JavaScript環境だと「npm」、Python環境だと「pip」という言葉が非常によく飛び交う。

38. JSON(JavaScript Object Notation)

システム間でデータをやり取りするときによく使われる「データ記述のルール(フォーマット)」のこと。「ジェイソン」と読む。

「名前 : 太郎, 年齢 : 20」のように、項目名と中身をセットにしてシンプルな文字列にするのが特徴。API(他のサービスとの窓口)を使ってデータを引っ張ってくるときは、だいたいこのJSONという形式でデータが届く。人間にもAIにとっても整理して読み書きしやすいため、現代の開発で最もよく目にするデータ形式。

39. OSS(Open Source Software)

設計図であるソースコードが、世界中の誰でも無料で見たり、使ったり、改造したりできるように公開されているソフトウェアのこと。

代表的なものにWordPressやLinuxなどがある。営利企業ではなく、世界中のボランティアエンジニアたちによって日々改良されていくという素晴らしい文化の結晶。AI開発で使うツールの多くも長年OSSとして育てられてきた背景があり、「無料で使えるのが当たり前」なITのベースを作っている。

40. UI / UX(User Interface / User Experience)

UIはユーザーの目に触れる「見た目・操作画面」、UXはそのアプリを使ったときにユーザーが感じる「使いやすさや体験」全体のこと。

「見た目は綺麗(UIが良い)だけど、ボタンが小さくて押しにくい(UXが悪い)」といった使い方をする。AIにデザインを頼む時は「今っぽいUIにして」とか「もっとUXを改善したい」という言葉を使うと、意図が伝わりやすい。

41. マークダウン(Markdown)

見出しや太字、リストなどの「文章の装飾」を、簡単な記号だけでパパッと書けるルール(書き方)のこと。

AIが理解しやすい文章として、最近注目を集めるようになった文章形式。NotionやObsidianなどのマークダウン形式で書くことが前提のツールは、AIとの相性が特に良い。「# 見出し」や「- リスト」のように書くだけで綺麗にデザインされ、開発者のメモや説明書(READMEなど)でも非常によく使われる。AIに「マークダウン形式で出力して」とお願いすると、そのままコピペして使える綺麗な表やリストを一瞬で作ってくれる。

42. コンポーネント(Component)

Webサイトやアプリを構成する、再利用可能な「部品」のこと。

レゴブロックの「窓パーツ」や「ドアパーツ」のイメージ。「ログインボタン」や「ヘッダー」を一つのコンポーネントとして独立させて作っておくと、後から色々なページで使い回せて、修正も一箇所で済むようになる。AIも「ここは再利用しやすいようにコンポーネントに分けておきました」と気を利かせてくれることが多い。

43. レスポンシブ(Responsive Design)

パソコンやスマホ、タブレットなど、見る画面のサイズに合わせて自動的に「ちょうどいいレイアウト」に切り替わるWebデザインの仕組みのこと。

昔は「パソコン用サイト」と「スマホ用サイト」を2つ別々に作っていたが、今は1つのコードで画面幅に応じて伸び縮みさせるのが主流。AIにデザインを依頼するときは、「スマホ対応(レスポンシブ)にしてください」と付け加えるのがお決まりのパターン。

44. ビルド(Build)

人間が書いた(あるいはAIに書かせた)バラバラのコードや素材を、最終的に「機械が読み込める1つの完成品ファイル」にギュッと変換・組み立てる作業のこと。

プラモデルの部品を切り取って接着剤でくっつけ、完成品にするようなイメージ。特に最近のWeb制作(Reactなど)では、コードを書いたあとにターミナルで「ビルド」というコマンドを実行しないと、本番に使える完成品のファイルが出力されないことが多い。

45. コメントアウト(Comment Out)

プログラムのコードの中に、コンピューターからは「無視される」メモ書きを残すこと。

ソースコードの中に// ここは後で直す<!-- 一時的に隠す -->のように特定の記号で囲むと、その部分はシステムに実行されなくなる。メモとしての役割もあるが、一時的にコードを機能させないようにするためにもよく使われる。AIが「古いコードは念のためコメントアウトして残しておきました」と言ってくれるのは、あとで元に戻したくなった時のための親切心。

46. ハードコード(Hard-coding)

「パスワード」や「ユーザーの名前」、「商品の値段」といった変動するはずのデータを、コードの中に「直接ベタ書き」してしまうこと。

例えば、税率計算の処理に「0.1(10%)」という数字を直接書き込んでしまうと、将来税率が変わったときにコードを全て探し回って直さなければならなくなる。AIにコードを作らせる際も、「ここはハードコードしないで」と伝えることで、後から変更しやすい質の高いコードに仕上げてくれる。

47. シンタックスエラー(Syntax Error)

コードを書く上での「文法的な間違い(スペルミスや記号の抜けなど)」によるエラーのこと。

英語のテストで、ピリオドを忘れたり単語のつづりを間違えたりしてバツにされるのと同じ。例えば「必要な括弧( } )が一つ足りない」というだけの理由で、アプリ全体が真っ白になって動かなくなることは日常茶飯事。これが出たらAIにコードを丸投げすれば、一瞬で「ここが抜けています」と添削してくれる。

48. ルーティング(Routing)

URL(アドレス)ごとに、「どの画面(ページやデータ)を表示するか」を割り当てる「交通整理」の案内板のこと。

例えば「/about」にアクセスが来たら会社概要ページを開き、「/contact」ならお問い合わせページを開く、といったルート(道順)を決めている役割。新しいページを作ったのに画面に表示されないときは、だいたいこのルーティングの設定を追加し忘れているケースが多い。

49. 拡張機能 / プラグイン(Extension / Plugin)

アプリやソフトウェアに、後から付け足して「機能をパワーアップさせる」追加パーツのこと。

RPGゲームの「装備品」のようなイメージ。VS Code(コードエディタ)やWordPressなどのツールは、最初から全部入りの重い状態にしておくのではなく、自分が必要な拡張機能だけを選んでインストールしてカスタマイズしていくのが基本スタイル。AIをサポートとして組み込む拡張機能も数え切れないほど存在する。

ただ、拡張機能の中にはセキュリティ面で脆弱性のあるものや、そもそも悪意をもって作られたものも存在する。AIに言われるがままにインストールするのは危険なので、必ず更新日や口コミ、評価などを見てからインストールするように。

50. APIキー(API Key)

他のサービス(API)を利用させてもらうための「専用のパスワード・合鍵」のようなもの。

前述の「API」を使って、例えば「自分のアプリにChatGPTを組み込みたい」と思った時、ただ繋ぐだけでは許可されず、自分が発行したこの秘密の鍵(文字列)を一緒に送ることで初めて連携できる。.envに書かれることが多いが、絶対に他人に知られてはいけないスーパー重要情報なので、GitHub等にアップしないよう(環境変数を使うなど)厳重に管理する必要がある。

51. ハルシネーション(Hallucination)

AIが「もっともらしいウソ」を、さも事実であるかのように自信満々に答える現象のこと。

直訳すると「幻覚」。AIで何か調べものをするときに、古い情報や誤った情報を返すことが度々ある。AIコーディング中であれば、「AIが提案してくれた便利そうなコードが、実はそもそも存在しない架空の拡張機能だった」というケースなど。AIのアップデートにより正確性はかなり改善されてきたが、AIの言うことを100%信じ切るのではなく、引用元を確認するなどして正しい情報であるかを常に意識することが大事である。

52. コンテキスト(Context)

AIが適切に答えるために必要な「背景情報」や「文脈」のこと。

例えば、AIに突然「画面の下の方にボタンを作って」と指示しても、何の話かわからないのと同じ。「今のコード全体の状況」や「自分が何を作ろうとしているか」というメモ(コンテキスト)を最初にAIへ読み込ませることで、トンチンカンな回答を防ぐことができる。最近のAIツールは、こういったメモ(Claude CodeでいうCLAUDE.mdなど)を自動で読み込んでくれる機能が優秀になっていることが多い。

53. トークン(Token)

AIが一度に読み取ったり、出力したりできる「情報の塊の単位」のこと。

厳密には文字数とイコールではないが、大まかに「AIにとっての文字制限」と理解してよい。「トークンの上限に達しました」というエラーが出たときは、AIに一度に長すぎるコードを読ませようとしたり、背景情報を詰め込みすぎたりして、AIの頭のキャパシティ(記憶容量)がパンクしてしまったことを意味する。

トークンの使用上限は、各種AIサービスのどのプランに契約しているかによって変わる。
一般に、有料の上位モデルの方が上限が高く設定されている。

54. ローカルホスト(localhost)

自分の手元のパソコン(ローカル環境)を、一時的にサーバーのように見立てたときの「自分自身の住所」のこと。

Webアプリを作って動作確認するとき、ブラウザに「http://localhost:3000」などのURLを打ち込むのが定番の流れ。インターネット上ではなく、あくまで「自分のPCの中だけ」で動いている状態なので、このURLを他の人に教えても(他の端末からは)アクセスできない。

55. ポート番号(Port Number)

通信を行うときに、「どの扉(入り口)を使ってデータをやり取りするか」を決める番号のこと。

前述のローカルホスト(住所)とセットで使われることが多い。「マンション(localhost)の何号室(ポート番号)」というイメージで、例えばWeb開発なら「3000」や「8080」が、SSH接続するときは「22」や「10022」がよく使われる。もしターミナルで「ポートが既に使われています」とエラーが出た場合は、別のアプリがその扉を占領していることが原因である。

56. 変数(Variable)

色々なデータ(文字や数字)を一時的に入れておくための「名前のついた箱」のこと。

例えば「ユーザー名を入れておくための『userName』という箱」を用意しておけば、中身が「太郎」から「花子」に変わっても、プログラムは『userName』の中身を表示するだけで済むようになる。もし、名前の表示部分を「太郎」と直接書く(これをハードコードという)、名前の変更があったときに「太郎」書かれた箇所すべてを変更しなければならなくなり、作業が大変かつ見落としも起こりやすくなる。

コードを読む際は、この変数という箱の数々がどう動いているかを目で追うと、プログラムの全体の流れが掴みやすくなる。

57. 関数(Function)

よく使う一連の処理(複数の命令)をひとまとめにして、名前をつけた「自動販売機のようなパーツ」のこと。

「数字を2つ渡したら、足し算して結果を返してくれる」といった一連の流れを一つの関数にしておけば、何度も同じコードを書く手間が省ける。AIに「もっとコードをわかりやすく整理して」や「リファクタリングして」などと頼むと、ダラダラと長く書かれたコードを意味ごとに「関数」として綺麗に小分けにしてくれることが多い。

58. 配列 / リスト(Array / List)

複数の変数(データが入った箱)を、ロッカーのように一列に並べてまとめて管理するための「連番付きの箱」のこと。

例えば「りんご」「みかん」「ぶどう」という3つの別々のデータを、ひとつのグループとして扱いやすくする。「買い物リスト」を作り、1番目にこれ、2番目にこれ…と整理して入れておくイメージ。AIを使ったアプリでも、取得した複数のデータを画面に一覧表示したい時には必ずと言っていいほどこの配列が使われる。

59. クラス(Class)

似たような機能やデータを持った「モノ(オブジェクト)」を量産するための、共通の「設計図」や「金型」のこと。

例えば「たい焼きメーカー(金型)」を作っておけば、少し中身の設定を変えるだけで「あんこ味のたい焼き」や「クリーム味のたい焼き」を簡単に大量生産できる。すなわち「後で同じようなものを量産しやすい設計図の形にしておいた」と考えればOK。

60. フルスタック(Full-stack)

「フロントエンド(表側)」から「バックエンド(裏側)」、さらにはデータベースやサーバー環境構築まで、Web開発の全領域を通しでカバーできること。

全部できるようになるには膨大な学習時間が必要で、熟練のエンジニアだけが名乗れる称号のようなものだった(フルスタックエンジニア)。しかし、現代のAIコーディングでは、AIがアシスタントや家庭教師になって全領域を手伝ってくれるため、初心者でも一気に「フルスタックなアプリ開発」に挑戦できる夢のような時代が到来している。かくいう筆者も、フルスタックエンジニアである。(まだ名乗るにはおこがましいが)

61. ルートディレクトリ(Root Directory)

プロジェクト(フォルダ)の一番上の階層のこと。

ディレクトリの中で、大元となる根っこ(Root)の部分を指す。AIにコードを作らせていると「.envファイルは必ずルートディレクトリに作成してください」と指示されることが多い。VS Codeなどのエディタで開いたとき、特定のフォルダの中ではなく、一番外側の「一番見晴らしの良い場所」にファイルを置く作業をイメージすればOK。

62. 依存関係(Dependencies)

あるプログラムを動かすために「別のプログラム(パッケージなど)が必要になる」という関係性のこと。

例えば、カレンダー機能を実装したいとき、AIから「まず依存関係をインストールしてください」と言われることがある。これは、「その機能を動かすための便利な部品(パッケージ)をダウンロードしてね」という意味。ターミナルでnpm installなどのコマンドを打って部品を集める作業がこれにあたる。

ただし、提案されたパッケージが悪意のあるものでないか(口コミや更新日など)のチェックは必要。

63. エラーハンドリング(Error Handling)

エラーが起きたときに、アプリが完全にフリーズしてしまわないよう「あらかじめ安全な逃げ道を作っておく」処理のこと。

AIが書いたコードの説明で「エラーハンドリングを追加しておきました」と言われることがある。これを設定しておかないと、予期せぬ操作をされたとき(数値で入力するところを文字列で入力された、など)にエラー画面が出たりしてフリーズしてしまうが、エラーハンドリングを設定しておけば「入力が間違っています」とユーザーに優しく赤い文字で警告を出したり、落ち着いてデバッグができるようになる。

64. キャメルケース / スネークケース(CamelCase / snake_case)

変数や関数の名前をつけるときの「単語の繋ぎ方のルール」のこと。

プログラミングでは名前にスペース(空白)が使えないため、単語の区切りを工夫する。userNameのように単語の頭を大文字にするのが、ラクダのコブに見える「キャメルケース」。user_nameのようにアンダーバーで繋ぐのがヘビに見える「スネークケース」。AIに「変数名はキャメルケースに統一して」と指示すると、コード全体が読みやすく綺麗に揃う。

65. 正規表現(Regular Expression / Regex)

「郵便番号は3桁-4桁の数字」のような「文字のパターンの条件」を、専用の記号の組み合わせで表現するルールのこと。

メールアドレスの入力チェックなどでよく使われるが、実際のコードを見ると ^[a-zA-Z0-9]+$ のように完全に呪文(暗号)にしか見えない。初心者がこれを自力で読み書きするのは至難の業なので、「メールアドレスをチェックする正規表現を書いて」とAIに丸投げするのが良い。

66. 無限ループ(Infinite Loop)

プログラムの処理が、終わりの条件を見つけられずに「永遠に同じ処理を繰り返してしまう」バグのこと。

AIに作ってもらったコードをローカルホストで確認したとき、ブラウザの読み込みマークがぐるぐる回り続けて操作不能になったら、だいたいこれが原因。コンピューターの頭のキャパシティ(メモリ)を食いつぶしてしまうため、強制終了してAIに「画面がフリーズしました、無限ループしていませんか?」とデバッグを依頼しよう。

67. プルリクエスト(Pull Request / PR)

自分が追加・修正したコードを、「本番のコードに取り込んで(Pullして)ください!」と他の人にリクエスト(依頼)すること。

チーム開発でよく使われるGitHubの機能。AIと一緒に作った新機能のブランチを、勝手に本番に反映させるのではなく、一旦プルリクエストを出して「これで問題ないか確認してね」とワンクッション置くのが安全なチーム開発のお決まりのパターン。

なお、筆者は現在個人で開発しているので、プルリクエストすることはない。

68. マージ(Merge)

枝分かれして作業していたブランチのコードを、本番用のメインのコードに「合体(統合)させる」操作のこと。

前述のプルリクエストが承認されると、晴れてこのマージ作業が行われる。RPGゲームで例えるなら、別ルートで集めたアイテムや経験値を、主人公のメインデータにガッチャンコして引き継ぐイメージ。ここまで来てようやく、AIと一緒に作った新機能が本番の世界に組み込まれる。

69. コンフリクト(Conflict)

マージをしようとしたとき、「本番のコード」と「自分が今追加しようとしているコード」の「同じ行」が別々の内容に書き換わっていて、Gitが「どっちを優先すればいいの!?」とパニックを起こすエラーのこと。

「競合」とも呼ばれる。AIにコードを書き直してもらっている最中に、自分でも手動でコードをいじってセーブ(コミット)してしまうとよく発生する。解決するには「こっちのコードを採用する」と人間が手動で選んであげる作業が必要になる。

70. パスを通す(Add to PATH)

新しくインストールしたツールやコマンドを、ターミナルの「どこからでも名前を呼ぶだけで使えるようにする」設定のこと。

開発ツールをインストールしたのに、ターミナルでそのコマンドを打つと「Command not found(そんなコマンドは見つかりません)」と怒られるのは、この「パスを通す」作業を忘れているのが原因。AIから「環境変数にパスを通してください」と指示されたら、「パソコンにツールの居場所を登録するんだな」と思い出そう。

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