0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

# AI駆動開発の前夜から今まで ─ Github Copilot, ChatGPT, Claude Code を1から触ってきた話

0
Posted at

「AI駆動開発(AIDD)」という言葉、最近よく聞きますね。

ただ、初めて触る人にとって、いきなりClaude Codeを渡されて「これがAIDDだ」と言われても、それは突然キッチンに連れてこられて「これがフレンチだ」と言われるようなもの。フレンチには前菜もスープもメインもデザートもあって、それぞれが順番に出てくるから一皿の意味がわかります。AIDDも同じです。

このAIDD、実は4年がかりでここまで来ました。タブを押すとコードが出てくるところから始まって、自分で目標を立てて勝手にコードを書く存在になるまで、一段ずつ積み上がってきています。

今回は、私自身が2022年のGitHub Copilotから現在のClaude Codeまで、リアルタイムで触ってきた4年分を振り返ります。途中で何度かやめたり、戻ってきたり、納品で事故りそうになったりしました。今これからAIDDに本気で乗っていこうという人にとって、自分が今どの時代にいるのか、地図代わりに使ってもらえればと思います。

2022年秋 GitHub Copilot ─ タブを押すと未来が出てくる

私とAIの付き合いは、2022年秋のGitHub Copilotから始まりました。

タブキーを押すだけで面倒なコードが自動的に補完される。まだChatGPTが出る前の話です。日付選択のセレクトフォームが一発で出るのを手元で見て感心したのをよく覚えています。コードを書きながらタブを押すと予想通りのコードが出てくる。さっき定義した変数名もちゃんと反映されている。「すごい時代になったな」と思いました。

しかし、私はわりとすぐに使うのをやめてしまいました。

理由は、自分の頭で考えなくなったからです。タブを押して思い通りのコードが出てくるうちはいいんですが、補完候補が出ない場面ではもちろん自分で考えて書かなければいけません。その時、まるで深く腰掛けたソファから立ち上がるような感覚がありました。

最初から立って作業すればよくない?

そう思ってGitHub Copilotはオフにしました。(当時は確かベータ版か何かで無料だったような気がします)

2022年11月末 ChatGPT 3.5 ─ おもちゃが先生に変わった日

次にやってきたのがChatGPT 3.5です。

当時は「まともに自然言語で会話できるAI」ということでTwitterが大盛り上がりでした。私は最初、Wikipediaの代わりに色々と質問していたのですが、当然ハルシネーションだらけで使い物にならず、「面白いおもちゃ」くらいの感覚で見ていました。

ところが一日も経たないうちに、「ChatGPTはプログラミングができる」という話題が出てきます。

PythonやJavaScriptなどの流行りどころが書けるのはもちろん、当時はまだ"愛されているだけ"だったRustまで対応していたのです。「AIにプログラミングを教えてもらう」という試みもツイッターで広まっていました。

じゃあ私もということで、GStreamerという動画ストリーミング処理のかなりニッチな専門ライブラリの使い方を質問してみました。「スケルトン書いて」「データ処理とネットワーク処理を別々のスレッドに切り出して」など。

結果は驚くべきものでした。

少し古いバージョンの書き方ではありましたが、コンパイルエラーを直せば動くレベルのコードが出てきたのです。チュートリアルや入門マニュアルを読む手間が一気に省け、ついでに「この処理、何やってるの?」とコードの意味を教えてもらう、という新しい使い方も発見しました。

一番デカかったのは"見落としを教えてくれる"こと

色々な使い方を試した中で、一番効いたのはこれでした。

let result = "ng";

if (result = "ok") {
  console.log("なぜか100%ここが実行される");
}

結果がOKの時だけ処理したい、というよくあるコードですが、なぜか必ずif文の中が実行される。

普通に読めばすぐ気づくでしょう。== (もしくは ===) が = になってるだけです。

ですが、よくハマります。そんな時、AIはものすごく大きな力になりました。

私「なぜかコードが動かない!おかしい!」
ChatGPT「= が足りないです」

これだけ。これだけで救われる。

「AIにコードを書いてもらう」より「AIに見落としを指摘してもらう」のほうが、本命の使い方として浮上した瞬間でした。

2024年1月 GPT-4V ─ 自分が理解できないコードを納品する

ChatGPTは3.5 → 4 → 4o とどんどん性能が上がっていきました。ただ、「非同期処理のロックのように、2つのことを同時に考えなければいけないコード」になると、まだまだ使い物にならない。あちらを立てればこちらが壊れる。

あくまでChatGPTは"便利なアシスタント"の立ち位置でした。

そんな中、自分でも結構ヤバめの状況に追い込まれます。

「自分がよくわからない処理」を実装する必要が出てきたのです。

