Cursorのトークン消費早すぎぃ!AIエージェント1ヶ月トークン節約生活
「この番組は、エンジニアの成長は楽しい学びからをモットーに、昨日より少し成長できる学びを届けるエンタメ系テックラジオです」
「合成音声だった、一昔前の」
「ちょっと区切りがね、あのー、不自然な感じになっちゃったんですけど。ま、今大AI時代なので、あの、多分皆さん気になってないと思います」
「むしろ逆に。AIになりきってるから」
「なりきってるからね。あ、まだちょっと人っぽいってなってると思う」
「なめてますね」
「なめてないっすよ。なめてないっすよ、こちら」
「なめてないっすか」

「はい。さあ、今日はですね」
「はい」
「はい。えー、ケチ臭い話をしてこうかなと思ってます」
「あー、好きですよ、僕」
「なんか、あれですか、こっちのスーパーのほうが卵ちょっと安いみたいな」
「うん。そう」
「あ、そんな話」
「やっぱね、チラシをね、チラシをこう見比べて、どれが一番安いんだろうみたいな」

「うん」
「でもそれを選んでる時間が一番高いよねって僕は思ってます」
「うん」
「さあ、今日の内容なんですけど」
「はい」
「えー、Cursor。AIエージェント、Cursor」
「Cursor。はい」
「ま、ちょっとまあ別にCursorじゃなくてもいいんですけど」

「うん。はい」
「えー、ただ、クロードコードだとちょっとだめかもしれない」
「ほう」
「あ、いや、そんなことないのかな。ま、ちょっとですね、今日の話はですね、えー、僕がCursorのクレジットをすぐ使い切ってしまう問題」
「うーん」
「あー、いや、まあ、クロードでもありますよね、クレジットを使い切ってしまうのは」
「あるか。ま、そうだね。まで、えー、ただ、これが結構Cursorに特化した節約ポイントも多いので」
「ああ、なるほど」

「えー、まあちょっと、えー、半分ぐらい参考にならない場所もあるかもしれないんですが、今日はちょっとそんな話をしていきたいなと思ってます」
「はい。なんかCopilotエージェントと」
「うん」
「クロードに絡んだ話が、を差し込めるといいなという気持ちな、気持ちで聞きます」
「あ、確かに。Copilotはまったく同じかもしれない、それで言うと」
「なるほど」
「うーん」
「Copilotってあれだよね、GitHubCopilotのほうだよね」

「GitHubCopilotエージェントの話してます」
「はい。GitHubCopilotなんかCursorと、まあほぼ同じ機能を持ってると思ってるんで」
「うん」
「認識的には」
「はいはい」
「はい。ま、なので、えー、そっちとかでは結構活用できるんじゃないかなと思ってます」
「なるほど」
「はい。ちなみにちょっと、前提をこれから話すつもりなのかもしんないんですけど」

「うん」
「Cursorってどういう課金体系なんですか」
「Cursorはですね、まず、えー」
「てかそもそもどんなんですか、なんでしたっけっていうところから始めたほうがいいかも」
「オーケー」
「はい。Cursorというのはですね、まず、えー、今大流行りのエディター型のコーディングエージェントツールとなっております」
「うん」
「なんで、えー、VSCodeベースで作られてるんで、操作感は結構VSCodeに近いんですけど、それの右側にチャット欄が付いてたりとか。ま、そういうなんか、え、チャット欄が付いてて、そこでAIとやり取りしながらAIがコードを書いたりとか。ま、もしくは自分で書いてても、コード保管のところでこうAIが、えー、こここうじゃないすかみたいな感じで、次々と先読みしてコードをこう提示してくれるみたいな。ま、そういう機能が付いてるエディターですね」

「うん」
「ちなみに」
「はい」
「あのVSCodeってプラグインあるじゃないですか」
「うん」
「普通に使ってて。で、ああいうプラグインでも、あのーGitHubCopilotエージェントとかClaudeとかってあるんですけど」
「うん」
「そこをあえてなんかフォークしてCursorって、つ、として出してるのって」

「うん」
「なんかど、どういうことをやろうとして、なんかエディターごとCursorが出してる感じなんですか」
「Cursorの思想の話?」
「思想っていうかなんか使、使い心地の話?」
「あー」
「なんか感じることあります?」
「いや、ま正直僕逆にVSCodeで使ってないんで、分かんないっちゃ分かんないんすけど」
「はい」

「でもなんとなく思うのは、えーとなんかコードのベース、コードの内容とかをなんかインデックスみたいな、多分エディターでなんかインデックスみたいなの作って保存してたりとか」
「うん」
「なんかそういうの裏側でやってるんで、なんか効率良くなってるんじゃないかなっていうのを工夫しようと頑張ってる姿勢は見えますね」
「なるほど、確かにそういうのありそうですね」
「うん」
「うん。あ、ありがとうございます」
「あとまあ機能追加早いっすよね。なんかさ、まMCP出たらそのMCP連携とかもすぐできるようになってるし、新しいモデル出たら新しいモデルもすぐ使えるようになってるし。そういうのってなんか拡張機能だとさ、なんかこう、あ、こういうのもできるようになったんだ、じゃあどうやってやればいいんだろうつってVSCodeをカスタマイズしなきゃいけないと思うんですけど。まCursorの場合はユーザーにこの機能使わせたるぜみたいな感じでエディター丸ごと改変してアップデート配信してくれるんで」
「うーん」

「まそのへんなんかキャッチアップしなくても最新機能使えるようになってくっていうのは違うかもしんないっすね」
「うんうんうん。ま割とVSCodeのプラグインだと、まアップデートあったら更新したら機能が入るか入んないかって」
「うんうん」
「感じだったりするんですけど。まちょっとCopilotエージェントは分かんないんですけど、Claudeに関しては、あのーCLI版とVSCode版で若干機能が違くて」
「へえ」
「VSCode版のほうがちょっと遅いんすよね」
「あーなるほど」
「更新が」

