オススメのAIということで、一旦は Claude Code をあげることとします。
仕事場では Cursor を使っていますが、ある程度似たような使い方をしているので、割愛します。
私がAIに期待していること
- ショットの関数をかけること
- 技術調査で最低限動くコードを書けること
- 記載した仕様を元に設計、実装が進むこと
この辺りです。
2, 3年前のちょっとしたスクリプトを書いてもらうところから大きく飛躍して、日本語で「この技術使って、動く処理かいて!」というとある程度書いてくれるのは手放せない相棒となったと感じます。
私の使い方(技術調査)
仕様を書く
最初にざっくりこういう技術で、こう構築して、というのをプロンプトに打ち込み CLAUDE.md を作ります(他のAI Agentを使う時も大体同じことをしています)。
よく要件として渡すのは下記です。
- コミュニケーションの言語は日本語にすること
- Docker, Podman を使って動作すること
- mise を使ってローカルの開発ツール、バージョンを合わせること
- uv を使って python 環境を構築すること
もともと私自身が Python を書く機会が多く、設定面で uv, python を使ったサンプルの方がわかりやすいと考え、毎回このようにしています。
この基本セットとプラスして、やりたいこと、検証したいことの要件を書いています。
セットアップはほぼ一緒なので、この辺りは使いまわせるように何かしらの機能で補助したいなと思いつつ、調べられていません(コマンドとかでできるのかな?)。
また気がつくと CLAUDE.md がすぐ膨れ上がるので、README.md と使い分けています。
- CLAUDE.md: 目的や利用技術を描く
- README.md: コマンドや動かし方を書く
仕様にそって書かせる
仕様を書いたコードを書かせます。
微修正しながら docker や podman を使って動かします。仮想環境をうまく利用することでローカルを破壊し過ぎずに済みます。直でツールをインストールするのはやはり他の影響
エラーが起こった場合はエラーを直してくださいを連打しています。たまに上手くいきませんが、その時だけ考えるようにしていて基本的には AI Agent にお任せしています。
仕様の修正
エラーの解消をしているうちに、仕様に誤りが含まれることや、そもそもの仕様として想定したものが間違っていることがあります。
その場合にまずは一度、CLAUDE.md, README.md を現状の作業に準じてアップデートするようにしています。
こうすることで仕様を常に最新化し、一貫性を保つことができます。
動いてるコードや設定を眺める
最後に動いたものを眺め、理解を深めます。
私は実際に動いているものベースで見て理解することも多いので、結構このやり方が気に入っています。
気になる部分についてはドキュメントを追ったり、コードの改変から学びます。
一からドキュメントを読むよりも動いているコードから効率的に情報を得ることができ、自分の学び方にはフィットしていると感じます。
応用として
この方法の応用としてはカンファレンス、勉強会で聞いたものをその場で試せるという強みがあります。
どうしてもカンファレンス、勉強会では聞くこと、学ぶことがメインとなり、手を動かしてコードを書くのはリアルタイムには難しく、後からも見直さないという課題感を昔から抱いていました。
この問題を AI Agent であれば、聞いている間に環境構築、コードの実装が完了し、終わった頃には手元のコードを見てより深い学びに到達する、ということもできそうです。
残念ながら現実では中途半端にしか動かないことが多く、もう少しプロンプトへの依頼精度を上げないとな、という感じです。
それでもある程度は手元に試行錯誤した跡が残るので、後から見返したり調査を再開するのには役立っています。
ほか
Claude Code は Claude の有料プラン契約によって使えるので、チャットサービスとしての Claude も利用可能な点が大きいです。
手元では Ask 的なことをせず、Agent として動かしているので、まず類似ツールをサマリー調査したいとか、こういう関数あるか?とか、後から見返す可能性が高いものを聞くのに役立っています。
最近では ChatGPT 及び Codex CLI でも似たような使い方が出来そうなので、どちらが良いか試しつつ今後のことを考えようかなと思います。
最後に
学びを加速するツールとして AI を活用するというのが現実的になってきており、セットアップが大変なものについても仮想化技術の活用で環境の破壊や汚染を意識せずに試すことができるようになってきました。
今後、いろいろな技術手段を持っているということは技術選定の際の勘どころになりうるので、動くところまでやるだけでなく、リクエスト/コネクション負荷をかけてみるとか、大量にデータを入れて試すなど、さらに学びを深めるきっかけとして、明日のプロダクト開発に活かすために活用できればと思います。
なお現在は Claude Code を利用していますが、 Agent 型の AI の進歩は激しいので、乗り換え先になる候補も探していきたいところです。
そういった意味でもこの分野は今後も目を離せず、日々学び続けていくことが強く必要だと感じさせられました。