By

bitBuyerプロジェクト最新情報:共同開発メンバー発表

bitBuyerプロジェクトの進捗と今後の展望

Hey there!😉
bitBuyerプロジェクトの進捗をご報告しますよ!

  1. オープンソース革命:『bitBuyer 0.8.1.a』が変える未来
  2. bitBuyer 0.8.1.aの持続可能性強化に関する研究
  3. bitBuyerコミュニティ規約日本語版
  4. bitBuyerコミュニティ規約英語版

これらの記事を公開し、bitBuyerプロジェクトの方向性や目的、それを達成するための方法論、bitBuyerプロジェクトの目的が大きくなることに伴った、新規コミュニティの設置、bitBuyerコミュニティを管理運営するための規約の完成、と、今月はbitBuyerプロジェクトの根幹を形成する日々でした。

bitBuyerコミュニティの発展と開発メンバーの募集

これまでは、開発は私が一人で行う前提でしたが、達成したいことが高度化・増加したことで、上記でご紹介した記事の最初の記事で告知した通り、開発メンバーを募ることにしたんですよね。

初の共同開発メンバー『Shuhei OTANIさん』の参加

そしてなんと! 早くもその成果が現れました!
bitBuyerプロジェクトは、最初の共同開発メンバーとしてShuhei OTANIさんをお迎えいたしました!🎉

Shuhei OTANIさんはお仕事でも少しPythonに触れられているとのことですが、まだ複雑なことはできないとのことですので、開発タスクとしては最初にGUI周りの更新やドキュメントの作成などをお願いすることになるかと考えています。

bitBuyerプロジェクトにまた新しいメンバーが加わったら、順次ご紹介する記事を書こうと思っています!☺️

しかし、開発タスク自体はまだ私が一人で開発する前提の状態のままなので、細分化されていません。なので、近日中に開発タスクを先行して策定するために、要件定義やタスクの定義、さらにタスクを細分化するなど、プロジェクト参加者が貢献しやすい仕組みを順次ご用意する予定です。

bitBuyer 0.8.1.aのバージョン1.0に向けた設計

このためには、ビットコイン等暗号資産自動取引AIアプリケーション、コードネーム『bitBuyer 0.8.1.a』のバージョン1.0、すなわち初回リリース版の完成像を細部まで設計し、「実現するために必要なコードは何か」を計画しなければなりませんね。

計画が整ったら、これも記事にする予定です。その記事を読んで、「このタスクならできる」「このタスクをやりたい」という希望者が現れることを願って……☺️

bitBuyerプロジェクトの開発ロードマップ

私が一人で計画していたときは「bitBuyer.pyが完成するのは5年後、その後5年間かけてAIモデルを学習させる」という構想でした。実に10年もの歳月をかける計画だったのです。

しかし、bitBuyerプロジェクトが開発メンバーを募る方向に舵を切ったことで、この目算も短縮されるかもしれません!
皆さん、楽しみにしていてください!


さて、ここからは話が少し脱線します。話題は変わりますが、bitBuyerプロジェクトに関わる話ですよ!

PythonとJava、開発言語の選定に関する考察

私が参加しているPython系のLINEオープンチャットの管理者さんに、以下の記事を教えていただきました。

無料会員登録しないと読めない記事ですが、要は「企業がAPI(アプリケーションプログラミングインターフェース)経由でAIを実装するのに使われているのは意外とJavaだよ。Javaは企業システムのソリューションを長年提供してきた実績から信頼性があるんだよ」というお話です。

一方で、以下の記事も教えていただきました。

やはり、Pythonは高度に抽象化されているため、学習の最初のステップとして選ばれているのでしょうか(世の中には高校生も参加できるマイコンカーラリーという、C言語を使うものも存在するみたいですが……😅)。

bitBuyerプロジェクトの目的の一つに「教育的価値の提供」がありますので、後者の記事はこの価値提供の動機を裏付けるものですね。しかし、『bitBuyer 0.8.1.a』はAIアプリケーションです。それも、API経由で外部のAIを使うのではなく、AIを搭載したアプリケーションです。Pythonはインタプリタ方式の言語なので、高度な論理演算を必要とするAIアプリケーションとしては、開発言語にPythonを採用すると「パフォーマンス(処理速度)が低下する」という課題を抱えることになります。