「はいはいはい」
「なんかそういうのはあったりしますね、確かに」
「うん。だからまその点で、えーまあなんだろうね、最新のキャッチアップはしやすいかもしんないっすね」
「うんうん」
「マジでモデル出たその日にすぐ使えるようになりますね」
「うんうん」
「うーん」
「Copilotも割と頑張ってはいます、はい」

「あ、そうなんだ」
「その点は」
「うんうんうん。で、ちなみに料金プランで言うと、まず個人向けとビジネスプランで分かれてて」
「はい」
「えービジネスプランのほうがシンプルなんで、これはユーザー当たり四十ドルっすね」
「うん」
「うん。で、基本的に機能は大体使えて、えー一元化されたチーム請求みたいな感じで請求も一個にまとめれるっていうあたりがまあちょっとビジネス向けな感じだなっていうのと、まプライバシーモードの制御とか、まそういう制御できるみたいなところがちょっとビジネス寄りになってると。で、えただちょっとねごめん、あのこれ使用量とか、使用量というかなんかモデル無制限に使えるわけじゃなくて、そのへんがチームプランでどうなってるかはちょっと今料金表に書いてないので分からんっす」
「はい。ちなみに何に対して料金がかかるんですか。使用したトークン数ですか」

「えーっとね、いや、こ、もう料金は固定で、え、その範囲内で使えるモデルを使うって感じになりますね」
「何に対してリミットがかかります。トークン?」
「えーっとね、いや、あ、トークンで消費する」
「あーってことっすね」
「トークン消費です」
「承知です。そうGitHubCopilotがトークンじゃなくてリクエスト数なんで」
「あーそうなのか」
「はい。そこはちょっと質違いますね」

「確かに」
「まあちょっと特殊ですけど」
「うんうんうんうん。まCursorはトークンに課金ですね、なんで」
「うんうん」
「でその間で使える」
「Geminiとかと一緒ですね」
「あそうそうそうそう。だからあのー、まトークン消費激しいモデル使ったらその分早く終了しますね」
「うんうんうん」

「うん」
「で」
「あと倍率がかかってる感じですよね、多分モデルごとにね」
「あ、かかってるかかってる。なんかね、あの料金表細かいやつ見ると、インプットとアウトプットでそれぞれどれくらいかかるかみたいなのね、コスト書かれてますね」
「なるほど」
「うん」
「ありがとうございます。大体分かりました」
「はい。で、個人プランは無料のホビープランと、えー二十ドルのプロプランと、えー六十ドルのプロプラスプランと、二百ドルのウルトラプランがあります」

「うん。ホビープランっていう命名いいっすね。なんか独特ですね、初めて聞いた」
「確かにおもちゃですよつって」
「うん」
「でもおもちゃのように遊べるからいいっすよね、これ」
「うん」
「で、えーっとプランによって機能は変わってくんですけど、基本的に、あのー上のほうの機能に関して言うと、あの使用量が莫大になるみたいなぐらいしか変わらなそう」
「うんうんうん」
「のりさんはどれなんですか」

「あの十二月まで僕あのプロプラスを使ってたんですよ」
「うん」
「なんですけど毎月毎月ね、もうね、毎回あのうわまだまだ今月十日しか経ってないのにもう切れてしまったみたいなことが起きてたんで」
「うん」
「今はウルトラになってます」
「おお、二百ドル」
「二百ドル。で、二百ドルでこれはもうね、あのーなんだろうね、これ二十倍の使用量ってなってるんですけど、何に対しての二十倍か分かんないけど多分プロプランの二十倍かな」
「うーん」

「でプロプラスはプロプランの三倍の使用量なんすよ、そのトークンの」
「うん」
「だからこのウルトラはだいぶあの使用量拡大されてる」
「なるほど」
「んですが、今月、ん、先月か、一月、一月ですね、あのー十四日でこれ切らしまして」
「うーん」
「半分しか終わってないのにみたいな」
「すごいなあ」

「で絶望したんですね」
「しますね。しかもね、正月あったうえで」
「ま正月ないけどね」
「うん」
「いやまああったか、正月はあったわ」
「うん」
「正月はあった。けど、えーまあちょっとね、あのーこ、今月はえぐかった、あー一月はえぐかったね、あのタスクの量が」
「そうですね」

「うん。あのーま今まだマージされてないプルリクエストあるんですけど、あの変更行数十万超えてて」
「えー」
「これをマージしたら俺は爆発して死んでしまうんじゃないかと思ってるんですけど」
「もうよく分かんなくなるな。でも十万行ってもうAIすらよく分かんなくなってるな、多分。すべてを一括で扱えないから」
「やばいよね、これ。そう。っていうぐらいやばいやつやったのもあるんですけど。でもそれにしてもちょっと月の半分でこれなくなったのは結構絶望した」
「うん。まあでもそんぐらいの仕事量はできたと裏返せば言えるかもしれないっす、てか言えますよね」
「まあそうか。あーでも、ま節約できるならなんかもっとしたほうがいいと思うっていうのを気づき、さっきちょうどいい記事を見つけたんすよ」
「ほう」

「ごめんなさい、記事名完全に忘れたし、その記事もどっかに行ってしまったんですけど。とりあえず、とりあえずそのCursorの消費量を、えーなるべく節約したいっていう記事を読んで」
「はい」
「俺それまでなんかまあ、ま切れたら切れたで一回ぐらいに思ってたんですよ。どうせあのオートっていうモードがあって、モデルを自由に切り替え、なんか裏側で勝手に切り替えちゃいますからねみたいな」
「うん」
「でそれはずっと使えるんですよ、エージェントモード」
「うん」
「でそれでやってればモデルはなんか指定できなくなるんで、なんかコードの品質下がったりするんですけど、ま動くは動くと」
「うん」

