それでは今日のメインのトピックに行こうと思うんですが、ごめんなさいもう一個別件を話したいというふうに思っております。
今日はループエンジニアリングについて話してみようと思うんですが、その前にちょっとだけ最近やったことについて話そうと思います。
それはCラインパスについてですね。
Cラインパスっていうのは、まあそもそもCラインっていうのはクロードコードとかコーデックスみたいに、いわゆるターミナルでコーディングエージェントを開いて何かパチパチってプロンプトを打って、
あとは事実的にコードを書いてくれたりとか何かツールを呼び出して作業してくれるっていうそういう開発環境みたいなものですが、
そのCラインが提供したサブスクですね。クロードコードもサブスクがありますし、GPGのコーデックスもサブスクがあると思いますが、
それと同じような形でCラインパスというサブスクが開始されました。料金は9.99ドルですね。めちゃめちゃ安くて、
かつ今キャンペーン中で、ちょっといつまでやってるか、ごめんなさい、把握してないって恐縮ですが、キャンペーン中は1.99ドルで月当たり使えます。
日本円にすると300円ちょっとですね。信じられない金額ですよね。
例えばクロードコードのプレミアムプランとかだと100ドルを超える金額ですが、キャンペーン期間中だと大体2ドルぐらいで使えますということで、すごい安いですよねっていうところなんですが、
使えるモデルは、例えばDeepSeaとかGLMとかKimiみたいに、基本的には中国系のオープンウェイトモデルが基本的ですね。
使ってみた感想なんですけれども、まずリミットは結構すぐ来ます。
イメージするとクロードの一番安いプランでソネットを使ってた時に、結構もう来ちゃったなみたいなイメージあると思うんですけど、それと同じぐらいですね。
メインで使ってゴリゴリ使ってしまうと結構すぐリミットに来るかなっていうところがあるので、
キャンペーン中1.99ドルとはいえ、プラスで重量課金する必要があるかなというふうに思います。
もう1個気になった点が、ハーネスがちょっと弱いかなというふうに感じたところです。
私がメインで今回使ったのはGLMの5.2っていうモデルなんですけれども、これは非常に性能が高いと安くて性能が高いという話題ですが、
このGLM5.2をCラインで使った時とカーサーで使った時で試したんですね。
カーサーでもいろんなモデルが選べるので、それで全く同じモデルにしてやってみたんですが、
10点満点でスコアリングした時に、CラインでやったGLM5.2が6点だとすると、カーサーでやると6.5点とか7点ぐらいまでのスコアのアウトプットが出てくるんですよね。
これはモデル自体は同じで、F4とかもどっちもMAX、一番上のF4でやった結果、いろんなタスクを試したんですけど、どれをやってもだいたい一段上ぐらいの性能が出るんですけど、
これはやっぱりカーサーが持っている、どういうふうにモデルの力を最大限に使うかというシステムプロンプトとか、その周辺のツール群の差だというふうに思うんですよね。
なので、そこがちょっと弱いなというふうに感じたというのがまず1点目と、
あとは、Cラインは単純にコーディングツールとしてだけ提供されているんですが、最近のクロードとかカーサーってそれだけじゃないですよねっていうのは改めて気づきました。
例えば、クロードでいうとクロードデザインとかクロードタグとか、あとはアーティファクトとかありますし、カーサーであればバグボットもあるし、クラウドエージェントもあるし、
例えばアプローブエージェントみたいなものがある中で、単純にAIコーディングツールだけだとすると、安いとはいえこれだけでなかなか完結とは言えないかなというところがありました。
ではどういう人がこのCラインパスを使えばいいかというと、メインでなることはないかなというふうに思っていて、
例えばですけど会社がAIツールにお金を出してくれない、自分のポケットマネーでなんとかやらないといけない、でもあんまりお金は出せないという時に使うであるとか、
あとは例えば会社ではクロードとかカーサーとかを契約しているんだけど、個人で何か使う時にできるだけ安く済ませたいという時に使うのがおすすめかなと思っていて、
いずれにせよ積極的に使う必要もないかなというところが私の結論です。
最新の中華系のモデルを使いたいのであれば、カーサー経由で全然やれば十分かなというところですし、
例えばカーサーを契約していなくてですね、それでも最近のオープンメイドモデルを試しにちょっと使ってみたいっていう用途においてはいいのかなというふうに思いますが、
それをやる場合においてもハーネスの差があるというところはちょっと認識しておかないといけないかなというところを付け加えておきたいと思います。
ということでループいくつか説明していきましたけれども、
もうちょっとその基盤となる考え方というか、
それをループがちゃんと回るようにするにはどうしたらいいかというところを付け加えると、
まず当たり前のことではあるんですけど、コードベースをきれいにしましょうということですね。
同じロジックがいろんなところに書いてたりしたら、
これどういうことだってエージェントも迷ってしまうので、
コードベースをきれいにしましょうというところもそうですし、
あとはクロードコードに自分がやりたい業務っていうのをちゃんと名分化して渡すということですね。
例えばスキル図にしておくとかクロード.mdにしておくみたいな形で、
自分がどういうことをやっていて、このプロダクトが何でどういうことを気をつけてやらないといけないのかっていうのを渡しておかないと
AIも判断することができないのでそういうことをやりましょうということと、
あとはコードレビューをするみたいなときに、
メインのエージェントでやってしまうと自分で書いたコードを自分でレビューするので、
バイアスがかかってるんですよね。
なのでコードレビューをするときはサブエージェントを呼び出してやりましょうということを
ちゃんとクロード.mdとかスキル図に書いておきましょうっていうのが大事ですね。
クロードコードで言うとスラッシュコードレビューっていうスキルがビルトインでされていると思うんですけど、
これを呼び出すとサブエージェントが起動してそれでコンテキストを1回なくした状態で
このコードが正しいかどうかっていうのをチェックできますし、
例えばカーサーで言うとバグボットとかでコードレビューすることができるので
そういったものを使って別エージェントでレビューを回しましょうというのが大事ですね。
最後にテストをちゃんと書きましょうっていうところも大事で、
コーディングエージェントって何か答えがある状態で書くとすごく強いんですよね。
ただコードってあまり答えがある状態のものではなくて
こういうことを達成したいっていうふわっとしたものを実装しなければいけないので
そういうこれが正しいのが正しくなるのかって判断するのは非常に難しいんですけれども
テストを書いておけばコードを実装したものがテストが通ればいいし
通らなかったらダメだっていうことが非常にわかりやすくて
ループが回りやすいので必ずテストを書きましょうっていうところが大事で
とりわけですね、TDDという開発スタイルがありますけれども
それをやってくださいっていうのをちゃんとクロード.mdに書いておくということですね。
具体的にはレッド・グリーン・リファクターでやりましょうっていうことをちゃんと書いておくということで
まずレッドっていうのはまずテストコードを書きましょうとコードを実装する前にで
その状態でテストを実行したらもちろんコードを実装してないので失敗しますよね
レッドですよねっていう状態で
次は実装して実装してもう一回テストを回したら
ちゃんと実装してたらグリーン要はテストがパスしました
テストやったけどまだレッドだったらまだ実装が間違ってるからまた再実装させて
みたいなことが時々的にもあると
最後にリファクタープロセスも入れないといけなくて
結構このレッド・グリーンをやるときに色々試行錯誤してコードがだんだん汚くなっていくんですよね
それを防ぐためにレッドでグリーンでコードが動くってなったら
リファクタリングコードをきれいにするっていうのを
自動的にやってくださいっていうのをエージェントに入れておくことによって
コードベースがきれいでかつゴール設定もあって
テストケースもあってみたいなところが作ることができるので
TDDテスト駆動は開発でやりましょうというのが非常に大事な観点です
ということでここまでエージェントループについて話してきたんですけれども
結論から言うといかに人間をこのループの外に出すかというのは非常に悲しいことであるんですけど
人間が一番ボトルネックで人間が支持しないとエージェントって動かないですよねっていう
当たり前のことをいかに排除して
人間がいない状況でいかに物事を前に進めるかっていうところが大事
自分がいかに介在しないで勝手に動かすか動くかみたいなところを考えるっていうのが非常に大事ですね
これを人間社会に例えるとすっごい大企業の社長みたいなイメージかなというふうに思っていて
この社長が例えば本当プレイング社長で自分で何か資料も作れば何かスケジュール調整も自分でしてみたいな場合って
なんかやってる感はあるかもしれないですけど会社の規模感からすると
いやそれあなたの仕事じゃないでしょうとかそれで会社って回るんですかみたいなことが起きますよね
そうじゃなくて大きい会社の社長っていうのはちょっと私大きい会社の社長やったことないので非常にバイアスがかったイメージであるんですけれども
いかに権限とか作業を部下部署に移情するかみたいなそれのスキルだと思うんですよね
なので自分で例えばスケジュールをやるんじゃなくて師匠をつけて師匠にそれをやってもらうとか
自分でリサーチをするのではなくてマーケティングチームみたいなのを作ってそのマーケティングチームの部門長に依頼をしてやってもらうみたいなことで
社長は何をするかというとすごい極端なこと言うと5分おきに会議設定があって
でその案件の部門長がこうやってきてこういうのやってるんだけどどうですかイエスノーで教えてくださいみたいな
これはイエスで次のまた案件がやってきてまたその部門長がいろいろ説明してそれはノーだな
こういうふうにやったらどうだみたいなことをアドバイスしてまたやってきてもらう
他のシーンで言うと今期の中期今期の売上目標はこれぐらいにしようというゴール設定をするとか
そういったことをやるんじゃないかなと社長は勝手に想像してるんですけど
それとこのエージェントループを回すということはほとんど同じかなというふうに思っていて
例えば今期10期の売上目標立てるみたいなのはさっき言ったゴールベースのループと同じですし
あとはその時間ベースのループで言うと毎日9時にそのスラックを見てみたいなやつ例で言いましたけど
それって例えば会議設定で毎週火曜日の10時からマーケティングチームとのミーティングがあるみたいなこれまさにスケジュールですよね
そこでミーティングをしてイエスの判断してじゃあまた1週間勝手にやってきてねって言ってまた次の週にやってきて
イエスの判断したり指示をしたりみたいなことをするみたいな
このまた来週って言ってる間って何も動いてないわけじゃなくてその部署の人がけんけんガクガクいろいろやってるわけですよね
でもそれでも会社が回っていて仕事が前に進んでいるっていうのはこのエージェントループと全く同じ話かなというふうに思っているので
このループっていうのを考え方イメージがちょっと難しいのであれば
自分が社長だとしてこれ大きい会社のすごい大企業の社長だとしてこの作業って自分でやる必要があるのかとか
部下に任せる部下っていうのはこのエージェントのことですけどもエージェントに任せるべきなんじゃないかということを
常に考えると自分がいかにボトルネックにならないで
でもとはいえ自分を全部排除しまったら自分の存在価値がなくなっちゃうので
社長もそうだと思うんですけれどもここぞっていう時は自分が介在してガッとやらないといけないわけですよね
ここぞっていう時に時間をとっておくために他の余計な作業をやってもらう
ここぞっていうのはどこかっていうのをちゃんと理解しておいて
そこはちゃんと介入してエージェントに指示するみたいなことを回すということが非常に大事なのかなというふうに改めて思いました