しかも、『bitBuyer 0.8.1.a』は分散コンピューティングを活用した「マーケットメイカーの真似事」まで行おうとしています。ここまで来ると、Javaも魅力的に思えてきますね? しかも、Javaは企業システムに広く採用されている言語なので、就活などでこのスキルがあると有利になります。

さぁ、ではこの件に関して、bitBuyerプロジェクトとしてはどういうスタンスでいるべきで、ここまでに挙げた機能は実現可能な範囲で有効なのか、ChatGPT-4oに聞いてみましょう。

教育的価値と実用性のバランスを取るためのアプローチ

bitBuyerプロジェクトとしてのスタンスは、「教育的価値の提供」と「実用性のバランスを取る」という立場が最適だと考えられます。
まず、Pythonを選択する理由についてですが、『bitBuyer 0.8.1.a』は「初心者が使えるOSS」であることを前提としているため、Pythonの学習しやすさとオープンソースとの親和性が大きな理由となります。教育的な価値という点では、Pythonは可読性が高く、初心者にも理解しやすい言語であり、bitBuyerプロジェクトの普及を促進する要因となります。また、AI開発に必要なライブラリ(TensorFlow、PyTorch、Scikit-learnなど)が豊富であり、AIを搭載するアプリケーションをPythonで開発するのは合理的です。
一方で、Javaの選択肢も検討できます。Javaにはスケーラビリティの高さやエンタープライズ向けの安定性、並列処理の強みがあり、APIを経由した高速処理が求められるシステムではPythonよりも有利とされます。さらに、金融システムや企業向けのシステムで長年使用されているため、就職市場でも有利なスキルとなります。しかし、bitBuyerプロジェクトはOSSとしてPythonユーザーをターゲットにしているため、Javaへの移行は非現実的です。静的型付け言語であるJavaは、OSS開発者が気軽に手を出せる環境ではなく、PythonとJavaを併用するハイブリッド構成は開発コストやメンテナンス性の面で負担が大きくなるため、現実的な選択肢とは言えません。
では、bitBuyerプロジェクトにとって最適な解決策は何か。現時点では、Pythonをベースに開発を進め、必要に応じてパフォーマンスのボトルネックとなる部分のみJavaやC++で補強するのが妥当です。例えば、AIモデルの学習や推論はPythonで行い、分散コンピューティングの負荷のかかる部分はC++やJavaで実装することも考えられます。NumPyやCythonを活用すれば、Python単体でも一定のパフォーマンス向上が見込めるため、まずはPythonで開発を進めながら、最適化の余地を探るのが合理的でしょう。
結論として、bitBuyerプロジェクトは現時点ではPythonベースで開発を継続するのが最適です。Pythonの学習のしやすさやAIエコシステムとの親和性を活かしつつ、スケーラビリティやパフォーマンスの課題が顕在化した場合に、特定の処理をJavaやC++で補強することを視野に入れるのが、実用性と教育的価値の両立において適切なアプローチとなるでしょう。

──ChatGPT-4o

結論は、「パフォーマンスの問題が顕在化したときにボトルネック部分を別言語にすれば良い」ということですね。

bitBuyerプロジェクトの未来と今後の展開

bitBuyerプロジェクトの現在の考え方は「パフォーマンス問題が生じたら新しいハードウェアを用意する」というもので、想定される正式リリース・運用開始(バージョン1.0以降)も約10年後と、ハードウェアの成長余地がまだあります。ソフトウェア(Python)の最適化とハードウェアの進化によって、現在懸念される事案については解消される見込みが高いです。

以上、「bitBuyerプロジェクトはPythonで開発され続ける」というお話でした!
また、プロジェクトに進捗があればお話します。
Cheers!🎉

このブログを購読(RSS)
1st Project Anniversary 🎉
Shōhei KIMURA|Facebook
Yōhaku KIMURA|𝕏
コーヒーブレイクを提供してくださいますか?

【開発に興味のある方】
bitBuyerコミュニティ規約
LINEオープンチャット
Dicordサポートラウンジ

bitBuyer Projectをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む