「だからまあ我慢すればいいかと思ってたんですけど、絶対トークン節約したほうがいいってなったんで」
「うんうん」
「今日はそのポイントを話していきたいと思います」
「お願いします」
「なんで今日はその記事プラス自分で追加でGeminiにあの質問していろいろ判明したことを言ってくって感じになります」
「うんうんうん」
「でまずトークン消費の仕組みというか、えーまああれってエディターの裏側で結局LLMが動いてるわけじゃないですか」
「はい」

「でそこに対して何が送られてるかっていうところで、まず一つシステムプロンプト」
「うん」
「システムプロンプトはユーザーが打つ入力じゃなくて、えーっとそういうなんかAIエージェントの裏側に仕込まれてる、まあらかじめプログラムされてるプロンプトみたいなやつですね」
「はい」
「まこれがまず送られてるはずだと」
「うん」
「でプラス、えーチャットで、チャットベースでやる場合は過去の会話履歴」
「うんうん」

「まその履歴参照して回答するからそりゃそうですよねと」
「うん」
「でそれに追加して今回の質問が送られてるはずだと」
「うん」
「うんうんうん。でさらにエディターってことはコードベースも送られてますよね」
「うん」
「でもしなんか知識的なところ検索する必要があったらウェブ検索したその結果も入力にされてるはずだと」
「そうですね」

「うん。まこの五つが多分AIに送られているぞと」
「そう。あとはあのー元々渡してるやつですね、そのエージェンツドットMDみたいな」
「あーあれなんか」
「クラウドで、クラウドでね」
「コードベースのイメージだったわ、それ」
「あー、まあ明示的に渡さなくても勝手に渡る系のやつあるじゃないですか。ちょっとCursorでやんのか分かんないんすけど」
「なんだっけそれ。え、えーと」
「ないのかな」

「それってシステムプロンプトとはまた別で?」
「システムプロンプトってすいません、えっとーCursorが裏側で勝手に入れてる、なんか初期、初期でCursorのAIとして振る舞うならこうやってやってくださいのプロンプトを指してますか」
「と思ってて、なんかそこに統合されてるのかなぐらいでイメージしてたわ」
「ユーザーが定義したそういうプロンプトってシステムプロンプトに入りますか」
「うわどうなんだろうね。うわー確かにそこ、そこ曖昧だけど、でもユーザープロンプトとも言えなそうだなっていう」
「あーなるほど」
「うん」
「まなんか、はい、ちょっと僕が今そのユーザーが、ま定義したやつ」

「うんうん」
「エージェンツドットMDみたいな。ま例えばなんか、これはこういうふうなやり方でやって、やってください。コード書くときはこういうふうな進め方でやってくださいみたいなのって、別でファイルで定義してる系のやつも、まあ常に渡されたり」
「そうね」
「するなって、いう話をしました。はい」
「うん、それも絶対渡されてるはず」
「はい」
「で、えーまなので、あのーまもちろん送るコードベースとかそのコンテキスト圧縮された状態で送ったほうが軽くなるし」
「うん」

「なんなら会話は長く続けるとやばいことになると」
「うん、そうっすね」
「うん」
「特に会話がこれ結構雪だるま式でトークン増えていきますよってのはその記事で言ってて」
「うん、確かに」
「いやまあそりゃそうだよなと思いながら見てて。えーなんかその記事でね、あのトークンの計測してたんすよ、数値」
「はいはい」
「ま送ってるチャットの量によると思うんですけど」

「はい」
「えーと一回目のトークン消費が三千」
「うん」
「で、えー十回会話を繰り返したときに送られ、い、に、え十回目の会話で送られてる、えートークンが二万千らしいっす。そ、そのときの計測では」
「七倍」
「そのときは七倍になってた」
「まそうだね」
「うん。まだから、ま売買ゲームになってるわけではないけど、でも単純に、あのーどんどん、うーんとN、なんだこれ、2N?2Nじゃねえや、オーダーN」

「うん」
「より若干少ないぐらいか」
「うん」
「では増えていってると。っていうところがありますと」
「うん」
「これは結構危険じゃないっすか」
「うん、はい」
「ていうことで、えー節約ポイントその一。こまめに新しいチャットを立ち上げる」

「うん」
「めっちゃ当たり前ですこれ」
「まとはいえなところある気もしますけどね」
「うんうん。まもちろん文脈を断ち切って新しい会話でやるのは逆に効率悪いこともあると思います」
「うん」
「なんで、えーと例えばその失敗した会話の中でこう修正しようとせずに、そういう場合とかは新しくチャット立ち上げて、えーそこで修正用の、えーと会話を作ったほうがいいと」
「うんうんうん」
「なんかこれまでの会話履歴をなんかドットMDみたいな感じで書き出させて新しいチャットでそれを渡すとか、なんかできたりしないんすか」

「あー」
「要約させてこれまでの会話履歴を。やりづらそうですか」
「どうなんだろう。いやまできるんじゃないかな」
「うん」
「ま僕ただ」
「バグ調査とかそれやれますね」
「うんうんうん」
「なんか調査レポートだけファイルにして」

「うん」
「それだけ渡すみたいな」
「うんうんうん。ま要は新しいチャットにちゃんとコンテキスト渡すってことっすよね」
「はいはい」
「うんうん。それは確かにクオリティ上げるために必要な気がしますね」
「うん」
「であと機能が完成したら即座にニューチャット」
「うんうんうん」

「うん。ここで」
「そう」
「いやーありがとうつって。じゃあ次これお願いねってやるのはもうこれ骨頂部句ですね、これ」
「骨頂部句」
「はい」
「そう、チャットの粒度って」
「うん」
「どうあるべきなんですか、それで言うと」

