banner
lencx

lencx

https://github.com/lencx

流量パスワード:ChatGPTオープンソースのいくつかの考え

この記事では、技術的な説明を避け、後で ChatGPT プロジェクトについての技術的な記事を書く予定です。

背景#

最近、私は半年以上にわたり、Tauri に関連する技術を研究し、いくつかの散発的な記事を書いてきました。いくつかの機能 API を知っており、いくつかのソースコードも読んでいます(ドキュメントや問題だけでは十分ではなくなったためです)、しかし、実際に使えるプロジェクトを作ったことはありません。

Tauri は、デスクトップアプリケーションのクロスプラットフォームパッケージングソリューションです(macOS、Windows、Linux など)。また、モバイル(Android や iOS など)のパッケージングもアルファ版がリリースされています(Announcing the Tauri Mobile Alpha Release)。近々、正式版がリリースされる予定です。

Tauri はセキュリティを重視しており、そのすべてのアーキテクチャ設計はセキュリティを中心に行われています。Tauri にとって、外部リンクのパッケージングは安全ではないと見なされ、機能に制限が加えられます。そのため、私は最近、リモート URL リンクをエレガントに、またはより良い方法でラップする方法を研究しています。なぜなら、リンクを素早くデスクトップ化することは非常に有益だからです。

この背景のもと、ChatGPTが友人の間で急速に広まっていることに気づきました。最初は気にも留めませんでしたが、数日後、友人の投稿が増えてきたので、事態が単純ではないと感じました。調べてみると、このものは簡単ではなく、プロの問題解決に役立つことがわかりました。例えば、コードの書き方、バグの修正、小説の執筆、ガールフレンドとのチャット、第二の検索エンジンなど(精度はまだ改善の余地がありますが...)。

そこで、私はひらめきました。このツールは非常に強力な機能を持っていますが、ウェブ版しかありません。それを Tauri と組み合わせると、どうなるでしょうか?これは私が最近研究している方向と非常に合致しており、私の研究とアイデアを実証するための大きなチャンスです(この時点ではまだ人気に乗っかるつもりはありませんでした)。

さあ、始めましょう#

空想には何の意味もありません。

したがって、2022 年 12 月 07 日午後 5 時頃、リポジトリを作成しました。デモや Hello World を書くのは非常に簡単だったので、私はそれに慣れています。約 4〜5 時間で初版の機能を完成させ、ChatGPT の URL を Tauri デスクトップアプリにパッケージ化し、いくつかのメニューアイテムと自動更新を追加しました。そして、ロゴを作成する段階では、さらに 2〜3 時間かかりました(コードを書く時間に追いつく勢いです)。それは小さなことかもしれませんが、非常に重要です。それが製品の魂です。

私はプロジェクトを製品化するためには、製品化の思考を持つことが必要だと考えています。ここで、私は製品についての理解について話したいと思います:

  • 製品の完結:それは小さくても、機能は簡素でも、最小限の完結を形成し、利用可能性を確保する必要があります(製品の中核機能が正常に機能すること)。
  • 速度が速いこと:開発速度、更新速度、問題への対応速度が速いことが重要です。なぜなら、それは最初のユーザーを獲得するのに役立つからです(シードユーザーの蓄積は非常に重要で、口コミを形成し、製品の二次的な普及を助けることができます)。
  • ユーザーエクスペリエンス:これには工夫が必要です。あなたは開発者であると同時に、ユーザーでもあります。したがって、製品がなければ、あなたが製品です。デザインがなければ、あなたがデザインです(あなたはユーザーであり、ユーザーよりもユーザーを理解する必要があります。選択と判断を学ぶ)。
  • 製品計画:製品の将来の方向性、どのような素晴らしい機能を追加するかを計画し、文書に明記する必要があります。それはユーザーに対してパイを描いているようなものであり、製品を長期的に追いかけたいユーザーに感銘を与えることができます(注意:パイを描くことは空想的なアイデアではなく、実際の状況に基づいて、実現可能ながらも一時的に実現できない計画です)。
  • 差別化:チャンスを見つけたとき、他の人はすでにその中で収穫を始めているかもしれません。したがって、製品の機能の差別化はあなたの突破口になります(他の人にはないものを持っている、他の人が持っているものよりも優れている)。
  • 安定性:製品の初期のアーキテクチャは非常に重要です。それはその一生を共にする可能性があります。リファクタリングは現実的ではない場合があります。多くの歴史的な負担、データの互換性、人的コストなどが関わるためです(拡張性が重要です)。

核心機能とは何ですか?#

常に核心と言っていますが、核心とは何でしょうか?それはあなたの製品が解決しようとしている問題です。問題を解決するために何をしたいのかを明確に把握していないと、何でも重要だと思ってしまう可能性があります。私のプロジェクトを例に挙げると、その核心機能はただ一つ、ウェブサイトの URL をデスクトップ化することです。したがって、URL をクロスプラットフォームのデスクトップアプリにパッケージ化することで、核心機能はすでに完了しています。核心を把握することで、機能を選択することができます。選択によって得られる時間は速度です

なぜユーザーエクスペリエンスに注力する必要がありますか?#

ユーザーエクスペリエンスは非常に重要です。私にとって、それは核心に次ぐものです。それはユーザーの使用感に直接影響を与えます。最初の印象を逃すと、そのユーザーを再び引き戻すことはできません。核心目標を持った後、考慮すべきは、その核心を中心に、ユーザーの行動に合った機能を構築する方法です。魚の問題は避けられませんが、間違いを避けるために間違ったものを使わないでください。試行錯誤のコストは高い場合があります。私たちは自分たちがユーザーであることを忘れずに、開発者としての立場とユーザーとしての立場の両方から問題を考えることができます。プログラマーとしての論理的思考は重要ですが、製品の思考も同様に重要です

