AIパーソナル・ラーニング
と実践的なガイダンス

1時間でカーソルをデビンに変え、その違いを学ぶ!

この記事は、インテリジェントAIの理解と導入に関するシリーズの一部である:

 

前回の記事では、完全自動プログラミングが可能な知的ボディAI、デヴィンについて説明した。カーソルや ウィンドサーフ Devinのような他のインテリジェント・ボディAIツールと比較して、工程計画、自己進化、拡張ツール使用、完全自動化オペレーションにおいて中核となる強みがある。このため、Devinは次世代ツールのように見え、既存の知的ボディAIツールとは一線を画している。


しかし、しばらく使っているうちに、私の「ビルダー精神」が再燃し、Devin 90%の機能を実装するためにWindsurfとCursorを改造するように促されました。私はまた、これらの改造をオープンソース化し、CursorやWindsurfをわずか1分でDevinに変換できるようにした。この記事では、これらの改造がどのように行われたかに焦点を当て、この例がインテリジェントAIの時代にいかに効率的な構築とスケーリングが可能かを実証する。議論を簡単にするため、このようなツールを指すときはCursorを使うことにする。最後に、Windsurfを使いたい場合、どのような微調整が必要かを説明する。

アーティファクト 工程計画 自己進化 ツール・エクステンション 自動化された実装 物価
デヴィン あり(自動、完全) あり(自習) 十分 アジュバント $500/月
カーソル(修正前) 制約 詰り 限られたツールセット マニュアル確認 $20/月
カーソル (変更) デビンに近い。 であります デビンに近く、拡張性がある 確認または回避策が必要 $20/月
ウィンドサーフ(修正) デビンに近い。 そうだが、間接的に デビンに近く、拡張性がある Dockerコンテナでの完全自動化のサポート $15/月

 

工程計画と自己進化

前の記事で述べたように、デヴィンの興味深い点は、組織化されたインターンのように振る舞うことだ。まず計画を作成し、実行しながら計画の進捗状況を更新し続けることを知っている。これにより、私たちAI管理者は、AIが当初の計画から逸脱するのを防ぎつつ、AIの現在の進捗状況を把握しやすくなり、より深い思考とタスク完了の質を高めることができる。

この機能は印象的に見えるが、実際にはカーソルを使って非常に簡単に実装できる。

カーソルの場合、開いたフォルダーのルート・ディレクトリーに、次のような名前のファイルがある。 .cursorrules 言い換えると、このファイル内のすべてが、バックエンドAIに送信されるプロンプトの一部になる(GPTやGPTなど)。このファイルの特別な点は、Cursorがバックエンドの大きな言語モデルに送信するプロンプトを変更できることです。言い換えると、このファイル内のすべてがバックエンドのAIに送信されるプロンプトになります(たとえば、GPTやGPTなど)。 クロード)はプロンプトの一部である。これによって、カスタマイズの自由度が大きく広がった。

例えば、カーソルと対話するたびに、カーソルがプランの最新版を受け取るように、プランの内容をこのファイルに入れることができる。また、タスクの開始時に計画を考えさせ、各ステップの後に計画を更新するなど、より詳細な指示をこのファイルに与えることもできる。Cursor はエージェントを使用してファイルを変更することができます。 .cursorrules それ自体がファイルで、閉じたループを作る。毎回ファイルの中身を自動的に読み込んで最新のアップデートが何かを調べ、反映されたら、更新された進捗状況と次のステップをこのファイルに書き込むことで、常に最新のアップデートが得られるようになっている。

同様のアプローチで、自己進化する機能を実現することができる。それは .cursorrules ファイルでは、ユーザーによって修正されたときにカーソルが間違いを反省し、記録すべき再利用可能なレッスンがあるかどうかを検討するために、いくつかのプロンプトを追加する。もしそうであれば .cursorrules ドキュメントの関連部分。こうして、プロジェクト特有の知識が蓄積される。

典型的な例として、現在の大きな言語モデルの多くは、知識のデッドラインが比較的早いため、GPT-4oモデルを知らない。彼らにGPT-4oを起動するように頼むと、タイプミスだと思って'o'を削除してしまう。しかし、もしあなたが「このモデルは実際に存在する。 .cursorrules そして同じ間違いを繰り返さないようにする。しかし、これはやはりプロンプトが効果的であるかどうかにかかっている。時にはプロンプトがポイントを見逃すこともあるし、私たちが認識しているはずの知識が記録されていないこともある。この場合、自然言語を使ってプロンプトを表示し、そのポイントをメモするよう直接指示することもできる。このような直接的なアプローチによって、AIは経験を積み、成長することもできる。

