Claude Proはかなり良い感じです。

こんにちは、如月翔也(@showya_kiss)です。
 ここの所iPadアプリを作って公開したり、iPhone・iPad・Mac用のアプリを作って公開したり、今Mac用のアプリを作ってApp Storeに申請したら名前に「Google」が入っているのでリジェクトされたので「Google」を「G-」に変えて再提出したり、ブックマークレットを作ったりVS Codeの機能拡張をハックしたりしているんですが、一人で全部やるのは大変なのでテストを兼ねて色々ChatAIを使ってコーディング能力について試してみました。
 その結果についてお話をしたいと思います。

まず試したChatAIについて

試したChatAIは次の5種類です。

  • ChatGPT無料版
  • Gemini無料版
  • Copilot無料版
  • Claude無料版
  • Claude Pro(月額20ドル)

ChatGPT無料版について

非常に言いにくいのですが、Apple製品の開発については去年のWWDC以降の情報をもとに調べないと正しいコードが書けないですし、毎回X Codeの画面構成が変わるので操作方法について聞いても正しい返答が帰ってこないので困ります。まあX Codeの使い方は慣れればもう大丈夫なんですが、ChatGTP無料版は情報ソースが古いので、去年のWWDC以降の情報が反映されず使い物にはならない感じです。
 しかし、ブックマークレットとか、VS Codeの機能拡張については結構物知りなイメージで、枯れた技術を使って何か作るならまあ相談相手としては悪くないかな、とは思います。
 ただ、結局会話制限があるので枯れた技術で無制限にやりたいならちょっと頭は悪いですがCopilotが良いかと思います。

Gemini無料版

情報はわりと新し目、コーディングについても綺麗でわかりやすいコードを書いてくれます。ただ、Swiftについては情報ソースを「2024年WWDC以降の英語の情報ソースをもとに回答して下さい」と指示しないと正しいコードは帰ってきません。
 Swiftについては確認せずに前年WWDC以降の情報をもとに回答してほしいんですが、うまく行かないですね。
 Geminiさんはコードを吐かせるよりもアプリ名がイケてるか見て貰うとか、アプリ要件を説明の上格好いいアプリ名を提案して貰うとか、どっちかというとロジックよりも感性に訴えるものの相談の方が得意っぽいイメージを持ちました。
 ちなみにGeminiさんは画面表示にマークダウンを使っているらしく、コードに正規表現が入るとマークダウンで消されるので、表示されているコードを右上のコピーボタンからコピーしてもそのコードは動作しません。
 動作しないコードが繰り返される場合、コピーしたコードをGeminiに「私にはこう見えているが正しいか?」と聞いてコードを貼り、違うと言われた場合「恐らく見えていない文字があるので、私が貼ったコードと違う部分は全角文字で表示して欲しい」と指示して、そうすると全角文字で足りない部分のコードが表示されるので、それを手打ちで小文字に直すと動きます。
 これ、一応Geminiさんにマークダウン使ってると文字が消えるので、エラーが繰り返されて文字抜けが原因だと思われる場合「抜けている文字を全角で表示するので手打ちで半角に直してもらえますか?」と言える機能が追加されるといいですね、と伝えたら「Googleに伝えます」って回答来ましたけど、本当に伝えてくれるんですかね?

Copilot

指示すれば一応最新の情報を元に回答してくれるのですが、残念ながら精度が低めです。
 ソースの範囲を指定してコードを書かせてもうまく動かないものが出る確率が2/3くらいのイメージなんですが、Copilotは会話数に制限がなく延々と話し続けていけるので、根気があってトライアンドエラーが気にならない人は無料で使えるCopilotで気合と時間でコードを組むといいんじゃないかと思います。
 僕はあまりにもエラーを見るのが嫌になったので違うChatAIを選びました。

Claude無料版