「チャットの粒度?」
「そ、さっき機能がっていう話はありましたけど」
「はい」
「ま機能も、機能を一つっていうのも」
「うん」
「ま一個の基準かもしれない」
「うんうんうん。えーどうなんだろう。俺は機能でやってますね」
「うん」

「例えば機能を実装するじゃないっすか」
「うん」
「で、えー完成してレビューするじゃないっすか」
「はい」
「でその修正指示まではそのチャット内でやってますね」
「うん。えーっと設計と開発は分けますか、実装か」
「あーっとね、設計と実装は分けてるの、いや分けてないな。ん、設計?設計ってど、どういうのを指してる?」
「確かに。そうですよね」

「うん」
「あの」
「なんかさ、あの、Cursorって今さ、あのプランモードみたいなのがあって」
「はいはいはいはい」
「その実装する前にそれをやるんですよ」
「うん」
「でもちろんそことは不可分なんですけど」
「うん」

「えーとはいえ、これから実装するよっていう機能の、その要件とか、えーじゃあどこでどうなるよとかテーブルどうなってるよみたいな、そういうなんかあらかじめ渡す設計みたいなやつはGeminiでやってるんで、えーっとCursorとは分離してますね」
「なるほど」
「うん。まそうだよな。まプランモードだったら絶対一緒にしたほうがいいじゃないっすか」
「うん、間違いない」
「はい。で、僕普段、普段?」
「うん」
「趣味ではSDDでやってるんで」
「うんうんうん」

「ドキュメントになるので設計とかは」
「うん」
「それで言うと、だから今は一緒にやってるんですけど」
「うん」
「なんか別にトークン消費抑えるんだったら分けてもやっていい、分けてやっていいなって」
「うん」
「思ったりしたりとか」
「そうだね。あ、でもそれで言うと、俺丸ごと設計は、あのーやらせてないかもプランで」

「うんうんうん」
「なんかあらかじめその機能の方向性とかの壁打ちとかは全部もうGeminiでやらせて。でそれをなんか改めてこのコードベースに照らし合わせたときにどうなるかなぐらいの気持ちでプランでやってるかもしんない」
「うんうんうん」
「でそれでビル、ビルドがそのプランどおり実装するやつなんすけど、作って。えーま大体一発で通すことは、ま簡単な機能ならあるんですけど、そうじゃないことも多いので、ま追加指示みたいなやつはそこのチャットでやって機能が完成したら、まあもう使わないからそこ」
「うんうん」
「って感じっすかね」
「承知です」
「まあこまめに新しいチャットを立ち上げましょうと」

「うん」
「で、えーこれあとね、たくさんあるんですけど」
「はい」
「えーAIに指示出すときにちゃんと必要な行を指定する」
「あー余計なものを読ませないってことですか」
「そうです。なんか例えばじゃあ機能を、ここの機能を修正したいっていうときに機能の概要だけ伝えて、でそれで修正をやらせると」
「うん」
「ってなったときって一回コードの中を見て、いやさっきチャットで言ってたやつどれだろうってのを探して、でその上でやってくんすね、修正みたいなやつを」

「うんうん」
「でもこれだと一回全体をサーチしてみたいなところが入っちゃうんで、えトークン消費増えるんすよ」
「うん」
「だからあらかじめこっちでどこを修正したほうがいいってのが目星ついてるときは、もうそこの行をもう指定して、あのチャット欄で、あの多分大体どのAIエージェントもいけると思うんで、そのファイルの行数指定みたいなやつ」
「うんうん」
「なんで、えーちゃんとそこで、あの行を指定して渡してあげることで、えートークン消費して、あトークン消費せずに、え修正出せますよと」
「うん」
「いうことができますね」

「うん」
「で、えーあとですね、ちょ、これはね、Cursor以外がどういう感じでなってるか分かんないんですけど、CursorってCursorイグノアっていうファイルを設置できるんですよ」
「うん。はいはい」
「まこれほんとにギットイグノアと同じような感じで、これの名前にマッチしたディレクトリとかファイルはCursorに読み込ませないみたいなやつがあって」
「うんうん」
「でCursorってあのコード全体をインデックスして読み込んでるって最初のほうにちょっと言ったと思うんすけど」
「うん」
「まそれがあるんで、えー無駄なディレクトリを指定してると、えーそれだけでコンテキストが増えますと」

「はい」
「まなんでノードモジュールスとか、パッケージロックジェイソンとか、あとログファイルとか、えーまログファイルたまにちょっとほしいときあるけど、あと、えーなんかビルド済みのバイナリーとか翻訳ファイルみたいなところは、えーCursorイグノアに設定してあげて、AIエージェントが読まないようにしてあげる」
「うん」
「ていうのも節約のポイントになりますね」
「なるほど。使ったことなかったな、確かに」
「うん。まちょっとだけ心、心なしか設定してます。心なしか」
「どういうことっすか」
「あの気持ち程度に」

「うんうん」
「気持ち程度にやってますね、これ。で、えーあとはね、えーま今ってどのエージェントもその動きのルールあるじゃないっすか、さっきあのシステムプロンプトみたいなとこの話が出たときに上がったやつですね」
「はい」
「でこれを新世代のモデル向けにする」
「ん?」
「で、えーっとつまり新しい推論モデルとかって、えーとても意図を組み取ってくれるんで」
「うん」
「あんまり長くなくていいみたいな」

「うん」
「特徴がありますと、プロンプトとして。もう昔ほどがっつりプロンプト書かなくていいみたいな」
「そうですね」
「っていうのがあるんで、昔作ったルールズファイルがっつり書いてるんだったらもっとシンプルにしてもオッケーですよっていうのは言われてて」
「うん」
「へー。なんでそういうモデル向けに、えー過剰なプロンプトを避けたルールに更新しなおすっていうのも一個手ですね」
「なんか前ポッドキャストで話したかもしんないですけど」
「うん」

