2024年9月12日にIntroducing OpenAI o1でChatGPTの新しいモデル o-1 が発表されました。発表されたばかりの o-1 を早速使ってみたので紹介します。
o-1とは?
今までとは何が違う?
簡単に言うとじっくり考えてから答えるようになったChatGPTです。じっくり考えることで推論の性能が各段に上がっています。プロンプトエンジニアリングでChains of Thoughtという技法があります。簡単に言うとプロンプトに「段階的に考えて」を含めることで精度が上がるというものです。この「段階的に考える」を自動で答えにたどり着くまで繰り返すのが o-1 です。
今までと違うのはすぐに回答が出力されない事です。その代わりに何を考えているのかが表示され、思考の道筋を後から確認することができます。この画像はクロスワードパズルを解かせてみた時の思考経路です。
名前の由来
紹介ページでは以下のように紹介されています。AIの性能が新たなレベルに達したのでカウンターを1に戻して o-1 とすると書いてあるようです。推論の性能が今までとは段違いだという自信の表れのように感じました。
But for complex reasoning tasks this is a significant advancement and represents a new level of AI capability. Given this, we are resetting the counter back to 1 and naming this series OpenAI o1.
https://openai.com/index/introducing-openai-o1-preview/
注意点
2024年9月13日時点では以下の制限があります。
- PlusユーザとTeamユーザしか使えません。
- 1日の利用回数はChatGPT o-1-previewは30メッセージ、ChatGPT o-1-miniは50メッセージの制限があるようです。
- APIはAPI usage tier 5のユーザしか使えないようです。
実際の性能は?
その段違いの性能とはどれほどのものでしょうか? 試してみました。
クロスワードパズルを解かせてみた!
次のようなプロンプトでクロスワードパズルを解かせてみました。
クロスワードパズルを解いて下さい。
縦のカギ
1. 10本足の魚介類
2. メキシコといえばこのお酒
3. クラシックやモダンがある
6. 問答○○○、天地○○○
7. 芥川龍之介の小説「蜘蛛の○○」
8. ここが軽い人はとてもおしゃべり
横のカギ
1. 占いでサソリとヤギに挟まれた星座
3. 悪夢を食べてくれる想像上の動物
4. 商売が忙しく儲かる時を「○○○○時」という
5. 100万の単位を表すアルファベット
7. アジア大陸最西部の国。首都はバグダッド。
9. 大・○○○・小
枠
①②■③○
④○○○■
■○■⑤⑥
⑦○⑧■○
○■⑨○○
解答
⑥、①、⑦と⑧の間
約90秒かけて返ってきた答えは正解でした。90秒も考えるなんて今までのGPT-4oでは考えられません。
ブラウザゲームを作らせてみた!
続いてコーディングの性能を見るためにブラウザで動くゲームを作らせてみました。作らせたゲームはカイジの「Eカード」です。
以下のようなプロンプトを使用しました。
ブラウザで遊べるゲームを作って下さい。
ゲームの名前は「Eカード」
ルールは以下の通りです。
- 1対1で遊ぶカードゲームです。
- カードは3種類で皇帝と平民と奴隷です。
- 皇帝は平民に勝ち、平民は奴隷に勝ち、奴隷は皇帝に勝ちます。平民対平民は引き分けです。
- 全12戦して勝利数が多い方が勝ちです。
- 3戦毎に皇帝側と奴隷側を入れ替えます。
- 皇帝側と奴隷側に分かれます。
- 皇帝側は皇帝1枚と平民4枚、奴隷側は奴隷1枚と平民4枚です。
- 1枚ずつカードを出し合って勝敗を確認します。
- 引き分けの場合は残りのカードから選んでカードを出します。
- 皇帝側は皇帝を通したら勝ち、奴隷側は奴隷で皇帝を倒せば勝ちです。
- 勝敗が決したらカードを配りなおして次の戦いを始めます。
カードは画像にして下さい。画像を作るのが難しければ画像の設定はこちらでします。
思考時間は25秒。エラーも無くコードをコピペしてそのまま遊ぶことができました。
開始画面はこんな感じです。
勝敗の判定も正しく行われます。
最終結果も表示してくれます。
Webアプリケーションも作れるか?
ブラウザゲームは1つのHTMLファイルで動きます。では複数のファイルが関係するようなWebアプリケーションも作る事ができるのか試してみました。
以下のようなプロンプトを使用しました。
ASP.net MVC Coreで動くWebアプリケーションを作成して下さい。
- Bootstrapを使用したレスポンシブデザインにして下さい
- データの永続化にはRepositoryパターンを採用して下さい
- 今回はオンメモリで動けば良いです
- プロジェクトは3つに分けてクリーンアーキテクチャを採用して下さい
- Web: フロントエンド
- Infrastructure: 永続化等
- Domain: 業務ロジック
- 業務ロジックはDIできるようにして下さい
- 以下の画面を作って下さい
- 登録・更新
- 検索
- 一覧(削除機能あり)
- 扱うのは社員データです
- 社員ID
- 名前
- メールアドレス
- 入社日
- 性別(ラジオボタン)
- 役職(ドロップダウンリスト)
- 性別や役職はEnnumで定義して下さい
ASP.net MVC Coreのプロジェクトはこちらで作成します。
ファイルをどのプロジェクトのどのディレクトリに配置すれば良いか指示して下さい。
思考時間はたったの8秒! そんな短時間では動くものは出来上がらないだろうと思いつつ、プロジェクトを作り、生成されたコードをコピペしていきました。1か所だけラジオボタンの表示の部分でエラーがありましたが、それ以外にコンパイルエラーはありませんでした。
13ファイルで約20,000文字で整合の取れた出力ができていることに驚きです。しかも正しく動きます!ただの紙芝居ではなくデータも正しく更新されています。
初期画面
データの登録更新画面
検索画面
まとめ
ChatGPTの最新モデル o-1 についてレビューしました。GPT-4oが出た時も驚きでしたが、 o-1 はそれを凌ぐ驚愕でした。コーディングに強いと紹介されていた通りの実力を確認することができました。じっくり考えて答えを出す o-1 はコーディングだけではなく様々な場面で力を発揮しそうです。
AIが考えて精度の高い答えを出すようになってきました。この思考速度に人間はかないません。人間としてAIにはできないことを考えたり、AIを使いこなす方法を考えていく必要がありそうです。