具体的に言うと、3Dオブジェクトのデータをサーバーとブラウザ間でリアルタイム転送するシステムのプロトタイプを作っていました。ブラウザに3D空間が表示されていて、マウスでグリグリやるとカメラが動く。その3Dオブジェクトのデータをリアルタイムでサーバーから配っていました。動画配信ではなく、3Dオブジェクトのストリーミングです。

ここで要件が一つ。

「オブジェクトが視界から外れたら、転送しないようにしてほしい」

画面外のデータを送るのは無駄なので当然ですね。

これをサーバー側でやる必要がありました。オクルージョン?フラスタムカリング?要するにカメラの画角の中にオブジェクトがあったら転送する、なかったら転送しない、それだけの話です。

ただ、私は3DCGはほぼ素人。しかもサーバー側のコードはRustで書いてしまっていました。Unityならサンプルコードはたくさんありますが、Rust用のフラスタムカリングのコードなんてそうそう転がっていません。

さあ困った。

GPT-4V(当時はまだ4oが出る前)に泣きついてみます。すると、コードを出してくれるじゃないですか。「テストも書いて」と言うと、それっぽい座標まで生成してくれる。

喜んでコピペします。コンパイルエラーを直します。動きました。動いてしまいました。

テストもなぜか通っています。ブラウザでグリグリやると、確かに画面外に行くとデータ転送が止まる。

厳密な判定精度がどれくらいなのかは、正直よくわかりません。でも要件は満たしている。

納品しました。

これが、自分が中身をわかっていないコードを初めて納品した瞬間でした。AIが「丸投げできる外注先」になった日、と言ってもいいかもしれません。

2024年秋 Claude 3.5 Sonnet ─ ようやくモダンJSを書く

その後GPT-4oが出ましたが、私には不満が残っていました。

ChatGPTが出してくるJavaScriptが古い!

var filename;
var message = "";

if (filename.indexOf(".jpg") != -1) {
    message = "画像 : " + name + "をアップロードしました";
} else {
    message = "JPEGにしてください";
}

document.getElementById("message").innerHTML = message;

ES5以前の書き方ばかり出てきます。学習元のネット上のコードがES5以前のものに偏っているせいでしょう。

これが大きく変わったのが、2024年秋のClaude 3.5 Sonnet(new)です。

世間ではアーティファクトの進化が話題で、「スイカゲームが作れる」「テトリスが一発で出る」と言われていました。

でも私にとって大きかったのは、モダンなJavaScriptを書いてくれることでした。

const を使う、`${...}` を素で書く。これが当たり前にできる。いちいちエディタにコピペして自分で書き直す手間が消えました。

地味ですがこれは効きました。「AIの出力をそのまま使える」というラインに、ようやく届いたのです。

2025年2月 Claude Code ─ 黒船到来

AIがいい感じにコードを書いてくれるようになっても、まだ問題は残っていました。

Webのチャット画面とソースコードは、相変わらず断絶されていたのです。コードの一部やら結果やら、いちいちコピペで往復させなければいけない。

CursorやWindsurfなど、エディタにLLMが組み込まれたツールも出てきましたが、中でやっていることは結局「コードの断片をコピーして、出てきたものを貼り付ける」の高速化でした。

ここに登場したのが、2025年2月のClaude Codeです。

ソースコードを自分で読んで自分で書く、というのもありますが、本当の意味で革命的だったのは「自分で目標を立てて動く」というところでした。

作業単位だけならCursorやWindsurfでもできていました。Claude Codeが違ったのは、目標を立ててタスクに分けるところ。目玉機能の一つとして搭載された「ToDoリスト機能」――これが、目的に向かって自走するAIエージェントの土台になります。

ただ、私の初体験はかなり散々でした。

  • まず従量課金で、財布がじわじわ削られる
  • カレントディレクトリを取り違えて、npm install がいつまで経っても通らない
  • 極めつけは、ファイル名のリネームを頼んだら10個中3つを闇に葬り去られた

「あ、すみません」じゃない!

私は一度Claude Codeを離脱しました。

2025年5月 Sonnet 4 ─ 楽天が7時間自走させた

転機は2025年5月でした。

「楽天がClaude Codeを7時間自走させた」というニュースが話題になります。7時間。人間が休憩しないで会議に出続けたら過労死するレベルの時間、AIがコードを書き続けた。

そんなに賢くなったのかと、私もLINEのフレックスメッセージビルダーを作ってもらうことにしました。

当時はまだProプランが従量課金で、Opusモデルは非常に高価。なのでおっかなびっくりSonnet 4で、要件を適当に考えて丸投げしてみます。

「できました」→「できてないよ!」を一通り繰り返した結果、それっぽいものができました。

WYSIWYGエディタという、自分で作るとかなり面倒なやつが、数時間で動いた。かかったお値段、$17(約3000円)。

