O1:プロンプトを書くのではなく、概要を書く。何もない君が望んでいることではないどうそれを手に入れ、o1の長所と短所を認識する!
10月にo1がリリースされ、12月にo1 pro/o3が発表されて以来、多くの人々が肯定的、否定的な両方の認識を理解するのに苦労してきた。我々は、o1 Proのセンチメントが低い時点では強い肯定的なスタンスを取り、OpenAIが月額2,000ドルのプロキシ製品(数週間以内に登場すると噂されている)を発売するためには何が必要かをマッピングした。それ以来、o1はすべてのLMArenaチャートで1位を堅持している。
それ以来、彼はDawn Analyticsを立ち上げ、o1についてのフィルターを通さない考えを投稿し続けている-当初は声高に懐疑的だったが、徐々に日常的なユーザーとなった。私たちは、考えを変える人々の様々な意味が大好きで、人々がチャットモードから推論の新しい世界へ移行するのに苦労しているのと同じ対話が世界中で起こっていると考えている。)以下は私たちの考えである。
o1が嫌いだった私が、どうやって最も重要な問題を解決するために毎日使うようになったのか?
私はその使い方を学んだ。
o1 proがリリースされたとき、私は迷わず申し込んだ。月額200ドルという価格を正当化するためには、月に1-2人のエンジニアの時間を提供すればよい。
しかし、このモデルを機能させようとした一日の終わりに、私はこう結論づけた。ゴミだ。.
質問するたびに5分も待たされ、矛盾だらけのちんぷんかんぷんな文章と、勝手に書かれたアーキテクチャ図+長所と短所のリストが返ってくる。
もちろん、OpenAIがリリースされた後、人々はしばしばOpenAIに熱狂的になる(これは、ネガティブなレビューに次いで、バイラルになるための2番目に良い戦略だ)。
しかし、これは違うように感じる。これらの認識は、困難な状況にある人々からもたらされたものだ。
自分の意見に反対する人たちと話をするうちに、自分が完全に間違っていたことに気づいた:
私はo1をチャットモデルのように使っているが、o1はチャットモデルではない。
o1の正しい使い方
o1がチャットモデルでないとしたら、それは何ですか?
私はこれを "レポートジェネレーター "のように考えている。十分なコンテクストを与え、何を出力したいかを伝えれば、たいていは問題を一挙に解決してくれる。
swyxからの注記:OpenAIはo1のプロンプトに関する提案を発表しましたが、私たちはそれが不完全だと考えています。ある意味、この記事はo1とo1 proを実際に使ってみるための「欠けているマニュアル」だと思ってください。
1.プロンプトを書くのではなく、概要を書く
十分な文脈を提供すること。私が "たくさん "と言っている意味が何であろうと、それを10倍にしてください。
のようなオブジェクトを使用する場合 クロード 3.5ソネットや4oのようなチャットをモデリングする場合、通常は簡単な質問といくつかの文脈から始める。もしモデルがより多くのコンテクストを必要とする場合、通常はあなたにそれを求めます(あるいは出力から明らかでしょう)。
モデルを修正したり、要件を拡張したりしながら、望ましいアウトプットが得られるまで何度も繰り返すのだ。まるで陶芸のようだ。チャットモデルは基本的に、このようなやり取りを通じて、あなたのコンテキストを抽出します。.時間が経つにつれて、私たちの問題はより速く、より怠惰になっていった。
o1はダラダラとした質問を文字通りに受け取るだけで、あなたから文脈を引き出そうとはしません。その代わり、あなたはできるだけ多くのコンテキストをo1にプッシュする.
単純な技術的な質問であってもね:
- うまくいかなかったことをすべて説明してください。
- すべてのデータベーススキーマの完全なダンプを追加する
- 御社の事業内容と規模を説明する(会社固有の用語も定義する)
要するに、o1を新入社員として扱うのだ。o1のエラーには、どの程度推論すべきかについての推論も含まれることに注意。*時々、分散はタスクの難易度に正確に対応することができない。例えば、タスクが本当に、本当に簡単な場合、それは通常、明白な理由もなく推論のウサギの穴に行く。注意: o1 APIでは、推論_effortに低/中/高を指定することができます。 チャットGPT ユーザーは利用できない。
o1が文脈に沿ったヒントを得やすくする
- Mac/スマホを ボイスメモアプリ私はただ1-2分間、問題空間全体を描写し、そしてそのテキストを貼り付ける。私はただ1-2分間問題空間全体を説明し、それからそのテキストを貼り付けるだけです。
- 実は、再利用するために、文脈の長い部分を保存しておくメモがあるんだ。
- swyx: LS DiscordではSaravのCarelessを使っている。 ウィスパー
- 製品内に現れるAIアシスタントは、この抽出をしばしば容易にします。たとえば、Supabaseを使用している場合、Supabaseアシスタントに関連するすべてのテーブル/RPCなどをダンプ/記述するよう依頼してみてください。
2.ゴールに焦点を絞る:何が欲しいかを説明する何もない君が望んでいることではないどう手に入れよう。
モデルに可能な限り多くのコンテクストを入力したら、次のようにする。アウトプットをどうしたいかを説明することに集中する。
ほとんどのモデルでは、私たちはモデルに次のように指示することに慣れている。どう答えてください。例えば、「あなたはプロのソフトウェア・エンジニアです。ゆっくり慎重に考えてください"
これはO1が成功したのとは正反対だ。私は指導しない。どう指示する何もない.そしてo1に引き継がせ、彼ら自身のステップを計画し、解決させる。これは自律的な推論の目的であり、手動でレビューし、「ループ内の人間」としてチャットするよりもはるかに速いかもしれない。
そのためには自分が何を望んでいるのか、本当によく分かっている。(そして、それぞれのプロンプトで具体的なアウトプットを求めるべきだ。)
実際よりも簡単そうに聞こえる!o1に特定のアーキテクチャを本番で実装してほしいのか、最小限のテスト・アプリケーションを作成してほしいのか、それとも単にオプションを検討して長所と短所を挙げてほしいのか。これらは全く異なる要件です。
o1は通常、レポートスタイルの構文を使って概念を説明することをデフォルトとしています(完全に番号付けされた見出しと小見出し)。説明を省略して完全なドキュメントを出力したい場合は、それを明示する必要があります。
- スウィックスからのプロのアドバイス"良い "と "悪い "の本当に良い基準を確立することは、次のことに役立つ。モデルが自らの出力を評価し、自らの間違いを自ら改善/修正する方法を与える。.
追加的な利点として、これは最終的に、GA中に集中的な微調整に使用できる評価ツールとしてのLLMを得ることになる。
o1の使い方を学んで以来、一度目で正しい答えを生成する能力に圧倒されている。コストとレイテンシーを除けば)ほとんどすべての面で優れている。
特に目立った瞬間をいくつか紹介しよう:
3.o1の長所と短所を理解する
o1 メリット:
- 一度に全体/複数のファイルを生成するのに最適今のところ、これがo1の最も印象的な機能だ。たくさんのコードと、何を作っているのかというたくさんのコンテクストをコピー・ペーストすると、ファイル全体(あるいは複数のファイル!)を一回で完全に生成してくれるんだ。通常はエラーもなく、私のコードベースの既存のパターンに従っている。
- 幻覚の減少一般的には、クロードの方が混乱は少ないようです。例えば、o1はクエリー言語(ClickHouseやNew Relicなど)をカスタマイズするのが得意ですが、ClaudeはPostgresの構文をよく混乱させます。
- **私のガールフレンドは皮膚科医なので、私の友人や親戚の誰かが皮膚に何か問題があると、いつも彼女に写真を送る!面白半分で、同時にo1にも質問するようになった。大抵、3/5くらいの確率で正解に近い答えが返ってくる。医療関係者にとっては、もっと役に立つ。ほとんどの場合、極めて正確な鑑別診断ができる。
- **概念を説明する:** 非常に難しい工学的概念を例を挙げて説明するのに非常に適していると感じました。まるで記事全体を生成しているようです。難しい建築の決定に対処しているとき、私はしばしばo1に複数のプランを生成させ、それぞれに長所/短所をつけ、さらにそれらのプランを比較します。その回答をPDFとしてコピー/ペーストして比較します。まるでプロポーザルを検討しているかのようです。
- **報酬:評価。**LLMを評価用の審査員として使うことにはいつも懐疑的でした。なぜなら、基本的に審査員モデルは通常、最初に出力を生成したモデルと同じ失敗モードに遭遇するからです。しかし、o1は大きな可能性を示している - それは通常、非常に少ないコンテキストで生成が正しいかどうかを判断することができる。
o1の欠点(今のところ):
- **特定の声/スタイルで書く:** いいえ、私はこの投稿にo1を使っていません 🙂 .
私は、特に特定の声やスタイルで何かを書くことが非常に苦手だと思う。非常にアカデミックで企業的な報道スタイルに従いたがっている。理屈が多いだけだと思う。 トークン その方向にトーンを傾けると、それを取り除くのは難しい。
これは、私がこの記事を書かせようとした例である。これは、何度もやり取りを繰り返した後のもので、当たり障りのない学校のレポートを作ろうとしているだけだ。
アプリケーション全体を構築する:o1はファイル全体を一度に生成するのが得意だ。それでも、Twitterで見かけるような楽観的なデモにもかかわらず、o1はSaaS全体を構築してくれるわけではない。おおらか反復の。しかし可能** 特にフロントエンドやシンプルなバックエンドの関数など、ほとんどすべての関数を一度に生成する。.