果報

二度寝して待つ

生成AIが楽しすぎて時間が足りない

あまり深く考えずにタイトルを書き、ここから話を膨らませる構想も特にないままキーボードを打ちます。一応、この記事は私(人間)が100%書いている、ただのポエムです。

先月、以下の記事を書きました。

text.yusukesakai.com

この記事内でも触れましたが、初めてNext.jsやVercelを使った開発にあたり、生成AIに聞きまくりながら進めました。こういうことやりたいんだけど?から始まり、できるなら手順教えて、コード書いて、エラー出たから解析して、と次々お願いして、出力結果をもとにトライ&エラーを繰り返して、何とかサイトを完成させました。

このときはブラウザ版のGrok 3を使っていました。理由は単純で、無料で上限がないから。使い方としては、ブラウザに表示されたコードをエディタにコピペして、サーバで実行して、エラーが出たらそのエラー内容をブラウザにコピペして…というのを繰り返していました。

ただ、エラーが解消されず、堂々巡りな修正をさせられることが次第に増えてきて、コーディングに長けているClaudeに浮気するようになりました。

総じて、Claudeのほうが生成されるコードの品質が高く、しかも、やりたいことをふわっと伝えるだけで「では段階を分けて進めていきましょう、この3つのフェーズのうち、どこからでも着手できますが、どれにしますか?」とか高度な返しをしてきて、私の指示をしょっちゅう無視するGrokとの違いが歴然でした(最近発表されたv4では改善されているかも)。

上の呟きにもあるとおり、Vercelでのサイト構築後にDiscordのボットを作り始めたのですが、複数ファイルに跨る複雑な実装も増えてきて、このあたりでほぼClaudeに移行しました。

とはいえ、Claudeの無料プランだと、汎用モデルのSonnet 4でもすぐに利用上限に達してしまい、開発が思うように進みません。そこで、お試しも兼ねて一ヶ月間だけProプラン(20ドル/月)を契約してみました。

このときも、Grok時代からの「生成されたコードをエディタにコピペ」方式を相変わらず継続していましたが、Proプランになって利用上限が緩和されたので、これを機に色々やってみようと思い、Claude DesktopにGitHub MCPの設定を追加しました。

「MCPで様々なサービスと直接連携できる」という概念は一応把握していたものの、実際に使用するのはこのときが初めてで、生成AIが勝手にリポジトリのコードを読んで、修正して、更新してくれるのがこんなに便利だとは夢にも思いませんでした。今までちまちまとコピペしてた苦労は一体何だったんだと…。

しかも、リポジトリの構成からREADME.md(リポジトリの説明書のようなもの)まで作成して、更新時は適切な変更履歴まで書く隙の無さ。えぐい、えぐすぎる。

ここで勢いに乗った私は、「話題のClaude Codeも試してみよう」と思い、早速インストール。結果、開発効率がさらに劇的に向上しました。前述の「勝手に修正機能」がパワーアップして、「勝手にテスト」や「勝手にコマンド操作」まで実行してくれるようになったからです。

ほんのひと月前まで、「こうしたいのだけど、手順とコマンドを教えて」とお願いして、提示された方法で試行錯誤を繰り返していたのが、今では「これやって」と一言伝えるだけで完結するようになってしまいました。

というか、先月の記事を書く前までは、正直言って生成AIを効果的に使えていませんでした。「これ知ってる?」など、ググればいいことを大した意味もなく質問したりして、AIをうまく使いこなせない自分に落胆することも多々ありました。

最近少しわかってきたのは、インターネットで見つけたちょっと興味のあることや、自分には難しいと二の足を踏んでいたことを、「これってできる?」と生成AIに聞いてみる、その最初の一言が大事だなということ。そこから、「あ、じゃあこれは?」とか、「こんな方法もある?」といった感じで、どんどん広がっていきます。

実際、最近まで開発していたDiscordのボットは、最初はメッセージに生成AIがただ応答する、よくあるチャットボットでしたが…

  • 連続した会話がしたかったので、会話履歴の保存機能を追加
  • 会話履歴を管理したかったので、DB(PostgreSQL)を追加
  • メインのDBが消えたら困るので、バックアップのDBをSupabaseに追加
  • 私の特性を把握したうえで答えてほしくなり、Obsidianのメモから個人プロファイルを生成して、予め読み込ませる機能を追加
  • 単なるプロンプト指示に基づくのではなく、生成AIにも感情や性格を持ってほしくなり、会話履歴の分析結果から人格形成する機能を追加
  • オプションで、音声メモの文字起こし機能、用語の詳細解説機能、Obsidianへのメモ登録機能を追加

…と、気付いたら超高機能ボットが実現していました。

なので、いきなり全く新しいことに挑戦するというより、これまで経験したことの延長上にあって、でもすぐには実現しそうにないことを、生成AIに手伝ってもらう感覚が良いのかなという気がします。そのためにも、自分で自分に限界を設けずに、「もっとできるかな」というイメージを持つことが大事なんだなと思った次第です。

でも、いずれ近い将来、そんなイメージも必要なく、生成AIに対する「最初の一言」もAIが生成するようになる…そんな、AIがAIを創る世の中が間もなく訪れる予感がします。