したがって .cursorrules ファイルといくつかのプロンプトのトリックを使えば、デヴィンの印象的なプロセス・プランニングと自己進化能力を、既存の知能AIプログラミング・ツールに加えることができる。

ウィンドサーフを使用する場合、1つだけ異なる点がある。 ウィンドサーフルール ファイルに分割する必要がある。したがって、このファイルを2つの部分に分割する必要がある。 スクラッチパッド.md.で ウィンドサーフルール ドキュメントでは、それぞれの思考プロセスの前にスクラッチパッドをチェックし、そこでプランを更新するべきだと述べた。この間接的なやり方は、直接スクラッチパッドに書き込むのに比べると、あまり良くないかもしれない。 .cursorrules それでもAIがエージェントに電話をかけ、フィードバックに基づいて考える必要があるため、実際には機能する。

 

拡張ツール使用

Cursorに対するDevinの主な利点のひとつは、より多くのツールを使用できることだ。例えば、ブラウザを呼び出して検索したり、ウェブをブラウズしたり、さらにはビッグ・ランゲージ・モデルのインテリジェンスを使ってコンテンツを分析するために自身の頭脳を使うこともできる。Cursorはデフォルトではこの機能をサポートしていないが、Devinでは .cursorrules カーソルのプロンプトを直接制御し、コマンド実行機能を持つことで、もうひとつの閉じたループが生まれる。Pythonのライブラリやコマンドラインツールなど、あらかじめ書かれたプログラムを用意し、それを .cursorrules このような道具を導入することで、その道具の使い方を即座に学び、自然に理解できるようになる。

実際、ツール自体はCursorを使って1、2分で書くことができる。例えば、ウェブブラウジング機能については、オープンソースプロジェクトでリファレンス実装を提供している。JavaScriptを多用するウェブサイトでは、Pythonのリクエスト・ライブラリの代わりにplaywrightのようなブラウザ自動化ツールを使うなど、注意すべき技術的な決定もある。さらに、大きな言語モデルとのコミュニケーションを良くし、後続のコンテンツを理解しクロールしやすくするために、単に美しいスープを使ってウェブページのテキストコンテンツを抽出することはしない。その代わりに、一定のルールに従ってマークダウン形式に変換し、クラス名やハイパーリンクなど、より詳細な基本情報を保持することで、ビッグ・ランゲージ・モデルが後続のクローラを記述する際に、より基本的なレベルでサポートできるようにしている。

同様に、検索ツールに関しても、ちょっとした注意点がある。BingとGoogleの両社は、APIとウェブ・インターフェースを扱う異なるチームの歴史によるところが大きいのだが、API検索はクライアント側の検索よりもはるかに品質が劣っている。しかし、DuckDuckGoにはこのような問題はないので、我々のリファレンス実装ではDuckDuckGoの無料APIを使用している。

Cursorが自身の頭脳を使うことについての詳細な分析は、比較的複雑である。一方では、Cursorはこの機能をある程度持っている。これらのツールの両方で、ウェブページのコンテンツを標準出力にプリントすると、Cursorがビッグ・ランゲージ・モデルに送るプロンプトの一部となり、そのテキストコンテンツをインテリジェントに分析することができる。しかし別の観点から見ると、DevinはCursorにはできない方法で、ビッグ・ランゲージ・モデルを使って比較的大量のテキストをバッチ処理するユニークな能力を持っている。この機能を持たせるために、私たちは追加のツールを実装しました。非常にシンプルで、システムにAPIキーをあらかじめ設定しておくだけです。そして、ツールがGPTやClaude、あるいは私たちのローカルのビッグ・ランゲージ・モデルAPIを呼び出し、Cursorがビッグ・ランゲージ・モデルを使用してテキストをバッチ処理できるようにします。私のリファレンス実装では、私自身のローカルvllmクラスタを使用していますが、変更するのはとても簡単です - base_url行を削除するだけです。