「精度下がることもあるらしいですからね、それによって」
「あー、え、これ多分ね」
「雑談?」
「雑談で言ったんじゃないかな、普通に」
「ポッドキャストでじゃ言ってないかもしんないですね」
「うん、あれっすよね、なんかプロンプトでこれまでって結構なんか役割指定してみたいながっつりプロンプト書いてたけど」
「うん」
「逆にそれだとコンテキストしば、狭まっちゃってなんか回答の幅が狭まってなんか精度下がるみたいなやつですよね」

「うん。あ、そうそうそう」
「あなたはなんとかのプロとして振る舞ってくださいっていうやつとかですね」
「そう」
「うんうんうん」
「はいはいはい」
「でも確かに、あのチャットGPTのなんだっけ、えーとプロンプトオプティマイザー」
「はい」
「でなんかモデルに合ったプロンプトのオプティマイズしてくれるんですけど、最適化やってくれるんですけど」

「うん」
「最新モデルのやつ試すとね、めっちゃなんか、あ、なんも変えてなくないぐらいのなんかシンプルさで出てきますね」
「うんうんうん。今はそれがいいんですね」
「ね」
「うん。空気読む力がすごい高いんですね」
「うん」
「そんなになんかパターン化できちゃうんですね、その質問に対してのなんかやるべきことって」
「確かにね。いやそうなー。もう恩外れの回答とかあんま来ないもんな」

「来ない」
「うん」
「うん。いや余裕で負けてるまである、すでに」
「そうだよね。AI使うのは俺のほうがうまいです、絶対」
「あー間違いない。それは間違いないわ」
「ま今のがあのCursorの、Cursorだったら、えーCursorルールズとかですね。まそういうのを、えー新世代向けのものに、えーブラッシュアップすると」
「うん」
「うん。あと、えーま普通に汎用的な質問は、あのシンプルにLLM使うみたいな。チャット、チャット系のサービスというか」

「あージェミニみたいな?」
「あ、そうそうそうそう。これ何?みたいな。あの、何それ」
「いやークロードコード使っちゃうことあるよなー」
「分かる。いやこれは俺ね、めっちゃやってんだよね。これめっちゃやってしまうけど。でも確かにこれめんどくさいからこれでやってるだけで、別にブラウザ開くのもそんな手間じゃないかもしれないともううっすら思うけど。ただちょっとコードコピペすんのめんどいみたいなところはある」
「はいはいはい。まあとはなんかMCPとか使いたきた、たいときとかはね、ジェミニとかじゃやれないっすからね」
「うん。あーまあそうね」
「うん」
「あれクロードのさ、普通の、なんだっけ、デスクトップアプリとかは使えるんだっけ?」

「使えます、使えます。けどあれは別にトークン共有してるんで意味ないっすね」
「あ、あ、そういうことね」
「はい、使用量」
「普通にバリバリ使ってくんだ、それはじゃあ」
「はい。あのクロードコードで使おうが、アプリで使おうが、もう同じやつ消費してきます」
「あ、それはよろしくないっすね」
「うん。なんでほんとはジェミニ使えるといいんですよね。あれ、ジェミニってあれ制限あるんすか。あれない?」
「ないかもね」

「なんか、なんか」
「なんかあんまり制限で、うーんってなってるの見たことないわ」
「うん。勝手に使い放題だと思ってるから。できればジェミニにしたいんすけどね。ちょっとMCPとかが使えないから、なんかそういうところで弱いんだよな」
「確かにな。Antigravityにしてみるとか。その部分だけ。それはそれでめんどくさいよな、二個立ち上げなきゃいけない」
「Antigravityね、あれね、今会社で使えるようなサービスポリシーになってないんすよね、あれ」
「あー」
「確かオプトアウトはでき、オプトアウトできなかったはず」
「あれできるんじゃなかったっけ?」

「できるんでしたっけ?」
「なんか無料でもできて、おーやってなってたような気がする」
「あ、そうなんだ」
「うん」
「じゃあやれんのかもしんないな」
「まあなんであの一旦ちょっと面倒かもしんないっすけど、節約するなら普通にジェミニとか使って聞いたらいいんじゃないのっていうね」
「うん」
「うん。で、ラスト。タスクに応じてモデルを使い分ける」

「いやーやれないそれ。めっちゃむずい」
「そう、これはCursor、ん?」
「とにかく強いやつ使っちゃう」
「あーそういうことか」
「うん」
「あーGitHubCopilotとかでも」
「そう」
「あー。まそうだよなー」

「結構変わるんですか」
「結構変わるよ。え、なんか結構変わるってのは、あの、な、どっちか、消費量?」
「モデル、もうはい、モデルを使い分けることで、なんか、ちょ、ちょっとしか変わんないとかそんなことないんすか」
「いや、まじで、あのー変わると思う」
「うーん、じゃ今何使ってるんすか、最近。もうちょっと僕追えてないので教えてほしいです、最近のやつはこれだよ」
「あーもうほんとね、ちょっと」
「はい」
「タ、タスクに応じたあのモデルなんですけど」

「はい」
「まず、仕様の確認とか単純な質問みたいなやつは」
「うん」
「クロードの4.5ハイクがいいっす」
「ハイク?」
「でこいつは、あの4、4ソネットぐらいの精度があって」
「うん」
「かつめちゃめちゃ安い」

「へー。ハイクしかもなんやかんや普通に優秀なんだよな」
「そう。そうなんすよ。4.5は、あの結構使えると思います」
「うーん」
「で、えー逆に一番あの横綱」
「はいはいはい。重めのタスク」
「横綱はね、もうクロードのオーパス4.5だと思うな」
「あーでもよ、オーパス4.5なんすね、はいはい」
「こいつもね、トークン、こいつトークン消費量すごくて。多分ハイクと比べたらね、そうだな、横ず、朝青龍と純平ぐらいのなんか」

