見出し画像

ChatGPTの大幅アップグレード - 『Canvas』の紹介

7,321 文字

ほんまについ昨日、ChatGPTが「Canvas」っちゅう、めっちゃすごい新機能をリリースしたんや。この機能は、Claudeのアーティファクトみたいなもんで、いろんなことができるんやけど、今日はそれについて詳しく見ていくで。
Canvasの考え方としては、ChatGPTと新しい方法でコラボレーションするっちゅうことやな。プロンプトを入力すると、ただ単一のチャットになるんじゃなくて、別のウィンドウが開いて、そこでテキストやコードの特定の部分を編集したり、更新したり、コメントを追加したりできんねん。めっちゃええ機能やで。
せやから、まずは簡単に説明して、それからみんなで使ってみるわ。
もう全員がCanvas付きのChatGPTにアクセスできるんやけど、ほんまにええなと思うんは、「もうすぐ使えるようになります」とか言わんと、発表した日にそのまま公開してくれたことやな。
ドロップダウンメニューをクリックすると、「GPT-4oとCanvas(ベータ版)」があるんや。今んところ、ProかEnterpriseのアカウントを持ってる人全員がアクセスできて、ベータ版が終わったら、無料ユーザーも使えるようになるらしいで。
Canvasが主に役立つ使い方は、文章作成とコーディングの2つやな。もちろん、コーディングの方も試してみたいから、あとでやるで。
面白いと思ったんは、実際にGPT-4oをコラボレーション用に訓練したらしいねん。これは単なるGPT-4oモデルにコードのラッパーをつけただけやのうて、Canvasを使うタイミングを認識する、ちょっと違うバージョンのGPT-4oなんや。
文章作成の場合は、編集の提案、長さの調整、読解レベルの変更、最終的な洗練、絵文字の追加ができるんや。コーディングの場合は、コードのレビュー、ログの追加、コメントの追加、バグの修正、別の言語への移植ができるんやて。めっちゃええやん。
そして、さっき言うたように、GPT-4oはCanvasを使うように訓練されてんねん。そのために、文章作成とコーディングのためにCanvasを起動するっちゅう基本的な動作を開発したんや。それに、多様なコンテンツタイプの生成、ピンポイントな編集もできるんやで。つまり、出力全体をやり直すんじゃなくて、コンテンツの特定の部分だけを選んで更新できるんや。
せやから、これから使ってみて、どんなもんか見せたいんやけど、その前にちょっと言いたいことがあんねん。ChatGPTをベースに作られてる会社は、ちょっと心配せなあかんのちゃうかなって思うんや。
OpenAIっちゅう会社は、ずっと自分たちをプラットフォーム企業やって言うてきたんや。つまり、他の開発者に素晴らしいAIアプリケーションを作るためのツールを提供するっちゅうことやねん。でも、もし私がAI企業やったら、これを見てちょっと心配になるわ。
これ、私が前の会社で経験したことにめっちゃ似てんねん。前の会社では、Twilioっちゅう会社の上にたくさんのインフラを構築してたんや。Twilioは電話サービスを提供してて、ほんまにプラットフォーム企業やった。APIを提供するだけやったんや。でも、それも最後まではそうやなかったんや。
うちはTwilioを使って、SMSや電話とかを使ったソフトウェアを全部作ってたんやけど、ある日、Twilioが急に競合し始めたんや。自分たちのプラットフォームの上に何か作り始めてな。
このチャンネルをよく見てる人は知ってると思うけど、プラットフォームリスクについて話したことあるやろ。他の人のAPIの上に自分のビジネス全部を構築したら、プラットフォームリスクがあんねん。相手が方針を変えたり、価格を上げたり、直接競合し始めたりする可能性があんねん。だって、めっちゃ成功しているビジネスモデルを見たら、そうするかもしれへんやん。彼らがそうするのを止められへんのや。
実際、彼らはめっちゃすごいデータを手に入れるんや。プラットフォームの上に会社が何を作ってるか全部見えて、その中から一番ええのを選んで再現できんねん。これ、プラットフォーム企業の定番のやり方やで。
せやから、今Canvasを見てると、ContinueとかAIベースのIDEとかは今ちょっと心配せなあかんのちゃうかなって思うんや。これ、基本的にはそういう会社と競合し始める最初の一歩やからな。
まあ、そんなところやけど、OpenAIの上に何か作ることのプラットフォームリスクについて、どう思う?コメントで教えてな。
せやけど、もうええわ。GPT-4oとCanvas、使ってみよか。まずは、スネークゲームを書いてもらおうと思うんやけど、一つ言っとかなあかんのは、Canvasはコードを実行せえへんねん。たぶんアーティファクトはできるみたいやけど、これはできひんのが一つの欠点やな。
ほな、ここやで。別の小さなウィンドウが開いて、コードエディタみたいになってんな。削除したり、簡単に戻したりできるし、ここに実際の会話があんねん。でも、コードの大部分は別のウィンドウに移動してるから、めっちゃ見やすくなってんで。
スネークゲームがあるけど、実行はでけへんし、それがこの動画の目的やないから、せえへんけどな。でも、この色はちょっと...せやから、ここを強調表示して、右下にあるいろんなオプションを見てみよか。コメントの追加、ログの追加、バグの修正、別の言語への移植、コードレビューがあるな。
でも、それはせえへんで。強調表示して、「Ask ChatGPT」をクリックして、「この色を他のに変えて」って言うてみるわ。
おっ、ええやん。色だけ変わって、他は全部同じや。ここに小さな編集の更新が表示されてるし、「色を新しい濃淡に変更して、もっとバリエーションを持たせました」って書いてあるわ。
これが基本的な使い方やな。他にも、例えばpygameを強調表示して、別のライブラリを使うように言うこともできるで。そうすると、アプリケーション全体がめっちゃ変わるんやけどな。
「別のライブラリを使って」って言うてみるわ。おっ、ええやん。今度はturtleを使ってるし、コードの多くの部分を変更せなあかんかったんやけど、それも分かってやってくれてんな。めっちゃええやん。
コードが変わるときの小さなアニメーションもええな。「pygameの代わりにturtleライブラリを使うようにコードを更新しました。他に変更が必要なら教えてください」って言うてるわ。
これがどんな感じか分かったと思うけど、今のところコメントがあんまりないな。せやから、コメントを追加してもらおうと思うんや。まず、このコードの一部分にコメントを追加してもらおうか。
ここに来て、「コメントを追加」をクリックするだけや。あれ、間違うてた。自動的に文書全体にコメントを追加してもうたわ。これちょっと変やな。だって、この部分だけ強調表示したのに。でも、たくさんのコメントを追加してくれてるわ。
でも、これが気に入らへんかったとしよう。Pythonが好きやないとしよう。せやから、別の言語に移植してみるで。「別の言語に移植」をクリックして、見てみ。スライダーがあって、PHP、C++、Python(現在)、JavaScript、TypeScript、Javaがあるわ。JavaScriptにしてみよか。
これを選ぶだけで、JavaScriptに書き直してくれるはずや。簡単やな。できたわ。今度はJavaScriptになってる。次は、C++とかに移植してみようか。よっしゃ、これC++っぽいな。
この動画のスポンサーであるVultureに感謝します。世界最大の独立系クラウドプロバイダーの恩恵を受けられるで、GPUワークロードをVultureに持ってきたらな。
最新のNVIDIA GPUが6大陸の32の場所に広がってて、Vultureは業界をリードする価格対性能比と、めっちゃアクセスしやすくて信頼性が高いんや。Vultureのグローバルで完全に構成可能なクラウドインフラストラクチャは、アプリケーションをユーザーの近くに移動させて、ベンダーロックインから解放してくれんねん。自分のネットワークやデータベースソリューションを持ち込めるんやで。
単一のクラスターを超えてスケールアップする必要があるなら、Vultureのkubernetesエンジンを使えば、デプロイメントを完全にコントロールできるし、100%無料のコントロールプレーンも提供してくれんねん。
他のプロバイダーからGPUを待つのに疲れたら、Vultureを使ってみてな。すぐにどんなスケールでもデプロイできるし、H100sやL4sなどが今すぐ利用可能や。カードの一部か、完全に専用のベアメタルシステムを使えるから、ハードウェアとスループットを完全にコントロールできんねん。
高度な機械学習ワークロードに必要なすべてのアプリケーションをワンクリックでインストールできるから、数時間じゃなくて数分で準備できるんや。
せやから、Vultureの違いを体験してみてな。長い待ち時間や限られた場所に悩まされへんようにしてな。getvultr.com/bourmanにアクセスして、最初の30日間で300ドルのクレジットを無料で試してみてな。チェックアウト時にコードBourman300を使うのを忘れんといてな。
もう一度Vultureにこの動画のスポンサーになってくれてありがとうって言いたいわ。
さて、次はバグ修正を試してみよか。実際、よく分からへんからC++に戻すわ。Pythonに戻すわ。
今度はバグを追加してみよう。ここの「move_snake」で、「up」を2回使ってみるわ。これを見つけられるかどうか見てみよう。
ここに来て、「バグを修正」アイコンを探すわ。クリックして、何て言うか見てみよう。
面白いな。実際にコードの多くを変更してるわ。なんでバグを修正するのにそこまでせなあかんのか分からへんけど、本当にバグは1つだけやったからな。その1つを修正できたか見てみよう。
できたみたいやな。「下」の移動方向が間違って「上」に割り当てられてたんやて。
面白いのは、さっき言うたように、コードの多くを変更してもうたことやな。そんなことしてほしくなかったんやけど、まあええわ。もう一回「バグを修正」してみよう。どうなるか見てみよう。バグを見つけ続けるんかな。あるいは、プログラムされた方法で、常にバグを見つけるんかもしれへんな。
うん、確かにまたコードを少し変更してるな。特にここのメインゲームループで、かなり変更してるわ。
「コードをレビューして、壁に衝突したときにゲームが適切にリセットされへんバグを修正しました」って。
どうやら、ゲームの反復的な改善をバグ修正と同じように考えてるみたいやな。まあ、それでもええか。
次は、ログを追加してみよう。まず、強調表示した部分にだけログを追加できるか試してみるわ。どうなるかな...
あかん、どこにでもログを追加してもうたわ。コードを強調表示するだけじゃ、ChatGPTの機能を使う以外は何もせえへんみたいやな。
たくさんのログを追加してくれたけど、今度はログを削除してみよう。「ログを削除して」って言うてみるわ。
ほな、ログを削除してくれたみたいやな。
まあ、これはかなりええと思うで。最初はめっちゃ基本的なもんやけど、気に入ったわ。コードのイテレーションプロセスをここで行って、それからVS Codeに貼り付けるのは、間違いなくええ方法やな。
でも正直、これはContinueとか他のAI搭載のIDEがすでにやってることやな。まだまだ改善の余地はあるけど、AIコーディングアシスタントと競合する方向に向かってるのは明らかやな。
次は、クリエイティブライティングを試してみよう。どうなるか見てみよか。新しいチャットを始めるで。
「イチゴが知性を持つようになる話を書いて」って言うてみるわ。あかん、「intelligence」って間違えて書いてもうた。
ほな、ストーリーができたわ。予想通り、ページの新しいCanvas領域に出力されたはずや。
「このストーリーは、あなたが想像したものの本質を捉えてますか?何か変更したい部分があれば教えてください」って言うてるな。
普通と同じように、ここに入って削除したり追加したりできるわ。完全に編集可能やし、普通と同じように特定の領域を強調表示して「Ask ChatGPT」ができるんや。
でも、それは後にしよう。下のオプションを見てみよう。「編集を提案」「長さを調整」「読解レベル」「最終的な洗練」「絵文字を追加」があるな。
まず、「編集を提案」をやってみよう。これめっちゃええやん。
Google Docsみたいに、different 領域を強調表示して、小さなコメントを付けてくれるんや。受け入れるか拒否するかできるんやで。
ここには「読者をもっと効果的に引き込み、より強い雰囲気を作るために、設定のより鮮明な描写を追加することを検討してください」って書いてあるな。そうしてみよう。
そしたら、その部分を書き直してくれるはずや。ほな、いけるやん。
もう一回やってみよう。ここやな。
「ナノボットは生物の神経接続を強化するように設計され、赤い皮に点在する種子の間に巣を作りながら、イチゴの中に入り込んでいった」
この文は、なぜナノボットがこのように設計されたのかについて、もう少し説明があると良いかもしれません。やってみよう。
ほな、「元々は医学研究用に、脳機能を改善するために設計された」って追加してくれたな。背景のストーリーがもっと詳しくなったわ。ええやん。
他のは却下しよう。次は長さを調整してみよう。また、スライダーがあるな。
短くしたいから、こっちに動かすと、全体を書き直してくれるはずや。小さなアニメーションがついてて、めっちゃええな。
ほな、できたで。もっと短くしてみよう。一番短いとこまで持っていってみるわ。
もう一回やってみよう。また「長さを調整」して、もう一回一番短くしてみるわ。もっと短くなるんか、それとも同じ長さのままか、見てみよう。
おっ、ちょっと短くなったな。もう一回短くしてみよう。この機能の限界がどこにあるか見てみたいんや。
うん、まだ短くなってるわ。今度は長くしてみよう。
ほな、ええやん。他のも試してみよう。今の読解レベルは分からへんけど、そのままにしておいて、幼稚園レベルにしてみよう。
全部書き直して、もっと簡単な言葉や文法を使うはずや。
「ある日、特別な雨がいくつかのイチゴに降りました」
うん、めっちゃええ感じやな。
今度は読解レベルを大学院レベルに変えてみよう。
うん、確かにもっと長くて複雑な言葉を使ってるな。幼稚園生には絶対読めへんやろうな。めっちゃええやん。
もう一回幼稚園レベルに戻して、幼稚園レベルを選んだ後にもう一回幼稚園レベルを選んだらどうなるか見てみよう。
ほな、できたで。もう一回幼稚園レベルを選んでみよう。
うん、ほぼ同じやな。さらに基本的にはならへんかったみたいや。それも納得やな。
戻って、今度は高校レベルにしてみよう。
ほな、できたで。
次は絵文字を追加してみよう。
絵文字を追加する機能について面白いのは、ほとんど使えへんってことやな。まあ、それが exactly 求めてるものなら別やけど、なんでそんなことするんやろ?
Sam Altmanが昨日Twitterで面白い投票をしてたんや。「CanvasのADD EMOJIS機能は、OpenAIが今まで出した中で最高の機能ですか?」って。選択肢は「はい」と「はい」やったんや。もちろん、答えは「はい」やな。
ほな、絵文字を追加してくれたわ。
今度は「絵文字を削除して」って言うてみよう。
おっと、たくさんのエラーが出てきたな。ここに「雨」がいきなり出てきたり、どっかにスペルミスがあったような気がするんやけど、今は見当たらへんわ。たぶん修正してくれたんやろな。
最後に「最終的な洗練」を試してみよう。最初の「雨」のところを直してくれることを期待してるで。
おっ、直してくれたわ。ええやん。タイトルも追加してくれたし。これめっちゃええな。
.commをめっちゃ気に入ったわ。ちょっと問題を出してみよう。バグを修正してもらおうと思うんや。
コードを強調表示して、コピーするわ。問題は「初期化されていない変数とフィールド」や。
Canvasに戻って、「Canvasを使ってこのバグを修正して」って言うてみよう。実際にそう言わなあかんかどうか分からへんけど、やってみるわ。
よっしゃ、開いてくれたわ。「バグ修正: コンタクト」って書いてあるな。
まず、コードを書き出してくれてるわ。ええやん。
ここで、元のコードのいくつかの問題に対処したって言うてるわ。
「complete」プロシージャの「done」の初期化:「done」が明示的に false に初期化されていなかった。
「null」コンタクトの定義と「get by name」の初期化。
これらが修正する必要があったものみたいやな。
86行目の「c.name.length」を見つけたみたいやし、「contacts.complete」が初期化されていなかったのも。
見てみよう。うん、「complete」プロシージャを修正したみたいやな。
もちろん、厳密にチェックしてるわけやないけど、確かに問題を特定したみたいやな。
これが新機能のChatGPT with Canvasや。めっちゃええ感じやけど、まだまだ基本的なもんやな。でも、これを改良し続けていけば、他のたくさんのAI製品と競合することになるんちゃうかな。
それにしても、Canvasについてどう思う?OpenAIのAPI上に構築された会社のプラットフォームリスクについてはどう思う?
この動画を楽しんでくれたなら、ぜひいいねとチャンネル登録をお願いするわ。次の動画でまた会おうな!

この記事が気に入ったらサポートをしてみませんか?