しかし、このような修正を加えても、カーソルの限界により、2つのツールを実装することはできない:

  1. しかし、カーソルの制限により、画像をバックエンドのAIに入力として渡すことはできない。
  2. Devinは不思議なことに、データ収集の過程でクローラー対策アルゴリズムにボットとしてフラグを立てられることはないが、我々のウェブ検索ツールはしばしばCAPTCHAに遭遇したり、ブロックされたりする。これは修正可能かもしれないし、まだ模索中だが、Devinのユニークな強みのひとつであることは間違いない。

完全自動実行

最後の興味深い機能は、完全自動実行だ。Devinは完全に仮想化されたクラウド環境で実行されるため、大きな言語モデル攻撃や危険なコマンドの誤実行を心配することなく、あらゆる種類のコマンドを安全に実行させることができる。システム全体を削除しても、新しいコンテナを起動するだけですべてが元通りになる。しかし、Cursorをlocalhostシステム上で実行することは、重大なセキュリティ・リスクとなる。そのため、Cursorのエージェント・モードでは、各コマンドを実行する前に手動で確認する必要がある。これは比較的単純なタスクであれば許容できるが、洗練されたプロセス・プランニングと自己進化機能を持つ現在、Cursorは長期の複雑なタスクも処理できるため、この対話方法はCursorの機能には不向きと思われる。

これに対処するために、Cursorをベースにした解決策はまだ見つかっていませんが(更新:2024年12月17日、CursorはYolo Modeと呼ばれるこの機能も追加しましたが、まだDockerでの開発をサポートしていません)、Windsurfはこの点を考慮しており、そのデザインから、当初からDevinのような製品形態を目指しており、現在のコードエディタは中間的な形態です。具体的には、WindsurfはDockerコンテナに直接接続して、その中で実行する機能を持っています。また、設定ファイルがあれば、新しいDockerコンテナを起動して、初期化を行い、ローカル・フォルダをマッピングすることもできます。そのため、ローカル・フォルダの変更を除くすべてのコマンドはDockerコンテナ内で実行され、ホスト・システムに影響を与えないため、セキュリティが大幅に向上する。

その上、ブラックリスト/ホワイトリストのメカニズムが導入されており、ブラックリストにあるコマンドは自動的に拒否され、ホワイトリストにあるコマンドは許可される。リストにもブラックリストにもないコマンドについては、大きな言語モデルがホストシステムにリスクがあるかどうかをインテリジェントに判断する。例えば、フォルダー内のファイルを削除したい場合、ユーザーに確認を求めるが、次のようなコマンドは許可されない。 ピップインストール このような汎用コマンドは直接許可される。なお、この機能はDockerコンテナで実行する場合にのみ有効になるようだ。ホスト・システム上でコマンドを実行する場合は、やはりCursorと似たようなエクスペリエンスになり、頻繁な確認が必要になる。さらに、自動コマンド実行は設定で有効にする必要がある。

概要

このように、Devinの製品形態とデザインコンセプトは確かに非常に高度であるが、技術的な障壁の観点から見ると、既存のインテリジェンス向けAIツールとのギャップは思ったほど大きくないことがわかる。月額15〜20ドルのCursorやWindsurfといった一般的なツールを使えば、1時間もかからずにDevin 90%の機能を実装し、これまで不可能だった複雑なタスクを実行するために使用することができる。例えば、私はCursorに過去5年間の人気ハイテク株のリターンを分析するタスクを割り当て、綿密なデータ分析を行いましたが、非常に詳細で包括的なレポートを提供してくれました。また、ウィンドサーフに私のブログの上位100記事の公開時間を取得し、GitHubの貢献度チャートの形で視覚化するよう依頼したところ、完全に自動で行ってくれました。このような作業は従来のCursorやWindsurfではできません。Devinにしかできませんが、このような簡単な修正を加えるだけで、月額500ドルのツールの成果を月額20ドルのツールで実現できるのです。フロントエンド開発に全く慣れていない開発者として、フロントエンドとバックエンドの両方でジョブボードを作成するのに1時間半を費やしました。このような効率性は、Devinに近い、いや、Devinより優れている。

最後に、この記事で紹介したファイルはすべて デビン・カーソルルール ダウンロード - 現在のプロジェクトフォルダにコンテンツをコピーしてお使いください。

無断転載を禁じます:チーフAIシェアリングサークル " 1時間でカーソルをデビンに変え、その違いを学ぶ!

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語