「それ」
「違いがあるかもしんない」
「ちょっとねー朝青龍側の解像度高くないからな、純平はピンとくるんだけど」
「えーそれ百倍どころじゃなくと朝青龍の差は」
「いや、そう、朝青龍と純平が」
「はい」
「あのちゃんこ鍋合戦したときぐらいの差が出ると思う」
「あー足元にも及ばないっすね、それはもう」

「うん、消費量で言うとね」
「はい」
「それはすごいね」
「トークンなんだ、ちゃんこが」
「ちゃん、ちゃんこトークンだね。うん。そんぐらい違うと思いますね」
「久々に聞きました、朝青龍」
「朝青龍ね、だって今」
「せ、世代、あ」

「朝青龍じゃなくて、あの朝青龍の子どもがだって今横綱だもんね」
「あ、そうなんすか」
「そうなの?」
「あれ違ったっけ?」
「いやまったく相撲追ってなくて知らないっす」
「あ、俺もね相撲は追ってなくて、あのM1で見ただけなんすけど」
「うん」
「あ」

「え?」
「あ、そうなんすか。朝青龍の息子なんですね。あのM1のあの9時引く人ですよね」
「あ、そうそうそうそうそう」
「うん」
「後半で引いてた人」
「あれ、朝青龍の息子だったんだ」
「違ったらどうしよう。までもこの番組テック系の番組だからいっか違って」
「おいっこです」

「うん」
「えー」
「おいっこ?」
「おいっこらしいです」
「おいっこかい。まあでもおいっこってまあ年代はさ、子どもみたいなもんじゃん」
「そうっすね」
「うん」
「ちょっとモンゴル兄弟多そうですけど」

「まそうだね、年の差あるとちょっと複雑なんですけど」
「うんうん」
「うん」
「まあでもそれぐらいの違いがあります、オーパスとハイクの消費量」
「うわーすごい」
「なんで簡単な質問はハイク4.5に任せて」
「はい」
「えー超難問はオーパス4.5」

「うん」
「か、Codex5.2」
「Codex5.2、はいはいはい」
「Codex5.2は最近ちょっと評判いいっすね」
「うーん」
「X見てる感じ」
「うん。その三つぐらい、はい」
「で、あと、いや俺、俺バランス的にはね、ソネット4.5いいんじゃないかなって思ってますね」

「うんうんうん」
「ほう。これはなんか消費量中間で、なんか扱える何度も中間みたいなイメージがある。さっきのやつの」
「うん。ふーん」
「なんで僕は多分ソネット、もうちょいソネットに頼ればもう少し長持ちさせれるんじゃないかなって実感している」
「うんうんうん。とはいえそのなんかむずいやつ、重いタスクとかは別にできないことはないですよね?できないことがあるんですか、ソネットだと」
「いや、えっとね、できないことはないけど、ストレスを感じることはあると思う」
「うーん。なんでそうやっちゃうの?みたいなとこ」
「できないことありません?」

「え、うそ」
「なんか堂々巡りになりやすくないですか」
「えー」
「低いモデルのほうが」
「あんまりなんか堂々巡りみたいなのになったことないんだよな。あれかな、まだコードベースとかビジネスロジックがそんな複雑じゃないのかもしれない」
「うーん。あ、じゃ、ちなみになんかその重たいモデルを使うときに、の、のりさんのモチベーションってなんなんですか。そのソネットとかでも解決できるんだとしたら」
「えーと」
「あ、こんなコードを書けるんだみたいな、なんか感動というか」

「あー質が違うんすか、解決策の」
「なんか信頼感が違うね、なんか」
「うーん」
「あと、オーパス、俺個人的にはデザインセンス一番あるんじゃないかなと思ってる」
「あ、UIの?」
「うん」
「へー」
「なんか出来上がったUIがなんか、お、これいいじゃんみたいな。俺が作るよりいいよってなる」

「そうなんだ」
「うん。ま、そう、こ、まあでもね、結構クロード尽くしですね、最近はそのモデルの切り替えっつっても」
「うんうんうん」
「一応、あのさっきジェミニに聞いた感じ、あのージェミニ3とかもすげーコンテキスト処理できるから超長文、長文脈のときは向いてるよって言ってましたね」
「うーん」
「でもほんとかなってうっすら思っている」
「そうなんだ」
「まあでもね、そうですよね。コンテキスト量とんでもないですからね、ジェミニはね」

「まあそうそうそうそうそう」
「オーパスの四、数倍ぐらい?四倍とか?」
「結構あるよね」
「すごい」
「ちょっと正確な数字は言ってくださいですけど」
「うん。で、あとなんか日常的な修正はコンポーザーワンってのを使うといいよってのが言われてて。このコンポーザーワンは、あのCursorが独自で出してるモデルなんすよ」
「うんうん」
「なんで、えーめっちゃコスパいい」

「うーん」
「で、特徴としてはね、爆速」
「うん」
「く、くそ速いこいつコード書くの」
「うーん」
「なんだけど、俺は個人的にはこのモデルめっちゃアホだと思ってて、あんま使いたくない」
「はいはいはい」
「なんかすげーとんでもない、なんかミスしたりとか」

「うん」
「え、ほかのコードベースと全然違うじゃんみたいな、なんかじゃじゃ馬みたいな動きしてくるんで。あんま積極的には使ってないんだけど、日常の修正はなんかコスパいいよみたいなのは言ってた」
「うーん」
「そうなんだ」
「まあコメントじゃねえけど、なんか、なんだ、ちょっと文字変えるとか?」
「まあ」
「そんなんね、手でやってもいいしね」
「まあそれもそうだな。あーそれもそうなんだよな」

「うん」
「まあでもそういうタスクはコンポーザーワンがいいかもよっていう話ですね」
「うーん」
「なるほど」
「コンポーザーワン使うなら純平使ったほうがいいですかね、じゃあまだ」
「いやまあ純平使うなら俺はコンポーザーワン使うかな」
「信用な」
「無理なんだ。もう僕やってけないんだ、エンジニアとして」

