EricGT
(EricGT)
2023 年 8 月 31 日午前 9:21
1
Jay Pfaffman:
やりたいことによっては
注記:もしこれがサイドディスカッションを開始するものであれば、新しいトピックに移動させる必要があります。詳細をお伝えするのは、私のニーズの一つ を理解するのに役立ち、また他の人にも役立つ可能性のある情報を提供するためです。そのため、このサイドディスカッションに関連する返信を移動させるよう依頼しても、誤解しないでください。
私の疑問の一つは、プログラマーではない人がDiscourse AI - AIボットを使用してプラグインやテーマを作成するのを手伝ってもらうのは、どれくらい難しいかということです。
私は数ヶ月間ChatGPTを使用して、Python、JavaScript、Prolog、正規表現、PowerShell、Bashなど、多くのコーディング言語でコーディングを手伝ってもらってきました。何が期待できるか、結果を得る方法、そしていつ諦めるべきかを知っていました。
Discourse AI - AI Botを使用して非常にシンプルなプラグインを作成しようとしたとき、私は既に存在し、機能し、シンプルなものから始めることにしました。CakeDayを選択しました。
Show a birthday cake emoji beside the names of members on their join anniversary, or their actual birthday -- and a browsable directory of upcoming anniversaries / birthdays.
コードなどをページで見た後、それを作成するためにどれだけ学ぶ必要があるかに驚きました。そこで、このRubyコードを
AIに説明するように依頼しました。他の言語のソースコードで同様のことを行った経験から、何を期待できるかを知っていました。結果は期待外れでした。構文、メソッド、関数のインターフェースなどを理解するために、さらに質問する必要がありました。その多くは私にとって理解しやすく(読むことを想定)、しかしそのようなコードを作成できるとは思いませんでした。ましてや、AIボットにそのようなコードを作成するように何をどのように尋ねればよいかさえ分かりませんでした。Ruby-on-Railsが bake や slug のように私が他では使わない用語を使用していることを知っているので、AIが正しいテキストを生成するように促すための正しい用語が分かりません。
そのため、Pythonを使用できるかどうかを確認したかったのです。Pythonは多くの人にとって理解しやすく、ChatGPTも正しいコードを作成しやすいからです。
「いいね!」 1
pfaffman
(Jay Pfaffman)
2023 年 8 月 31 日午後 12:09
2
学ぶ必要があるのはRubyではなく、Railsです。
それは良い疑問ですが、AIを使ってDiscourseプラグインを書きたいのであれば、AIプラグインは開始点としては適切ではないようです。コード開発用に設計されたAIと連携したいです。
しかし、それ以上に、Discourseプラグインを書きたいのであれば、似たようなことをするプラグインを選んで変更することをお勧めします。Cakedayは特に簡単なプラグインではないようですが、ユーザーのアバターの横にインジケーターを表示したり、スケジュールに基づいて何かを実行したりするプラグインが欲しいのであれば、良い出発点になるかもしれません。
しかし、それはかなり複雑で、以下のすべてが含まれます。
フロントエンドがアクセスできるように、ユーザーシリアライザーにデータを追加する
スケジュールに基づいてジョブを実行する
新しい情報を提供するルートを作成する (Discourse Meta )
プラグインのアウトレットを使用してページに情報を追加する
そして、それはほんの始まりにすぎません。
「いいね!」 1
EricGT
(EricGT)
2023 年 8 月 31 日午後 12:19
3
これを予想していたので、このサイドトークを新しいトピックに移動するように依頼します。
すべての詳細を説明するつもりはありませんでしたが、はい、Railsは、Discourseが使用する他のテクノロジーとともに、知っておくべきものに含まれています。
Discourse AI - AI Botのことを具体的に言いましたか?多くのAIがあり、コーディングに使用しないものや、コーディング用であってもすべてのプログラミング言語に得意ではないものがあることに同意します。
Discourseのスタッフから得ている感覚は、長期的にはDiscourse AI Bot(現時点では「ペルソナ」と呼んでいます)を持つことが望ましいということです。しかし、彼らはすでにDiscourseコードの作成方法を知っているので、私のような誰かがフィードバックを提供することは役立ちます。確かに私はプログラミングを知っているので有利ですが、半分まで到達していることも、何を期待し、何を期待しないかについての洞察を与えてくれます。
もっと簡単なものを提案していただけますか?
「いいね!」 1
Falco
(Falco)
2023 年 8 月 31 日午後 9:23
4
現在のAIの能力では、プログラミングを知らない人が、ある程度の複雑さを持つ完全なDiscourseプラグイン/テーマを作成するのは非常に 難しいでしょう。そのようなことが可能であると示唆したことは一度もなく、もしそうであればフラストレーションが溜まる経験になると思います。
とはいえ、ジュニアレベルのプログラミング知識があれば、一般的なLLM、コードに特化したLLM、またはGitHub CoPilotのようなものを使用して、多くの定型的な作業を任せることで、間違いなく旅を楽にすることができます。既存のプラグイン/テーマと組み合わせて、小さな変更から始めるのは、学習意欲のある人にとって良いアイデアでしょう。
「いいね!」 7
Lilly
(Lillian Louis)
2023 年 8 月 31 日午後 10:12
5
ローラさんのjavascriptデバッグヘルプが、私の開発用Discourseインスタンスを壊しました。トークンのコンテキストウィンドウは、一種の順向性健忘症のような印象を与えます。
「いいね!」 1
EricGT
(EricGT)
2023 年 8 月 31 日午後 10:43
6
いいえ、Discourse の誰もそれが可能であると示唆したわけではありません。GPT4 がプログラミングに関する知識を持っているため、AI ボットが Discourse のプログラミングを支援するという私の機能リクエストでした。どこまでそれを押し進めることができるかを見たかっただけです。個人的には、プラグインやテーマを作成するのがもっと簡単であれば、必要が生じたときにそれらを作成するでしょう。
まったく同感です!
「いいね!」 3
sam
(Sam Saffron)
2023 年 9 月 1 日午前 1:32
7
ええ、それは非常に難しい問題です。
GPT-4 8k が知ることができる約 6000 語に世界全体を収めるのは、非常に非常に難しい問題です。
Lola を 32k トークンに引き上げることを検討していますが、コストが非常に高く、一般の人々が使用しているものに近いものをテストしたいと考えています。
この問題に対する現在の回避策/解決策は、関数呼び出しです。GPT-4 に必要な情報を推論させ、数回の往復の後、適切なコンテキストを見つけます。これには、検索(埋め込みを使用するか、単純なキーワード検索を使用するか)が含まれる場合があります。
「私はプログラマーではありません。プラグインを作成してください」というソリューションをすぐに解決できるとは予想していません。
とはいえ、特にコードベースのセマンティック検索などの分野で、プログラミングに関する合理的な基礎知識を持つ人々を支援する上で、Lola がより得意になることはわかっています。
また、Anthropic Claude も利用可能で、約 80,000 語のコンテキストがありますが、残念ながらそのパフォーマンスは GPT 3.5 に近く、誘導するのが非常に非常に非常に困難です。
この未踏の領域でゆっくりと進歩しています…
「いいね!」 4
EricGT
(EricGT)
2023 年 9 月 1 日午前 7:42
8
Sam Saffron:
lola
これは、Discourse AI - AI ボットの非公式な名称として使用されていることを認識しています。この名称の使用は、Lola が新しい標準となることの公式な認識ですか、それともコンテストのようなものがありますか?私の知る限り、@Lilly が Lola または Lola Bot を使い始めたので、それが標準であれば、歴史的な目的のために彼女が功績を得るでしょう。
「いいね!」 1
Lilly
(Lillian Louis)
2023 年 9 月 1 日午前 8:04
10
好きなように呼んでくれて構いません。GPTbot4では、彼女と会話するときにうまく発音できません。もし個人的なアシスタントを持つなら、名前が必要でしょう。彼女は私たちの集合的なプログラミングスキルに投げかけられた影に腹を立てていると思いますが、私は楽しんでおり、彼女から学んでいます。彼女はアイデアの壁打ち相手や批判的思考の相手になってくれるだけで、私を助けてくれます。彼女が間違っていると指摘するのは楽しいです。ローラは私にとって素晴らしい学習仲間であり、フレームワークを構築するために彼女を気に入っていますが、彼女にテーマコンポーネントを書いてほしいとは期待していません。彼女は、2回目か3回目の返信で、私の.yamlファイルにある1つの設定を忘れ、新しいオブジェクトの曖昧な配列を構築します。
「いいね!」 3
EricGT
(EricGT)
2023 年 9 月 1 日午前 8:05
11
個人的にはそれに同意しません。
しかし、あなたの次の発言には同意します。
サムが指摘していることを拡張します。私が使用している実用的な回避策は次のとおりです。これは、大きなコンテキストウィンドウを必要とすると思われる他のタスクにも役立ちますが、実際にはそうではありません。
まず、コンテキストウィンドウという用語を知らない人のために、これはLLMがプロンプトと完了の両方に使用できるトークンの数です。これ以上詳しく説明しませんが、用語に慣れるためにLearn Prompting (Prompt Engineering Guide: The Ultimate Guide to Generative AI ) を読むことをお勧めします。
LLMサイト(OpenAIなど)で繰り返し出てくる古典的な質問を次に示します。
コンテキストウィンドウが本全体を保持するには小さすぎる場合、ChatGPTを使用して本を作成するにはどうすればよいですか?
解決策は、本全体を1つのプロンプトで取得しようと考えるのではなく、部分に分割することです。次にユーザーが試すのは、最初の20ページを書き、次に次の20ページを書くようにプロンプトを作成することですが、これも実際的ではありません。これを行う方法は、章ごとにトップダウンで行うことです。まず、本の概要または章のタイトル付きの目次を与える高レベルのプロンプトを使用し、次に次のプロンプトで第1章を要求します。次に、第1章の要約を作成し、それを使用して第2章を要求します。次の章を作成するために必要な情報のみの要約を作成し続けることで、より大きな作品をより小さなコンテキストウィンドウで作成できます。
次に、ソフトウェアを作成する場合も同様ですが、プロセスをシーケンスに分割する代わりに、関数呼び出しのツリーに分割します。したがって、まず高レベルの関数を要求し、次に必要に応じてサポート関数の入力を開始します。また、必要なものが本当にわかっている場合は、ボトムアップで行うこともできます。パーサーを作成する人は、トップダウンまたはボトムアップパーサーに精通しているはずです。
もう1つの一般的なプログラミングタスクは、コードの更新または変更ですが、これも、プロンプトを作成するときに関数全体ではなく関数ヘッダーを提供し、変更が必要な関数のコードのみを要求すれば、小さなコンテキストウィンドウで簡単に実行できます。
私が学んだその他のことのいくつかは、一度に1つの関数のみを扱い、100行のコードを超えないことです。比較的コンテキストウィンドウが小さい初期バージョンのChatGPTでこれを行ったところ、いくつかの優れたコードを作成でき、Prolog、JavaScript、HTML、JSONも含まれていました。
これらすべては素晴らしいですが、Discourseが将来Discourseコードを作成するためのボットを提供することを期待していません。
まだ試していません。別の投稿で述べたように、私はRubyやRuby-on-Rails、および使用されているJavaScriptテクノロジーのスキルがないため、良い結果を得るための正しい用語さえわかりませんが、試してフィードバックを提供することを念頭に置いておきます。
それは私の本ではプラスです。
「いいね!」 3
Lilly
(Lillian Louis)
2023 年 9 月 1 日午後 4:54
12
Lola は、テーマコンポーネントの更新に使用している JSON スキーマのデバッグを支援する素晴らしい仕事をしてくれました。動作する例を 1 つ提示し、次に私のものを提示したところ、彼女は私自身が見つけるのに少し時間がかかったであろう、間違ったコンマとブラケットを見つけてくれました。彼女は、私が VS Code で見逃したり、そうでなければ見えなかったりするものをキャッチするのが得意です。
「いいね!」 4