久しぶりにこのブログも書く。
ネタも久しぶりにエンジニアとしての内容。
といっても、エンジニアとしてというより、最近流行りのAIコーディングについての、オジサンの感想文です。
ここ1〜2年くらいで、AIにコードを書かせる環境が一気に現実のものになってきた。
ChatGPT、Claude、Claude Code、Cursor、GitHub Copilot、Gemini CLI、その他いろいろ。
名前を挙げだすとキリがないのだけど、とにかく「こういうものを作りたい」と伝えると、それっぽいコードが出てくる。しかも、昔の「サンプルコードをちょっと出してくれる」みたいなレベルではなく、かなりの量を一気に書いてくる。
正直、これはかなりすごい。
すごいのだけど、同時にちょっと怖いなとも思っている。
自分がスーパーエンジニアになったと勘違いするだろう問題
AIコーディングを使っていると、けっこうなものが作れてしまう。
画面が出る。
ボタンが動く。
DBにつながる。
認証も入る。
GitHub Actionsも動く。
デプロイもできる。
なんなら、自分がよく分かっていないエラーメッセージもAIに投げると、
「ああ、それはこの設定が足りませんね」
みたいな顔をして修正案を出してくる。
すごい時代になったもんだよ。
ただ、ここで若い人が、
「もしかして自分、めちゃくちゃ開発できるのでは?」
と思ってしまうと、それはちょっと危うい気がしている。
いや、実際に開発できているのだから、ある意味では間違っていない。
昔なら数年かけて覚えていたようなことを、AIの補助付きで短期間に体験できるのは間違いなく強い。
でも、それがそのまま「自分の実力」かというと、そこは少し違う。
AIが出してきたコードがなぜ動いているのか。
どこが危ないのか。
どこが雑なのか。
この設計で半年後に自分が泣くのか。
ユーザーが増えたらどこから壊れるのか。
秘密情報が漏れないか。
ライセンス的に大丈夫なのか。
そのライブラリ、3年後も生きているのか。
そういう、地味で面倒で、しかも後から効いてくる部分は、まだ人間側がかなり見ないといけない。(それすらも解決される世の中に進んでいきそうだけど)
AIは若くて頭の柔らかい、物知りで手の速いエンジニアみたいなものだと思っている。
ただし、ちょっと自信満々に間違える。
そして、こちらが何を分かっていないかまでは、あまり気にしてくれない。
そこが怖い。
本当にすごい人ほど、たぶん慎重になっている
一方で、本当にスーパーなエンジニアの人たち。
たとえば大きなテック企業でCTOをやっているような人たちは、もう単純な懐疑フェーズは抜けていると思う。
「AIなんて使えないでしょ」
みたいな段階では、もうないはず。
使える。かなり使える。
部分的には人間より速い。
しかも、これからさらに良くなる。
そこまでは、たぶん多くの人が認めている。
ただ、その次が難しい。
業務にどう組み込むのか。
個人が趣味でアプリを作るのと、会社の開発プロセスに正式に組み込むのとでは、話がだいぶ違う。
レビューはどうするのか。
AIが書いたコードの責任は誰が持つのか。
設計方針はどこまでAIに任せるのか。
セキュリティチェックはどうするのか。
社内のコードや仕様をどこまでAIに渡していいのか。
新人教育はどう変えるのか。
既存の開発チームの生産性は本当に上がるのか。
むしろレビュー負荷だけ増えないか。
これはかなり真面目な悩みだと思う。
AIコーディングは、単に「便利なエディタ拡張が増えました」という話ではない。
たぶん開発のやり方そのものが変わる。
ただ、変わるからといって、雑に突っ込めば良いというものでもない。
AIに任せるべきところ。
人間が見るべきところ。
人間が最初に考えなければいけないところ。
むしろAIに触らせない方がいいところ。
この境界線を、みんな手探りで探している段階なのだと思う。
で、お前はどうなんだという話
では自分はどうなのか。
私はもういい歳なので、さすがにこれで自分がスーパーエンジニアになったとは思っていない。そんなに素直な年齢ではない。
そもそも現場の第一線でコードを書き続けていたわけでもないし、ブランクも長い。
なので、AIがすごい勢いでコードを書いてくれると、ありがたい反面、内心ではずっとビビっている。
「これ、本当に大丈夫なんだろうか」
「この実装、あとで破綻しないだろうか」
「いま動いているだけじゃないのか」
「なんか妙に自信満々だけど、嘘ついてないか」
そんなことを思いながら使っている。
ただ、それでも作れてしまう。
これがまた面白い。
最近作ったのが、TameoというmacOS用のクリップボードマネージャである。公開名として Tameo にした。「ためお」。コピーしたものを溜めておくから、ためお。ネーミングが雑なのはいつものことです。
Tameoとは何か
Tameoは、macOS用のクリップボードマネージャです。
コピーしたテキストや画像、URL、ファイルパスなどを履歴として保存しておき、あとからホットキーで呼び出して貼り付けられるアプリ。
要するに、Clipyのようなものです。
というか、Clipyがとても好きで長年使っていたのだけど、Apple Silicon時代になり、Rosetta 2への依存が少しずつ気になるようになってきた。
いつか動かなくなるかもしれない。
それは困る。
じゃあ、Apple Siliconネイティブで、今のmacOSに合わせて、ローカル完結で、余計なことをしないクリップボードマネージャを作ればいいのでは。
という発想です。
……と言うと格好いいが、実際には、
「Clipyが将来使えなくなったら困るなあ」
「誰か作ってないかなあ」
「うーん、じゃあ作ってみるか」
くらいの感じである。
AIと一緒にmacOSアプリを作る
macOSアプリ開発は、自分にとって得意分野ではない。
SwiftもSwiftUIも、ちゃんとやってきたわけではない。
昔ながらのWeb系、業務系、あとなんやかんやの知識はあるけれど、macOSネイティブアプリをバリバリ書けます、というタイプではない。
それでも、AIに相談しながら進めると、かなり形になる。
SwiftUIでメニューバー常駐。
Dockアイコンなし。
グローバルホットキー。
クリップボード履歴。
スニペット。
画像やPDFやURLの扱い。
設定画面。
署名。
公証。
GitHub公開。
Webサイト作成。
一つ一つは面倒くさい。
でもAIに壁打ちしながら進めると、分からない部分を調べながら、試しながら、かなり前に進める。
もちろん、AIが全部やってくれるわけではない。
macOSの権限まわり、Pasteboardの扱い、アクセシビリティ権限、署名・公証、JIS配列やかな入力への対応などは、やってみると普通に沼がある。
AIもたまに、存在しないAPIを平気な顔で提案してくる。
「それはできません」とコンパイラに怒られる。
こちらが「できないじゃないか」と言うと、
「おっしゃる通りです」
などと急に素直になる。
このへんのやり取りは、もはや日常である。
AIコーディングで大事なのは、たぶん調子に乗らないこと
AIコーディングで一番大事なのは、たぶん調子に乗らないことだと思う。
AIがコードを書いてくれる。
動く。
それっぽい。
画面もきれい。
READMEも書いてくれる。
英語版も作ってくれる。
リリースノートも作ってくれる。
すると、なんとなく自分が何でもできるような気がしてくる。
でも、そこは一度冷静になった方がいい。
AIは強力な道具だけど、責任は取ってくれない。
ユーザーから問い合わせが来るのは自分。
不具合を直すのも自分。
変なデータを保存してしまったら困るのも自分。
セキュリティ事故が起きたら青ざめるのも自分。
夜中に「あれ、あの実装まずくないか」と思い出して眠れなくなるのも自分。
AIは横でめちゃくちゃ手伝ってくれるが、最後にハンコを押すのは人間である。
ここを忘れると危ない。
でも、やっぱり面白い
とはいえ、やっぱり面白い。
自分の中に、
「こういうものが欲しい」
という小さな不満やアイデアがある。
昔なら、そこで終わっていた。
時間がない。
技術的に面倒。
調べることが多い。
環境構築で萎える。
Apple Developerまわりで萎える。
まあ誰かが作ってくれるだろう。
そんな感じで放置していたものがたくさんある。
でも今は、AIに相談しながら少しずつ形にできる。
これはかなり大きい。
Tameoも、別に世界を変えるようなアプリではない。
クリップボードマネージャである。
地味である。
しかし毎日使う。
自分が困っていたものを、自分で作って、自分で使える。
これが楽しい。
しかもGitHubで公開している。
誰かが使ってくれるかもしれない。
使わないかもしれない。
スターが1つ増えただけでちょっとうれしい。
オジサンの趣味としては十分である。
業務としてのAIコーディング、趣味としてのAIコーディング
業務としてAIコーディングを使うなら、ちゃんとルールが必要だと思う。
AIに何をさせるのか。
何をさせないのか。
レビューをどうするのか。
設計書や仕様書をどう扱うのか。
テストをどう書かせるのか。
AIが書いたコードをどう検証するのか。
ここを決めないまま、
「AIで爆速開発!」
みたいにやると、後でしんどいことになる気がする。
一方で、個人の趣味や小さなツール作りでは、もっと気軽でいい。
作る。
壊す。
直す。
また作る。
GitHubに置く。
誰かに見せる。
自分で使う。
このサイクルが、ものすごく速くなった。
これは良いことだと思う。
昔、ホームページビルダーで個人サイトを作ったり、CGIを設置したり、JavaScriptをコピペして動かしたりしていた時代のワクワク感に近い。
分かる人には分かると思う。
アクセスカウンターとか、キリ番とか、掲示板とか、そういうやつです。
今はそれが、AIとGitHubとNetlifyと各種クラウドとmacOSアプリ開発環境になっている。
だいぶ遠くまで来たもんだよ。
まとめ
AIコーディングは、本当にすごい。
たぶんもう戻れない。
ただし、AIが書いてくれるからといって、自分が急にスーパーエンジニアになったわけではない。
そこは勘違いしない方がいい。
若い人ほど、AIを使い倒した方がいい。
でも同時に、AIが何をしているのか、なぜ動くのか、どこが危ないのかをちゃんと見る力も育てた方がいい。
本当にすごい人たちは、きっとそこを真剣に考えている。
単に使うか使わないかではなく、どう組み込むか。
どう責任を持つか。
どうチームの力にするか。
私はというと、そこまで大きな話をしつつも、実際にはAIに手伝ってもらいながら、クリップボードマネージャを作って喜んでいる。
Tameo。
ためお。
コピーしたものを溜めるやつです。
興味のある方は試してみてくださいませ。