「あのー作業タスクはね」
「はいはいはい」
「作業ってなるとやっぱね、コンポーザーワンになっちゃうから」
「あー負けたか。そっかー。ちょっと頑張りますわ」
「そうだね。やっぱ人間は上位レイヤーのほうの作業できるようになってかないとやばいと思うわ」
「あー分かりました、はい。今ので身にしみました」
「こいつ多分ね、寿司代やらせたらとんでもないことになると思う」
「確かにね」

「あの速さなら」
「うん、それそうだな、確かに」
「あー。はい」
「ま、というのでまとめると、えーまずこまめに新しいチャットを立ち上げると」
「うん」
「で、コンテキスト圧縮するために必要な行を指定したりとか、えーイグノーできるようなファイルあるんだったら、まあそれを使ってイグノーして」
「うん」
「で、あとはもしルール設定するなら、最新モデル使ってるならもうちょいシンプルな、えーとルールのほうがいいですよっていうのと、えー汎用的な質問はジェミニに使、ジェミニとかチャットGPTとかそういうのを使って、あとはタスクに応じてモデルを使い分けましょうっていうので、えー節約ができるそうなんで。えーちょうどね、あのこれ撮ってるの今二月一日なんですけど、そろそろ僕のCursorが復活するんで、一旦これで実験してこうかなと思ってるんですけど」

「うん」
「まだ実験できてないんですよ」
「まあでもいい、いいんじゃないですか。その二月がね、一年で一番ハードル低いんで」
「確かにな。日数短いな。まあでも今月、いや今年の二月はでも格が違うからやっぱ。二十八まであるから」
「いやいや普通じゃん、二十八は」
「段違いだよ、今年の二月は」
「ちょっとください、二十八って言いました。普通じゃないですか。どういうこと?」
「え?あ、二十九までだっけあれ、長いときって」

「うるうう年は二十九っすよ」
「あ、じゃあめちゃめちゃだめだ。一番やりやすいわ」
「はい」
「一番やりやすい」
「普通」
「あー普通」
「例年どおりの二月です」
「普通の二月でした」

「はい」
「はい。ちょっとまずはこの普通の二月からクリアしていこうと思います」
「そうですね」
「はい」
「ちなみにあれなんすけど、その会話のコンテキスト履歴を全部渡すじゃないですか。でもなんか」
「うん」
「Cursorって設定でその会話の履歴を何トークンまでにしするみたいな設定とかってできないんすか」
「できそう。あれ、あ、なんだっけな。えーとちょっと分かんない。会話のトークンを設定できるかどうかはちょっと分かんないんだけど」

「うん」
「えーとエージェントループの回数とかの上限とかを指定できたはず」
「うーん。なるほど」
「だから、あーいけんのかな。ちょっとこれはね、調べないと分かんないですね。これ調べたらこのエピソードの価値が上がるぞ」
「うーん、なんかトークン渡すマックス数、設定できそうな気がするんすよ、なんか」
「いやなんかあんま書いてないな」
「うーん」
「書いてないけど。あとこれAIオーバービューだからちょっと合ってるかどうか分かんないんですけど、一応長い会話は、あのー安いAIモデルを使って要約して、えートークン消費を抑える仕組みは存在してるらしいっす」

「へー」
「が、上限を制限しますよみたいなやつはなんかあんまり見つからないな」
「うんうん。まあなんかトークン使わせたいはずですからね、普通に考えたら」
「うんうん」
「確かに」
「ん?うん」
「ビジネス的には」
「うん。でもCursorはそれで儲かるのか」

「儲かるんじゃないですか、そのプラン足んなかったら」
「うん」
「プラン上げてくれるから」
「いやなんか、今って多分競争の時期だからさ」
「うんうん」
「ほかのエージェントよりこっちのほうがいいじゃんって思わせるほうがなんかビジネス的にメリットありそうだなっていう、なんか変なケチ、ケチな節約するより」
「あー目先のあれより、長期的にユーザーが離れていかないようなシステムのほうがっていう」
「そうそうそう。で、シェア取ってからじゃないとなんかそこの節約あんま効かなそうだなってのもちょっと思ったけど」

「うんうん」
「ま、ていうので早めに使い切ってしまってつらいという人はね、ちょっと今日のテクニックを使ってみて長持ちになったよっていう声が聞けたらうれしいなっていう感じでございます」
「はい」
「はい。ありがとうございます」
「はい」
「節約していきましょう。じゃあ最後に」
「はい」
「ちょっと時間がな、長くなってしまったんで手短に順ページイングリッシュお願いします」

「お」
「はーい、エブリワン」
「はい、ガイス」
「トゥデイズジュンズイングリッシュ。イェーイ」
「オーケーオーケー」
「ジュンズイングリッシュだった。イェーイ。見てください、今日フィリピンでネイルをしてきました」
「おー、ネイルしてる」
「なにそれ」

「なにしてんすか、僕分かんないすけど。ピッカピカだね」
「うん、ピッカピカのネイルしてきました」
「これを」
「はい」
「そんなことはよくてですね、本日のイディオムいきたいと思います」
「はい。イディオム」
「はい」
「えー、いきますよ」

「はいよ」
「ワードオブマウス」
「ワードオブマウス?」
「はい」
「ワードオブマウス」
「ワードはあの単語」
「マウスって、ふ?」
「ス、マウス」

「あー」
「口ですね」
「ことわざ」
「違います」
「違います」
「じゃ直訳すると口の単語ですよね?」
「そうですね」
「お前分かりやすいな。お前ワードオブマウスだなって」

「いや違いますね」
「違いますか」
「口の使い方ではないですね」
「えー」
「むずいっすか」
「めっちゃむずくない?」
「ます」
「ま、口の形がお前、アルファベットになってるぞみたいな」

