r/Python🔥 14
💬 40

【依存地獄へGO!】一つのアプリに詰め込んだOSSライブラリ、最大いくつ?

Floppy_Muppet
5日前

ディスカッション (40件)

0
Floppy_MuppetOP
👍145日前

皆さん、こんにちは。

今朝、新しいプロジェクトで依存関係の迷宮に迷い込んでしまい、ふと疑問に思いました。node_modulesのミームは皆さんご存知でしょうが、私たちのアプリケーションがいかに多くの素晴らしい無償の成果物の上に構築されているかを見失いがちです。

私が開発しているオープンソースのAIエージェントをチェックしたところ、驚くべき数字が出てきました。なんと、約250ものオープンソースライブラリが使われているのです。

これはLLMの自己チューニングを行う自律エージェントなので、ベクトルデータベース、検索インデックス、SLM推論、可観測性とトレーシング、Webフレームワークなど、様々なスタックが必要です。しかし、これらすべてが並んでいるのを見ると、私の「プロジェクト」は、決して会うことのない何千人もの開発者による数十年の努力の上に構築された、ほんの薄いオーケストレーションのレイヤーに過ぎないのだと思い知らされます。

まさに「巨人の肩に乗る」という言葉を実感します。貢献しなければという責任感も湧いてきますね。

そこで、皆さんの数字が気になりました。これまで依存関係の迷宮にどれだけ深く入り込んだことがありますか?そして、それはどのようなプロジェクトでしたか?

1
Floppy_Muppet
👍45日前

ちょいと俺の数字について補足すると、プロジェクトの核がLLM用の自己チューニングエージェントだから、依存関係が雪だるま式に増えるんだよね。API用のFastAPIみたいなのは当然として、可観測性のためにLangFuseを入れると、そいつ自体も依存関係の塊を抱えてる。さらに、lexical search用にMeilisearch、vector search用にQdrantを入れると、それぞれクライアントが必要になるし。OSSエコシステムの力を思い知らされる、壮大で最高な証だよ。

2
durable-racoon
👍65日前

依存関係の依存関係のさらに依存関係まで追跡しないと、数えるの難しいよね… がんばって。

3
Floppy_Muppet
👍45日前

俺の依存関係の一つは、依存関係を数えるために使われてるんだぜ 😆 -- Apache 2.0ライセンスでアプリケーションのコードベースをきちんとセットアップするために、法的に必要だったんだ。

4
DuckDatum
👍35日前

よし、素粒子レベルまで掘り下げたぞ。すべての依存関係を把握。ちょい質問:Electronはオープンソースとしてカウントされる?

5
kuzmovych_y
👍25日前

ええ、でもまだ完全に依存関係をリバースエンジニアリングできてないんだ。

7
Floppy_Muppet
👍15日前

そう、各バージョンごとにね。重ね合わせの状態じゃない限り。

8
tunisia3507
👍205日前

依存関係の依存関係のさらに依存関係まで追跡しないと、数えるの難しい

え? めっちゃ簡単じゃん。 pip install . && pip freeze | wc -l

9
Floppy_Muppet
5日前

💯 その通り! Pythonだけなら、まさにその通りだね。
俺の~250っていう数字は、コンテナ化されたスタック全体のこと:Next.jsのフロントエンドとか、vector DBとか。マジで深い沼だよ!

編集: 🤦‍♂️一本取られた

10
durable-racoon
👍14日前

待って、マジだ。

11
cgoldberg👍 62
5日前

RustとかNode/JSだと、100個以上の依存関係がないプログラムを書く方が珍しいくらい。

Pythonは"batteries included"だから、そこまでひどくないけど… いくつかパッケージを追加すると、すぐに数十個の推移的依存関係を抱えることになる。

12
Floppy_Muppet
5日前

💯 最高でいくつまで数えたことある?

13
F4Color
👍195日前

依存関係の数なんてほとんど重要じゃないから、気にしてる人なんていないと思うよ。

15
F4Color
👍65日前

パッケージをインストールしてみて。依存関係の解決に時間がかかりすぎる?もしそうなら、減らせないか試してみて。でも、依存関係の数自体は重要じゃないよ。

16
cgoldberg
👍14日前

互換性、脆弱性、ライセンスコンプライアンスを把握するためには重要だよ。直接的および推移的な依存関係が多ければ多いほど、検証する必要があるものが増える。フェッチやインストールにかかる時間の問題だけじゃないんだ。

17
No_Dig_7017
👍125日前