このくらいなら仕事で使ってもいいかな、と思い始めます。途中で盛大にデグレしましたけど。

2025年夏 業務投入 ─ AIの"癖"が見えてくる

Sonnet 4が必要そうな場面で、業務でも恐る恐る使ってみます。

最初に試したのは、他人が書いてあまりメンテされていないコードの分析と修正でした。

自分でコードを読むのとAIに読ませるのと、どっちが的確か。見落としはどちらが多いか。注意深く比較しました。

そこで見えてきたのは、AIの結構はっきりした癖です。

  • かなり局所的にしか見ない
  • すでに同じ処理があるのに、新しく関数を作りたがる
  • その代わり、こちらが情報をまとめて提示すれば、指示通りに動いてはくれる

ここで気づいたのは、本質は「自分の認識とAIの認識をいかに一致させるか」だということでした。後にこれが「コンテキストエンジニアリング」と呼ばれていく話に繋がります。

この時期、MaxプランにはすでにClaude Codeが含まれていましたが、費用対効果はまだ合いませんでした。お金を払って、しかもソースコードを壊されたらたまったものではない。

なので「必要なときだけ使う」で運用していました。重たい作業1回あたり1,000〜2,000円。たまに使うならアリ、という距離感です。

2025年夏 Proプランで定額に ─ Opusを遠慮なく試せた日

そして同じ夏、Claude CodeがProプランの範囲で使えるようになります。

正直、Maxプランをいきなり契約して試すというのはハードルが高すぎました。Proで定額になったことで、ようやくOpus 4を遠慮なく試せるようになります。

すごい。素晴らしい。

Sonnet 4 のおっちょこちょいさはなくなり、ちゃんとコードを書いてくれます。早速 Maxプランに上げて、あれもこれもとClaude Codeに投げまくりました。

そして使い込んで、初めて気がつくことがあります。

前後の文脈を忘れるんです。

単体の機能追加や改修なら問題ありません。自分が把握している範囲を伝えて具体的に指示すればやってくれる。自分でわからない部分は、まず調べてもらって、何をどうするか確認してから動かせばいい。

問題が出てきたのは、ライブラリの選定やモジュール構成のような領域でした。

どうしてそのライブラリを採用したのか」「どうしてこのモジュールに切り出したのか」――この種の前提が伝わらないため、勝手に使えないライブラリをインストールしようとしたり、既存のモジュールを無視してコードを肥大化させたりする。

「現場のお作法を知らない」という問題が、急に大きく見えてきたのです。

ちょうどこの頃、CLAUDE.mdの整備に関するノウハウが世の中にどっと出回り始めました。

新しいメンバーのためにNotionのwikiをまとめておくのと同じように、AIにも「プロジェクトの概要とお作法」を共有する仕組みを整えていく。そういう流れが、自然と組み上がっていきます。

2026年 プロンプトエンジニアリングからハーネスエンジニアリングへ

ここまで4年。ざっと整理するとこういう変化です。

AIの立ち位置
2022 Copilot 電動工具
2022末 ChatGPT 3.5 Q&A窓口の派遣スタッフ
2024 GPT-4V 丸投げできる外注
2024秋 Claude 3.5 モダンに書ける同僚
2025 Claude Code 自走するが現場を知らない部下
2026 チームメンバー

モデルの性能はもう十分賢くなりました。Claude Codeのようなツールも、もう十分賢く動きます。

すると、次のボトルネックは別の場所に移ります。

  • プロジェクトの概要をどう伝えるか
  • 試行錯誤の履歴をどう残すか
  • いつもの手順をスキルやコマンドに落とし込めるか

要するに、AIをチームにオンボーディングする設計です。

「プロンプトをうまく書く」のが大事だった時代は、もう終わりかけています。これからは「プロジェクトのお作法をAIにどう渡すか」のほうが、ずっと効きます。プロンプトエンジニアリングからハーネスエンジニアリングへ、と言ってもいい。

「AIDD = Claude Codeをすごく使うこと」だと思っていると、たぶんこの本丸を見落とします。Claude Codeは、あくまで道具の側です。本丸は、その道具を使うAIに、現場のことを教える側にあります。

終わりに

人間が手作業でコードを書く時代は、確かに終わっていきます。

AIがチームを組み、仕様をもとに設計し、人間がレビューし、AIが実装し、テストして、メンテする。どこまでをAIに任せて、どこを人間がやるか。AIDDの時代は、まだ始まったばかりです。

でも、終わるのは「書く」だけです。

何を作るのか、誰のために作るのか、なぜそうするのか――それを一番よく知っているのは、まだしばらくは人間のほうです。

さて、あなたの現場のお作法は、新人に渡せる形になっているでしょうか?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?