「口の言葉、口から出る言葉。うーん、口は災いの元」
「いや違いますね」
「うん」
「災いは口の元」
「違いますね。なんだろうな、なんていうのがいいのかな。結構これ」
「すごい」
「みんな頼りにすると思います」
「チャットGPT」

「あー、ある意味正解」
「ある意味正解?」
「はい」
「えー?」
「いや」
「ある意味正解?」
「いや、忘れてください」
「はい」

「はい。単純にチャットGPT頼りになるよなっていうだけです」
「頼りになるやつ?」
「みんな頼りにすると思いますよ、これは。すごい、特に昨今の時代では非常に重要視されてると思います」
「言語化能力」
「な、なんですか」
「言語化能力が高いやつ」
「あー大事ですけど違います。例文いきますか」
「うん」

「Ourbusinessgrewslowwordofmouth」
「途中なんて言った?」
「なんとか、ま、このワードオブマウスで事業が成長した、拡大したとか」
「新規性?」
「いえ。もっとなんか」
「営業パワー」
「違います。えっとー」
「人をだまして」

「だましません。口はなんか、口なんですよ、そのまま。口の言葉」
「影響力とか?」
「これが、いえ」
「あー影響力?」
「あー」
「インフルエンサーの口達者」
「まあでもある意味そうか、影響、影響するわけですよね、これ。うーん、ワード、口の単語、口の単語。口から出る単語っていうのは」
「言霊」

「言わず、うーん、すでに経験済みなんですよね。経験済みで、それをこうみんな頼りにしている。なんか、なんでインフルエンサーとかは、うん、そういう、インフルエンサーがそういうことを言ってたらやっぱりおーってなりますね。あ、信じられるとか。なんかむずいな。うーん、あのこれは見ますよ、見ます。画面上で見たりします。てか見ますね、画面上で」
「え、ワードオブマウス自体を?」
「はい。めちゃめちゃ見ると思います」
「日本でってこと?」
「世界中で」
「世界中で?」
「はい」
「動画配信?」

「いえ」
「いやーこれちょっと分からんな。もう時間切れ感があるかもしれない」
「テキストコミュニケーション」
「あー、うー、いやー違う」
「食べログとか」
「口コミや」
「口コミかい」
「はあ。なるほどね」

「あー口コミです」
「あーうわいけたかー」
「これは口コミの口」
「えってかすごいね、それどっち先なんだろうね、口コミとワードオブマウスって」
「いや確かに、ど、そ、どうなんでしょうね。なんかこれはでもしっくりきません」
「そう。コミってワードなんだ」
「口コミってなんだろうね。調べよう」
「確かにもともと口コミってなんなんだろう」

「コミって知らないよな」
「コミュニケーション」
「日本語っぽくないよな」
「おー。マスコミをもじった語」
「あーえ?マスコミ、口の」
「口の、口コミ、あーそういうことね。やられるマスコミ」
「口コミュニケーションだ」
「の造語で口コミ」

「へー」
「うん」
「はい。これも昨今めちゃめちゃ大事ですね」
「なるほど」
「そうだねー」
「はい」
「いや、いいな、なんかギリ。ギリというかなんか、き、聞く、聞きうる」
「うん」

「用語、ちょうどいいね」
「確かに」
「ありがとうございます」
「腑に落ちるわ、しかもこれなんか、あー確かになーって感じだわ」
「うん」
「うーん」
「そっかー、頭が硬かったなー」
「はい、一問でおしまいですかね、今日は」

「うん」
「はい、じゃあお願いします、締めお願いします」
「オーケー。えーこの番組では皆様からの感想や質問を、えー募集、募集しております。Xではハッシュタグ、ひまじんプログラマーで投稿していただくと、僕らがエゴサーチを、エゴサーチをして、えー見つけに行きますので、えーワクワクして待っていてください。そして」
「エゴサーチされるの?どういうこと?」
「エゴサーチされるのをワクワクして待っていてください」
「はい。じゃあまあエゴサーチしたらいいねとか押しますね」
「あ、僕押してますよ、でも」
「うん」

「はい。で、あと、えーと、何かこう僕らに質問したいこととか、えーなんか感想があった場合とかは、えーとエピソードの、エピソードの概要欄、え、エピソードの説明欄、エピソードの概要欄にGoogleフォームのリンクが設置されてますので、そちらからお気軽にお送りください」
「はい」
「はい」
「じゃんじゃんお願いします」
「じゃんじゃんお願いします。さらにSlackオンラインコミュニティ、ひまプロ談話室では、えーたくさんのエンジニアが集まって日々切磋琢磨をしております。もしこの中に入ってエンジニア友達、わいわいわーいってやりたい方は、えーと番組の、こちらは番組の、えー説明欄のところに、えーGoogleのフォームが付いてますので、そちらからお申し込みいただければ、後日招待メールが飛びますので、えーお気軽にこちらもご参加ください」
「フォーム見つけられなかったら最悪お便り送っていただければ最悪招待できると思います」
「うん、ですね。ま、結局メールアドレスが分かるからね」
「うん」

「あ、分かるんだっけ?」
「分かるはず」
「うん。はい、お願いします。で、えー最後に、このポッドキャスト番組は各種プラットフォームで配信しておりますので、えー良かったよとか参考になったよって方はぜひともプラットフォームのところから評価していただけるとうれしいです」
「何卒」
「お願いします」
「それではまた次回」
「ばいばい」
「ばいばい」

「ある夜ね、いつものようにラジオのお便りのチェックをしていたんですよ。そしたらね、夜なのにね、お便りの通知がね、ぽーん、ぽーんってなってね。こんな時間におかしいなー、おかしいなー、おかしいなーと思って。リスナーも寝てる時間のはずなのになーって思って、メールフォルダー開けたらね、うわー」
「番組では、叫ぶほどたくさんのお便りをお待ちしております」