2025.07.30
- 技術情報
- テックブログ
技術投稿│生成AIとWebエンジニア:生成AIとの向き合い方を整理してみた

自己紹介
ニックネーム:兄さん
経験年数:7年
専門学校卒業後、東京のシステム開発会社に2年半勤務。その後結婚を機に地元に戻り、株式会社アクロクレインに入社。
現在は主にPHP、TypeScriptを使用したWeb系の開発に携わっている。
はじめに
生成AI(Generative AI)の進化は、Web系エンジニアにとって、もう他人事では済まされない存在になってきました。自分自身、開発業務の中で「これ、AIを使えばもっと効率よくできるんじゃないか」と感じる場面が増えてきています。
ただ、うまく活用できているかといえば、正直まだ手探りです。SNSやブログで生成AIを使いこなしているエンジニアの事例を目にするたび、「このまま何もしなければ、差がどんどん開いてしまうんじゃないか」と焦る気持ちになることもあります。
ChatGPTなどを使ってはみたものの、「どんな聞き方をすればいいのか分からない」「うまく使いこなせていない気がする」というモヤモヤを感じることも少なくありません。
そこでこの記事では、そんな自分自身の試行錯誤を整理しながら、生成AIについてもう一度ちゃんと向き合ってみようと思いました。進化の流れや基礎知識、プロンプトの工夫、現場での使いどころなどを、同じように迷いながら模索している方と一緒に見ていけたらと思っています。
まだ完璧に使いこなせているわけではありませんが、「まずは小さく取り入れてみたい」という方にとって、少しでも参考になれば嬉しいです。
生成AIの進化の変遷(2020〜2025)
生成AIがここまで身近になったのは、ここ数年の急激な進化があってこそだと思います。振り返ってみると、特に2020年以降は、開発者にとっての“空気感”が大きく変わっていったように感じます。
2020年:GPT-3の登場
2020年にOpenAIが発表したGPT-3は、当時としては異次元の性能で話題になりました。パラメータ数は1750億と桁違いで、プロンプトを変えるだけで文章生成・要約・翻訳・コード補完まで対応できるという柔軟性は衝撃的でした。
「これ、APIから叩けばいろんなことができるのでは?」と、エンジニア界隈でもじわじわと話題になり始めた頃です。ただ、自分のようなWeb開発者からすると、まだ遠い存在という印象もありました。
2022年末:ChatGPTの登場
その流れが一気に変わったのが、2022年11月にChatGPTが公開されたときです。ブラウザで自然に対話できるインターフェースは衝撃的で、試しに使ってみて「これはすごい」と感じた方も多かったと思います。
技術的な敷居が一気に下がり、「ちょっと聞いてみる」「コードレビューに使ってみる」など、日常業務にも使えるかもと思えるようになったのがこの頃です。
2023年:ClaudeやGeminiの登場
2023年になると、他社のLLMも本格的に登場し始めました。AnthropicのClaudeや、GoogleのBard(のちのGemini)などがその代表例です。
Claudeは「憲法付きAI」という考え方がユニークで、安全性や一貫性が重視されている印象。Geminiは検索連携やマルチモーダル対応など、Googleらしい方向性で進化していました。いずれも「ChatGPT一択」から「目的に応じて選ぶ」方向へと広がりを感じたタイミングです。
2024年〜:活用フェーズへの移行
2024年ごろから、企業やチーム単位で生成AIを実際の業務に活用する動きが目立つようになってきました。PoC(概念実証)にとどまらず、本格的に業務プロセスに取り入れるケースが増えてきた印象です。
自分自身はまだ「社内データと連携させる」「独自にLLMを組み込む」といったレベルまでは踏み込めていませんが、周囲の事例を見る中で「ただ使うだけでなく、どう設計して活用するか」が求められる時代に入りつつあることを実感し始めたのはこの頃です。
2025年:Claude 4 / GPT-4o / Gemini 1.5などの登場
そして2025年には、Claude 4(Opus / Sonnet)やGPT-4o、Gemini 1.5といった次世代のマルチモーダルモデルが登場し、文字・画像・音声・コードをまたいだ処理がより自然に行えるようになってきました。
この時点で、生成AIは「すごいツール」から「当たり前の仕事道具」に近づいてきているように感じます。たとえば、自分も普段の開発の中で、「まずAIに聞いてみる」「叩き台を作ってもらう」ことが自然な選択肢のひとつになってきました。
こうして見てみると、ここ数年で「生成AIとの向き合い方」が大きく変わってきたことがわかります。だからこそ、改めてその仕組みや使い方を整理しておくことが、今の自分にも必要だと感じています。
生成AIの基礎知識(LLMとは?NLPとの違い含む)
生成AIを仕事や開発で活かしていくには、まずはその中核である「LLM(大規模言語モデル)」について、ざっくりでもいいので仕組みや特徴をつかんでおくことが大事だと感じています。
最初は「AI=ChatGPT」くらいの感覚だったのですが、いろいろ試すうちに「LLMの仕組みを少しでも理解しているかどうか」で、使いこなし方に差が出るなと感じる場面が増えてきました。
LLM(大規模言語モデル)とは
LLM(Large Language Model)は、大量のテキストデータをもとに学習された自然言語モデルで、文章の生成や要約、コード補完、翻訳など、幅広い用途に対応できます。最近の生成AIツールのほとんどは、このLLMをベースに動いています。
代表的なLLMの例をいくつか挙げておきます:
- OpenAI(GPTシリーズ)
ChatGPTの中身として有名です。GPT-3やGPT-4は対話だけでなく、要約、翻訳、コード補完などにも対応できて、APIも充実しているため、サービス開発や業務への組み込みにも使われています。 - Anthropic(Claudeシリーズ)
「憲法付きAI(Constitutional AI)」という独特の思想で設計されていて、安全性や一貫性の高さが特徴です。100kトークン以上の長文も扱えたりと、読み取り系の作業に向いている印象です。 - Google(Geminiシリーズ)
検索技術との連携が強みで、画像・音声・コードなども一貫して扱えるマルチモーダルな特徴があります。調査タスクなどでの活用に適している印象があります。
いずれも内部的には「Transformer」という構造をベースにしていて、言語の意味や文脈を捉える処理に強いモデルです。
ざっくりとした構造のイメージは以下のような感じです:
入力(プロンプト) → トークンに分割 → Transformerで処理 → 出力(応答文)
この流れをなんとなくでも意識しておくと、出力のクセや限界も少しずつ見えてきます。
NLPとの違いは?
LLMの話をするときによく出てくるのが、「NLP(自然言語処理)」との違いです。自分も最初は混同していました。
NLPは、文章を単語に分解したり、感情を分類したりといった特定タスクに特化した処理を、個別のモデルで行うのが主流でした。
それに対してLLMは、ひとつの巨大なモデルでさまざまな言語タスクをこなせる「汎用性」が特徴です。つまり、「プロンプト次第で何でもできる」という自由度の高さが、従来のNLPと大きく違うところだと思います。
LLMを使う上で押さえておきたい仕組みのポイント
実際に使ってみる中で、「これだけは知っておいた方が良さそう」と思ったポイントを整理しておきます。
- トークナイズ(分割処理)
入力は「トークン」という単位に分解されて処理されます。日本語やコードだと、このトークン数が多くなりやすく、APIで使うときのコストや長文制限にも関わってきます。 - コンテキスト長の制限
一度に扱えるトークン数には上限があります。長すぎると途中で切れるので、要約して渡したり、チャンクに分けたりといった工夫が必要になります。 - 確率的な出力
同じプロンプトでも、毎回同じ結果になるとは限りません。TemperatureやTop-pといったパラメータで調整できますが、完全にコントロールはできない点は理解しておいた方がいいです。 - モデルのアップデート頻度
LLMはバージョンアップが頻繁なので、「昨日と今日で出力の傾向が違う」みたいなこともたまにあります。APIやドキュメントの確認は定期的にした方が安心です。
これらの基本を押さえておくだけでも、「なぜ意図した出力が出なかったのか」といったモヤモヤを減らす助けになると思います。
まだ理解しきれていない部分も多いですが、こういった仕組みを意識しながら使うことで、ただ便利なだけじゃない「ちゃんと使いこなす」方向に近づけるような気がしています。
ChatGPTだけじゃない!主要な生成AIツールたち
生成AIというと「ChatGPT」が真っ先に思い浮かぶ方が多いと思います。自分も最初はずっとChatGPTだけを使っていました。ただ、いろいろな用途で使っていくうちに、「他のモデルも使い分けた方がいいかも?」と思うことが増えてきました。
実際、生成AIのモデルにはそれぞれ得意分野や特徴があり、目的によって使い分けることで、より安定して成果につながるように感じています。ここでは、自分がこれまでに触ってきた代表的なモデルを簡単に紹介します。
Claude(Anthropic)
Claudeは、Anthropic社が開発しているLLMで、「Constitutional AI(憲法付きAI)」という思想で設計されています。はじめはよくわからなかったのですが、実際に使ってみると「出力が比較的穏やかで、暴走しにくい」と感じる場面が多く、安心感があります。
- 安全性と一貫性が高い
わりと落ち着いたトーンで出力してくれる印象。暴走系の“幻覚”が少なめ。 - 長文処理に強い
Claude 2以降は100kトークン以上の入力も扱えるようになっていて、長めのドキュメントを読ませたいときに重宝しています。 - 明確な指示に素直
プロンプトを工夫すれば、かなり意図に近い出力を引き出せる感覚があります。
特に、文章の要約や既存資料の読み解きなど、「読解力」が求められる場面で信頼しています。
Gemini(旧Bard / Google)
Googleが開発しているLLMで、以前は「Bard」という名称で提供されていましたが、現在は「Gemini」に統一されています。検索との連携やマルチモーダル対応が特徴です。
- 最新情報へのアクセスが強い
Google検索と連携しているので、情報の鮮度という意味では非常に頼りになります。 - 画像や音声にも対応
マルチモーダル対応が早く、コードや表の扱いも比較的得意です。 - 自然言語でのやり取りがスムーズ
会話の文脈をよく理解してくれて、言い直しにも柔軟に対応してくれる印象があります。
自分は調べ物をするときや、最新の技術動向をざっくり把握したいときに使うことが多いです。
OSS系モデル(Mistral / LLaMAなど)
最近では、オープンソースのLLMも選択肢として広がってきています。正直なところ、自分はまだこれらのOSSモデルには手を出せていませんが、調べていく中で「こういう方向性もあるんだな」と興味を持ち始めたところです。
- Mistral
軽量かつ高速で、ローカル環境でも動かせる現実的なモデル。商用利用にも寛容なライセンス形態で注目を集めています。 - MetaのLLaMAシリーズ
企業や研究機関での導入例が増えていて、多くの派生モデルのベースにもなっています。カスタマイズ用途として期待されているようです。
OSS系モデルは、セキュリティやプライバシー要件が厳しい現場や、細かい調整を前提とした開発に向いている印象があります。今後、自分の開発環境にも取り入れてみたい領域のひとつです。
このように見てみると、生成AIは「ChatGPT一択」という時代から、「目的に応じてモデルを選ぶ時代」に変わってきているように思います。
まだまだ自分も手探りな部分が多いですが、それぞれのモデルの特徴を少しずつ知っていくことで、今後の実装や活用の幅が広がっていくんじゃないかと感じています。
開発者として押さえておくべき生成AIの要素
生成AIは「とりあえず使ってみる」だけでもある程度便利に感じますが、開発者として本当に業務に活かしていこうとすると、やはりもう少し踏み込んで理解しておく必要があると感じています。
たとえば、「思ったような出力が得られない」「プロンプトを変えると正しく動いたり動かなかったりする」など、細かいところで壁にぶつかることも多く、試行錯誤の連続です。
ここでは、そうした中で少しずつ分かってきた、開発者として意識したいポイントを3つに整理して紹介します。
プロンプトエンジニアリングの設計原則
プロンプトエンジニアリングとは、LLMに期待する出力をうまく引き出すための「入力の設計」のことです。
自分も最初は「ざっくり聞けば何か返してくれるだろう」と思っていましたが、プロンプトの書き方ひとつで精度や内容が大きく変わることに驚きました。
以下のような違いは、実際に何度も体験しています:
例1)「コードの説明をしてください」
→ 抽象的すぎて、出力が浅い
例2)「以下のPython関数の動作を、3行以内で初心者向けに説明してください」
→ より具体的で、意図に沿った出力が得られやすい
設計時の原則:
- 目的・文脈・出力形式を明示する(What / How / For Whom)
- 思考の流れを指示する(Chain-of-Thought)
- 例を提示する(Few-shot / Zero-shot)
特に業務で使う場合は、細かいニュアンスの違いがそのまま成果物に影響するので、プロンプトの設計も「実装の一部」だと考えるようにしています。
効果的なプロンプト改善とフィードバックサイクル
一度で理想の出力が得られることは稀で、実際は「出力を見て、プロンプトを修正して、また試す」の繰り返しになることが多いです。
その中で、自分が意識するようになった改善のコツをいくつか挙げておきます:
- 出力のパターンを記録する
うまくいった例とそうでなかった例をセットで残しておくと、後から見返したときの学びになります。 - 改善点を具体的にする
「なんか違う」ではなく、「この部分の表現が曖昧」「出力形式が崩れた」といった具合に、修正ポイントを明確にするようにしています。 - チーム内で共有する
自分がうまくいったプロンプトや失敗したケースをSlackなどで共有しておくと、他のメンバーの改善にもつながることがありました。
業務で生成AIを使うなら、「プロンプトの改善」も地味ですが大事な作業のひとつだと感じています。
幻覚、倫理、セキュリティと限界
最後に、生成AIはとても便利ではありますが、過信は禁物です。実際に使ってみる中で気づいた注意点を挙げておきます:
- 幻覚(hallucination)
実際には存在しない情報を、それっぽく出力してくることがあります。とくに技術用語や仕様を聞いたときに要注意です。 - バイアスの混入
学習データに由来する偏った出力が出ることもあります。特定の視点に寄りすぎていないか、常に気をつけるようにしています。 - 機密情報の取り扱い
業務で扱うデータをそのままプロンプトに含めるのは危険です。送信前に意識して除外するクセをつけています。
また、生成物の著作権やライセンスもまだグレーな部分があるため、業務で使う際にはガイドラインを確認するようにしています。
生成AIは便利な反面、「どう使えば安全か」「どこに注意すべきか」まで含めて設計する必要があります。完璧な正解があるわけではありませんが、開発者としての責任を持って向き合う姿勢は大切だと感じています。
現場で求められるAIリテラシーとは?
生成AIを業務に取り入れていくうえで、技術の知識そのものも大事ですが、それ以上に「どう付き合うか」「どこに注意を向けるか」といったリテラシーの部分が大きいと感じています。
ここでは、あくまで日常業務で役立つことを前提に、自分なりに意識しているポイントを整理してみます。
日常業務での生成AI活用リテラシー
- 業務フローの中に組み込む視点
いきなりAIだけに任せるというより、「どの業務のどのステップで使えるか?」を考えるようにしています。たとえば議事録の要約、メール文案の下書き、コードレビューの指摘文の作成など。 - プロンプトの工夫と改善
単に「質問する」ではなく、「どう聞くと精度が上がるか」「出力の形式を揃えるにはどう伝えるか」を調整していくようにしています。 - 出力を“そのまま使わない”意識
出てきた結果は一度立ち止まって検証するクセをつけています。「このままコピペで使って大丈夫か?」を常に自問するようにしています。 - データの扱いに注意する
業務データや個人情報は安易に入力しないようにし、あくまで公開情報やダミーに置き換えたものを使うようにしています。 - 小さなことでもナレッジを共有する
SlackやNotionなどに「よく使うプロンプト例」や「使えたケース/失敗例」をメモしておくと、後々の自分やチームの役に立つことが多いです。
判断・検証の姿勢を忘れない
AIの出力はとても自然に見えますが、それが「正しい」とは限りません。以下のような姿勢を意識するようにしています。
- 複数パターンを比較する
ひとつの出力だけで判断せず、少しずつ条件を変えて試してみると、より安定した使い方が見えてきます。 - 根拠を確認する
出力された情報やコードの出典が分からないときは、自分で検索したり手元の知識と照らし合わせたりするようにしています。 - ユーザー視点で見る
出力結果が本当に業務に使えるものか、誰かに伝わるか、という視点で確認するクセをつけています。
実務で役立つちょっとした工夫
- よく使うプロンプトはテンプレ化
毎回ゼロから書かずに済むように、よく使う指示はテンプレートにしておくと時短にもなります。 - 成果物にAIが関わったことを記録する
仕様書やドキュメントなどに「一部生成AIを活用」とメモしておくことで、あとから見直すときに役立つことがあります。 - ツールを使い分ける意識を持つ
ChatGPT、Claude、Geminiなどはそれぞれ得意分野があるので、「どれでもOK」ではなく、「これにはこのツールが向いてそう」という意識を持つようにしています。
生成AIの進化は速く、すべてを完璧に把握するのは難しいですが、「わからないなりに気をつけるべきポイントを知っておく」だけでも大きな差になります。
リテラシーというと難しく聞こえますが、実際は「確認する」「共有する」「調整する」といった、ふだんの開発とそう変わらない視点が土台になっている気がします。
おわりに
生成AIとLLMの進化は、Webエンジニアにとっても避けて通れないトピックになりつつあります。
自分自身がこの分野に興味を持ち始めた当初は、「なんとなく便利そうだな」という程度の感覚でした。けれど、実際に触れていく中で、「これは単なるツールではなく、考え方や仕事の進め方そのものを変える可能性がある存在かもしれない」と感じるようになっています。
とはいえ、まだまだ試行錯誤の真っ只中です。ChatGPTを使ってはみるものの、毎回うまくいくとは限らないし、「これで合ってるのかな?」と迷う場面も多くあります。
だからこそ今回、この記事を書くことを通じて、自分の中でいったん立ち止まり、理解しておくべきことや、今後もっと深掘りしたいことを整理してみました。
今後、開発者として生成AIと向き合ううえで、こんな視点が大事になるのではと思っています:
- ただの「使い手」で終わらず、使い方や活かし方を工夫すること
- ツールそのものよりも、その背景にある構造や特徴を少しでも理解すること
- “正しさ”だけでなく、“検証する姿勢”や“共有する文化”を育てること
生成AIの技術はこれからもどんどん進化していくはずです。でも大事なのは、変化に追われることではなく、「どう活用するかの主導権を持つこと」なんじゃないかと思います。
この記事が、同じように悩みながら模索している方にとって、少しでもヒントになったらうれしいです。
まずは、小さなところからでも。できる範囲で試してみる。うまくいかなくても、何が原因だったかを考える。それだけでも一歩前に進める気がしています。