なぜ迅速なイテレーションが必要ですか?#

迅速なイテレーションは、ユーザーに製品の進化を見せるため、およびユーザーとの粘着性を高めるために行われます。小さなステップで走ることは、核心機能から取捨選択された部分に対処するためです。それらは荒地開拓の段階であり、それほど重要ではありません(生死の前では、お金は身の外のものです)。しかし、一度核心機能が備わったキャリアがあれば、それらは肉体となり、製品を一歩一歩と充実させることができます。

なぜ迅速な対応が必要ですか?#

製品開発の過程で、さまざまなバグは避けられません。ユーザーへの対応速度は、ユーザーの滞在を決定する直接的な要素です。解決できる問題はできるだけ短時間で解決することが最善ですが、解決できない問題についても理由を説明する必要があります。

なぜ安定性が重要ですか?#

これもよく言われることですが、言われるときは簡単です。しかし、実際にやると、速度の前に多くのものを捨てることになります(私は一時的にそうしましたが、後で修正しようとした結果、コードがますます増えてしまい、修正できなくなりました...)。今回、私は致命的なミスを犯しました。初期段階では複雑な機能は必要ありませんでしたので、データ構造の問題についてはあまり考慮していませんでした。その結果、最近のバージョンアップでいくつかのフィールドを変更し、データの互換性のない例外処理を行っていませんでした。そのため、多くのユーザーがアップグレード後にプログラムがクラッシュし、起動できなくなりました。私はこの問題について多くの時間を issues で説明し、後でプロジェクトの README.md で問題の解決策を提供しましたが、すべてのユーザーがそれを見るわけではありません。彼らが私のミスのために去ってしまった場合、少し残念です。

まとめ#

これらはすべてつながり合い、段階的に進んでいくものです。大きな一歩を踏み出しても、速いとは限りません。だから、しっかりとした足取りで、一歩一歩進むことが最も重要です。

流行に乗ることは恥ずかしくありません#

風の中で、見えない手があなたを前に進めます。機会は掴むものであり、あなたの努力を倍増させるものです。

ChatGPT はホットなトピックであり、世界中のプログラマーコミュニティを爆発させるトピックと言えます。もちろん、それはさまざまな分野にも広がり、OpenAI のサーバーが頻繁にクラッシュする原因となっています。人気のあるプロジェクトとして、それに基づいて派生したプロジェクトには、自然と注目が集まるでしょう。それが勢いです。この勢いをオープンソースと組み合わせると、たくさんの⭐️スターを獲得することができます。スターはオープンソースのプログラマーにとって非常に魅力的です。なぜなら、技術的な内容があるからといって、必ずしも人々に知られるわけではないからです。

私は 2015 年にフロントエンドの学習を始め、プログラミングを学びました。その時に GitHub アカウントを作成しました。そして、断続的にオープンソースのキャリアを始めました。0 から 18 人のフォロワーを獲得するまでに、5 年かかりました。そして、2021 年 6 月 29 日に最初の 100 スターのプロジェクトを獲得するまで、ほぼ 6 年かかりました。しかし、今回のプロジェクトでは、5 日間で 300 以上のスターを獲得しました。私の最初の 5 年間のすべてのプロジェクトの合計は、それの一部にも及びませんでした。私が言いたいのは、流行に乗ることは恥ずかしくないが、持続することがもっと貴重であるということです。なぜなら、量的変化から質的変化には膨大な時間がかかるため、暗闇が明けるまでどれだけ続くかは誰にもわからないからです

流行に乗るための小技#

すべてのソーシャルメディアのコンテンツ共有は同じです。オープンソースプロジェクトも同様です。初期のシードユーザーは非常に重要で、あなたを無名の存在からスポットライトに押し上げることができます。一度焦点が当たると、自然な流量があなたに傾斜します。オープンソースプロジェクトに当てはめると、GitHub のトレンドがその重要な支点になります。このトレンドリストは自然な流量を引き起こすための重要な要素です(既存の流量を持つプロジェクトは除外してください、ファンの力は強すぎます)。私の経験によると、プロジェクトの新鮮さや短期間での関心(スター)がランキングに影響を与えます。そのため、多くの人々がスターを付ける傾向がありますが、私はオープンソースのプロジェクトが認められることが重要だと考えています。スターを手に入れることは内からの喜びをもたらすことはできません。だからこそ、嵐の発生は蝶の一度の羽ばたきかもしれません。それが地球を動かすための支点です。新鮮さや関心度などは重要ですが、鉄を打つためには自身が強く、実力で語る必要があります。

まとめ#

私はプログラマーとして誇りに思っています。自宅にいながら、世界を変える力を手に入れることができます。実現できなくても、それを目指す努力をすることができます。

結び#

最後に、私がこの記事を書く証拠として、いくつかのスクリーンショットを載せたいと思います。持続する力は想像を絶するものです。だから、自分自身を定義しようとすることは決してしないでください。あなたは無限の可能性を持っています。

  • 5 年間のオープンソースで 18 人のフォロワーを獲得し、ほとんどスターを獲得していない
    chatgpt-1
  • 6 年間のオープンソースで最初の 100 スターのプロジェクトを獲得
    chatgpt-2
  • ChatGPT プロジェクトは 5 日間で 300 以上のスターを獲得
    chatgpt-3
  • 最後の 2 つのスクリーンショットは私の現在の GitHub のホームページです。これが私の次の航海の出発点になります
    chatgpt-4
    chatgpt-5
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。