多分コーディングについてはぶっちぎりで一番の性能です。
 要件定義をかっちり決めてそのものを投げるとそれに従ったコードをかなりの精度で作ってくれますし、エラーが出た場合エラーを貼り付ければ自分でエラーを分析して問題を解決するコードを出してくれるので、リテイク回数を気にしなければかなり現実的に動くコードを吐いてくれますので利便性がかなり高いです。
 問題は無料版はレート制限が結構キツく、ちょっと込み入った内容を作って貰おうと思うとトライアンドエラーをしている最中にレート制限に引っかかって何時間かまたされて焦らされる点が大変精神衛生上よろしくないです。
 僕は今結構大きめなプロジェクトを「小さく産んで大きく育てる」形式で作っていて、今回はRust+Tauriを使ってクロスプラットフォームのアプリを作る予定なんですが、僕も最初からそのつもりだったんですが要件定義でクロスプラットフォームで1コードで3つのOSに対応するバイナリを作れる、と指示したらRust+Tauriを提案してきたのでかなり「わかっている」と思います。
 ただ、実際使っていると自分がSE/PM/デバッガとして動いてClaudeにプログラム部分を担当させようと思うととてもレート制限がたりないので、まあ本格的に使うならProくらいにはした方が良いです。

Claude Pro

という訳で、僕が一番相棒として使いたいな、と思ったChatAIはClaudeだったので、Claude Proを選択してお金を払いました。月額契約月20ドルです。ここから1ヶ月使い倒します。
 レート制限がかなり緩和されるので、8時間くらい根を詰めてトライアンドエラーができます。
 ただ、使ってみて思うのが、「要件定義」として渡した内容を時々忘れるんですよね。例えば「Rust 1.87.0、Tauri v2.5、Pyo3 0.22.0を使って実装する」という要件を「記憶しておいて」と伝えても、実際のTauriの処理で2.0以前の処理をしてしまいエラーが出る(2.5対応の使い方が変わっているので前のバージョンの処理ではエラーが出る)、とか、今作っていた機能が終わって新しい機能を追加しようとすると、さっき作った機能が消えたりします。
 このあたりはユーザー側が指摘しないと駄目ですし、あとエラーを見て見当違いな回答にたどり着く事も割とあるので、Claudeが自分で仕込んだデバッグ用のメッセージをちゃんと解読できないで違う回答に行ってるのは面白いんですが、「メッセージから見るに原因はこっちじゃないですか?」と聞き返すと慌てて謝りながら正しいコードを吐くので、使う側にも一定数のリテラシーは必要かと思います。ただ、正しいコードを吐かせるだけならその言語を知っている必要はなく、機能を実装するためのロジックを理解していればちゃんと指示が出せるので、その点ができればかなり強力な相棒です。
 私は今朝から使っていて、今レート制限がかかって16時まで使えないので待っている間にブログを書いているんですが、これレート制限ないとアプリが完成するまで延々やってしまいそうなので、Proレベルのレート制限がないと他にブログもゲームもできないので、Proレベルのレート制限はむしろ息抜きを要求してくるので良い気がします。

という訳で

という訳で、色々ChatAIを使ってプログラムのコードを吐かせてみたんですが、かなり手数が省けますし、Claude Proを使うのであればサンデープログラマの私が1週間かかる内容を3時間で作ってくれるのでかなり有用だと思います。
 個人的にとりあえずこの1ヶ月で「小さく産んで大きく育てる」プロジェクトが完成して、クロスOSで動くのであれば暫く継続して契約してもいいかな、と思います。
 最近プログラム脳なのでアイディアが結構溜まっていますし、「面倒だからやめとくか」と思っていたものが要件定義をかっちりするだけで形になっていくので結構楽しいですし、かなり良いおもちゃだと思います。

この記事を書いた人 Wrote this article

devildaredevil 男性

 ガジェットとAppleとTRPGが大好きな中年男です。文章をとにかく書くのが好きなので毎日のように色々なブログで文章を打ちまくっています。もし何か心に引っかかるものがあれば私のTwitterをフォローして頂けると更新情報が流れます。