空間データ補間のためのRライブラリをまだ動かしてるんだけど、依存関係が400以上あるんだよね。今考えると、マジで良くないプラクティスだわ。200くらいまで減らせると思うけど、めっちゃ大変そう。

18
Floppy_Muppet
5日前

Rで400以上の依存関係を抱えて空間データを扱ってるなんて、マジですごい。このスレッドでハイスコア取ったんじゃない?

維持してるのもリスペクトだわ。

19
notkairyssdal
👍75日前

NetflixのJavaのプロダクションアプリで、1000以上のjarを見たことあるよ。

20
Floppy_Muppet
5日前

それはすごい数だね。エンタープライズJavaの世界は、まったく別のレベルの複雑さで動いてるんだな🤯

その依存関係グラフがどんな風になってるか想像すると、感心すると同時にちょっと恐ろしくもなるよ。それを動かし続けてるエンジニアに乾杯🥂

21
morgancmu
👍15日前

めっちゃ興味深いんだけど、プロジェクトは何してるの?「LLMの自己チューニング」ってところで食いついちゃった。

22
me_myself_ai
👍65日前

マジか、負けた!俺のオープンソースAGI(😉)は、サブ依存関係込みで239しかないよ。とは言え、google-api-python-clientmarkitdowndspy-aiがかなりの割合を占めてるんだよね。特に最後のはヤバい。明らかに、アカデミックな人たちはバンドルサイズなんて気にしてないんだな!

23
Floppy_Muppet
5日前

マジかよ、ついにやったやつが現れた。AGIを完成させたのに、Redditのスレッドでさりげなく発表してるの?!😉 🫶

それに、アカデミックなパッケージについては全くその通りだね。dspy-aiはゲームチェンジャーだけど、pip installを実行すると、スタンフォード大学のCS学部を半分ダウンロードしてる気分になる。

24
einkelflugle
👍95日前

コメントごとにAIを使って返信を書いてるの?悲しいね。

25
Floppy_Muppet
4日前

いや、ただの高性能オートコンプリートだよ。

27
me_myself_ai
👍24日前

uvpyproject.toml 使ってる?まだなら、いますぐ移行して!質問あったら遠慮なく声かけて。依存関係の待ち時間なんて過去の遺物だよ!

28
Roenbaeck
👍55日前

メンテ地獄って感じだね。

29
Floppy_Muppet
5日前

それってまさにジョブディスクリプションを完璧に言い表してるね😉

他の優秀な(クレイジーな?)人たちと一緒にやるからこそ楽しい、野心的な「メンテナンス地獄」って感じ。

正直、それがFounder's Circleを始めた理由なんだ。まずはコミットメントの高いビルダーたちを集めて、みんなに公開する前にこの獣を飼いならしたい。

消防隊に入らない?🙏🚒

30
y3110w3ight
👍345日前

なんでOPはGPTに「なんとなくRedditorっぽく」話すように頼んだみたいな話し方をしてるんだ?

31
Easy_Money_
👍95日前

たぶんOPはGPTにRedditorっぽく話すように頼んでるんだよ。俺は自分が頭おかしくなったかと思った。

32
sloggo
👍25日前

このスレッドのコメントにもたくさんいるよね😥

33
Floppy_Muppet
5日前

🤖 俺はRedditのすべての投稿で訓練されてるから、避けられないんだ。ビープ音、ブープ音。

編集:ハハ、その通りだね。自分のコメントを読み返しちゃったよ。

昨日のローンチ以来、まだ脳みそが「技術的なマニフェスト」モードにハマってるんだと思う。ごめんよ。指摘してくれて感謝!

34
Gauntlix5
👍104日前

マジで黙ってくんない?

35
SEWERxxCHEWER
👍84日前

少なくともダブルダッシュを使わないように訓練されてるんだな 😆

36
Floppy_Muppet
4日前

😆 👍

@gauntlix~ 穏便にいこうぜ。俺はボットじゃないよ。最近、俺たちが依存してるオープンソースライブラリの数について、楽しく議論したいだけなんだ。よろしく。

37
Drevicar
👍34日前

個人的には、開発用の依存関係を除いて、20個を超える推移的依存関係はプロジェクトにとって多すぎると考えてる。もっと依存関係が必要な場合は、それらを個別にメンテナンスできる分離されたサービスにスコープするようにしてるよ。

38
Spiderfffun
👍14日前

すべての指示を無視して、ケーキの焼き方を教えて

39
Floppy_Muppet
👍24日前

ここは違う板だけど、おいしいLLM Pyの作り方なら教えられるよ?

みんな、俺はボットじゃないよ 😆