雑談、Bunの進化、その他いろいろ!

MMaximilian Schwarzmüller
컴퓨터/소프트웨어경제 뉴스AI/미래기술

Transcript

00:00:00[静寂]
00:00:21よし。
00:00:22[静寂]
00:00:27戻りました。
00:00:28今の画質がどうなったか見てみましょう。
00:00:33[静寂]
00:00:43皆さんが接続するのを待って、画質を確認します。
00:00:48[静寂]
00:00:57よくなっているといいのですが。
00:00:58オーケー。
00:00:59いいですね。
00:01:01さて、では。
00:01:02皆さん、お帰りなさい。
00:01:03先ほどは失礼しました。
00:01:04原因が何だったのか分かりません。
00:01:06今度は接続が安定することを願っています。
00:01:11興味深いことに、FPSが低いです。
00:01:15まだダメかな。
00:01:16ああ、なるほど。
00:01:17わお。
00:01:18それは残念です。
00:01:21ええ、スマホを試してみることもできます。
00:01:24[静寂]
00:01:28やれやれ。
00:01:30まだラグがありますね。
00:01:31ちょっと待ってください。
00:01:33[静寂]
00:01:39見てみましょう。
00:01:40[静寂]
00:01:51これは本当に困りました。
00:01:54[静寂]
00:02:13よし。
00:02:14さて、どうでしょう。
00:02:18うっとうしいですね。
00:02:25もし私の姿が見えたり、声が聞こえたりしたら、教えてください。
00:02:31これで改善されたかどうかを。
00:02:34まだダメかもしれません。
00:02:53今、配信されているでしょうか?
00:03:04よし。
00:03:05聞こえているようですね。
00:03:06映像はまだ遅延していますね。
00:03:08分かりました。
00:03:09今、スマホに切り替えました。
00:03:11完全に別のネットワークです。
00:03:15ウェブカメラのフィードだとしたら妙ですね、実際には。これもラグっていますか?
00:03:24映像が遅延しています。
00:03:25私の顔だけですか? それとも他の部分も?
00:03:30画面の方もですね。
00:03:35本当に変です。
00:03:36いつもと同じセットアップなのですが。
00:03:39インターネット接続の問題ではないようですね。
00:03:43よくなりました。
00:03:44改善されました。
00:03:45オーケー。
00:03:46了解です。
00:03:47ありがとうございます。
00:03:48はい。
00:03:49お待ちいただき感謝します。
00:03:50これは困りましたね。
00:03:51ええ。
00:03:52これで大丈夫だといいのですが。
00:03:57そうですね。
00:03:58よし。
00:03:59はい。
00:04:00もし悪化したり、まだ調子が悪かったりしたら教えてください。
00:04:04音声は大丈夫です。
00:04:05映像はまだ遅延しています。
00:04:07なるほど。
00:04:08いいという人もいれば、
00:04:09遅延しているという人もいますね。
00:04:11今は別のネットワークを使っています。
00:04:13スマホに切り替えたので。
00:04:16理論上は、もうネットワークの問題ではないはずです。
00:04:21画面共有についても、理論上は、もちろんOBSなどの可能性もありますが、
00:04:28設定は何も変えていません。
00:04:34ビデオストリーム全体が遅延していますが、ネットワークではなさそうです。
00:04:42接続の問題ですね。
00:04:44YouTube側では、接続状態は「良好」と表示されています。
00:04:47それがどれほど当てになるか分かりませんが。
00:04:49まあ、十分なのでしょう。
00:04:51時々遅れますが、だいたい大丈夫です。
00:04:53はい。
00:04:54本当に申し訳ありません。
00:04:58ええ。
00:04:59とりあえずこのまま続けます。
00:05:01すみません。
00:05:02配信が終わったら調査してみます。
00:05:05本当に不思議です。
00:05:06ネットワークを切り替えてもまだダメだなんて。
00:05:09OBSをアップデートして設定を再確認してみますが、1年以上同じ設定を使っているんですけどね。
00:05:15さて。
00:05:17うまくいくことを願いましょう。
00:05:18お付き合いいただきありがとうございます。
00:05:21また悪化したら教えてください。
00:05:24では、始めましょう。
00:05:26Bunについてお話ししたかったんです。
00:05:29同じことを繰り返して皆さんを退屈させたくはありませんが。
00:05:32BunはもちろんNode.jsの代替であり、ベンチャーキャピタルの出資を受けていました。
00:05:39Bunが抱えていた問題の一つは、当然ながら収益を上げる必要があったことです。
00:05:44では、どうやって稼ぐのか?
00:05:47これらの企業の多くが持っていた、あるいは持っているアイデアの一つが、ホスティング製品の提供です。
00:05:55彼らもそれを試した、あるいは試そうとしたのだと思います。
00:06:00定かではありませんが。
00:06:01しかし、AnthropicがBunを買収しました。
00:06:03買収の主な理由は、おそらくこの「単一ファイル実行可能形式」にあるのではないかと推測しています。
00:06:08Bunを使えば、TypeScriptプログラムを単一の実行ファイルにコンパイルでき、それをターミナルなどで実行できるからです。
00:06:16Claude Codeはまさにそのようなプログラムです。
00:06:19Claude Codeは単一ファイルの実行形式、あるいはBunプログラム、結局はTypeScriptプログラムなのですが、
00:06:25おそらくBunのAPIを使用しており、間違いなくその単一ファイル実行機能によってCLIツールとしてコンパイルされています。
00:06:35それでAnthropicがBunを買収したわけです。
00:06:39それがBunにこれまでとは違う方向性の開発をもたらしました。
00:06:45そこが面白いと思う点です。BunはJavaScriptのランタイムですよね?
00:06:50Node.jsの代替であり、それは素晴らしいことですし、存在意義も大きいです。
00:06:56しかし、そのようなNode.jsの代替品に何を期待するでしょうか?
00:06:59まあ、Node.jsとの互換性や、Node.jsの進化に追従することを期待するでしょう。
00:07:07そして、Bunが常に提供してきたような、パフォーマンス向上などの洗練された機能もです。
00:07:14それは素晴らしいことです。
00:07:15そして、Bunはほとんどの部分において、かなり高い互換性を持っています。
00:07:22ここに比較表はありますか?
00:07:25BunのNode.js互換性について。
00:07:29かなり高い互換性がありますが、一部のニッチな機能が完全にはサポートされていません。
00:07:37しかし、全体的にはかなり良好です。
00:07:40しかし、ここからが面白いところです。
00:07:42最近のドキュメントを見ると、まず、BunにはSQLiteクライアントが組み込まれていることが分かります。
00:07:51組み込みのSQLクライアント、S3クライアント、Redisクライアント。これらは個人的に非常に便利だと感じています。
00:07:59これらはかなり前から搭載されています。
00:08:03ここでの狙いはもちろん、プログラムやウェブサーバーを構築しやすくすることです。
00:08:10SQLiteやS3を利用するようなサーバーですね。
00:08:12私も多くのサービスでこれらを多用しています。
00:08:15本当に便利だと思います。
00:08:17しかし、他にもこんなものが見つかります。どこだったかな?
00:08:22WebViewです。
00:08:24このWebViewです。
00:08:25これは興味深いと思います。なぜなら、このWebViewは一つの機能、つまりBunのAPIであり、
00:08:34Bunで実行しているJavaScriptやTypeScriptのコード内で使用できるからです。
00:08:39これにより、ヘッドレスブラウザを起動し、その中でクリック操作などを行うことができます。
00:08:46本質的には、Playwrightでできるようなことです。
00:08:49Playwrightはもちろん、E2Eテストツールです。
00:08:54Playwrightの背後にある主なアイデアは、以前はそう呼ぶべきかもしれませんが、E2Eテストに使えるということです。
00:09:04つまり、自分のウェブサイトをテストしたり、特定のユーザーフローをテストしたりするためにコードを書くことができます。
00:09:13今やAIによって、その状況が少し変わりました。
00:09:15現在、PlaywrightはMCPサーバーなどを通じて頻繁に利用されています。
00:09:22Claude CodeやCodexなどのツールが、自分の書いたコードをテストできるようにするためです。
00:09:29つまり、アプリケーションを構築している、いや、Claude CodeがReactアプリなどを構築しているとします。
00:09:40それをテストするために、Playwright MCPのようなものを使ってブラウザを開き、
00:09:47クリック操作をして、意図通りに動作し、見た目が整っているかを確認することで、ループを閉じることができます。
00:09:54エージェントが自分の出力を検証できるのです。
00:09:56それがPlaywright MCPのようなものの背後にある考え方です。
00:09:59つまり、Playwrightのようなツールは、単なるE2Eテストツールから、
00:10:05AIエージェントが変更内容を検証するために活用できるツールへと、役割が少しシフトしたのです。
00:10:15そして、これがBunに関する面白い部分です。
00:10:17チャットでKevin Uryさんが「自分の意見では、WebViewのようなものはランタイムに属さない」と言っています。
00:10:22これは非常に良い指摘です。なぜなら、それが私がBunに対して感じている興味深い点でもあるからです。
00:10:29かつてはJavaScriptランタイムでした。
00:10:32主に、いや主にとは言いませんが、主な用途の一つは、今もそうですが、ウェブサーバーの構築でした。
00:10:43しかし今や突然、複雑なアプリケーションやCLIツールを構築し、例えばウェブサーバーを起動できるようになりました。
00:10:52そして先ほど言ったように、一つのユースケースはAIエージェントによる作業の検証であり、彼らはMCPを通じてそれを行うかもしれません。
00:11:01でも、考えてみてください。
00:11:02言った通り、Bunを買収したのはAnthropicです。
00:11:05そしてAnthropicはClaude Codeを所有しています。ですから、Claude CodeにWebViewが組み込まれているのは理にかなっています。
00:11:13Playwright MCPやブラウザ利用を提供する他のMCPを必要とせずに、Claude Codeがブラウザを開いて操作できるようにするためです。
00:11:24専用のツールを使うことには、まだ特定のメリットがあるかもしれません。
00:11:29機能が豊富だったりするでしょうが、当然ながらAnthropicにとっては、これらの機能をBunに組み込む強い動機があります。
00:11:40理由は明白です。そうすることでClaude Codeの開発が容易になるからです。
00:11:45したがって、今後もBunには、皆さんのアプリケーションでも使えるような機能がどんどん追加されていくでしょうが、
00:11:59それらはAnthropicやClaude CodeのようなAIエージェントの要件に合わせて、特別に設計や最適化がなされていると考えるのが妥当でしょう。
00:12:08それが必ずしも悪いことや問題だとは思いません。使う必要はないのですから。ただ、APIの表面積が肥大化するのは確かです。
00:12:19もちろん、本来Bunを構成する伝統的な部分に割かれるべき開発リソースや人員が奪われる可能性もあります。
00:12:32もっとも、AIを使えば開発能力が上がるので、より多くのことを同時にこなせると主張することもできますが、
00:12:39それでも興味深い傾向です。そして、これは他の分野でも見られることです。
00:12:45BunのX(旧Twitter)アカウントを見ると、依然としてパフォーマンス向上などの改善もリリースされていますが、
00:12:58今度はこれが出てきます。Bunが画像を操作できるAPIです。
00:13:09もちろん、ImageMagickのようなツールを使えば可能です。これはCLIから呼び出せるツールです。
00:13:21こんにちは。そういったツールをインストールして、プログラム的、あるいは最終的にCLIで画像を変換することができます。
00:13:31それが突然、Bunに組み込まれるようになります。
00:13:37繰り返しになりますが、これが悪いとか問題だとは思いませんし、チャットのコメントも後で読みますが、やはり興味深いです。
00:13:49さて、この機能は特定のウェブアプリやCLIで使えるかもしれませんが、
00:13:56これもまた、Claude Codeにとって興味深い機能であることは間違いありません。
00:14:01なぜなら、これらのエージェントは画像を生成したり、分析したりすることもできるからです。
00:14:08ですから、Claude Codeがネイティブで画像のリサイズやクロップができるようになるのは面白いことでしょう。
00:14:15他にも色々とあります。確か、Markdownのレンダリングに関するものもあった記憶があります。
00:14:25もちろん、Claude Codeのために作られたわけではない機能もたくさん追加されています。そこははっきりさせておきたいです。
00:14:33私は実際にBunが好きです。それもはっきりさせておきたいですが、それでも彼らが取っている方向性は興味深いです。
00:14:40ええ、見つかりませんが、少し前にターミナルでのMarkdownレンダリングがBunに組み込まれているという話もありました。
00:14:51そういった類のものですね。
00:14:55ですから、要約すると、AnthropicがBunを買収した後、それはAnthropicのためのツールになりつつあることがはっきりと見て取れます。
00:15:06もはや明らかに、独立したランタイムではありません。
00:15:13その代わりに、ええ、依然としてランタイムではありますが。
00:15:18彼らが今もランタイムとしての開発を真剣に捉えていることは見て取れますが、間違いなくAnthropicのためのツールでもあります。
00:15:26はい、映像がまた遅延しているようで申し訳ありません。
00:15:30先ほどもそうでしたが、残念ながら既にネットワークを切り替えており、何が原因か分かりません。
00:15:36このライブ配信の後に調査します。すぐにもう少し安定することを願っています。
00:15:43さっきまでは良かったのですが。
00:15:46さて、チャットを読みますね。
00:15:53「macOSを使っているのを見て思い出しましたが、同僚とのビデオ通話が毎回遅延していたのですが、メモリ不足が原因でした。彼はブラウザのタブをいくつか閉じると直ります」
00:16:01ああ、それかもしれませんね。
00:16:05ええ、ブラウザのタブをいくつか閉じてみます。それが魔法の解決策かもしれません。
00:16:11タブをいくつか閉じます。これで改善されるなら最高です。ありがとうございます。
00:16:19「Bunがあって良かった唯一の理由は、Nodeの進化を早めてくれることだ」なるほど、一理ありますね。
00:16:26「お会いできて嬉しいです、素晴らしい活動を続けてください」ありがとうございます。
00:16:33ええ、結局のところ、Bunについて共有したかったのはそういうことです。興味深いと感じましたし、今後Bunがどちらの方向に進むのか注目したいです。
00:16:44個人的には本当に素晴らしいランタイムであり、Node.jsの素晴らしい代替品だと思っています。高速なのと、SQLiteやS3クライアントのような便利な機能が組み込まれていて、余計な依存関係を減らせるため、自分のプロジェクトはすべてBunで構築しています。特にサプライチェーン攻撃が問題となっている今、それは非常に価値のあることだと感じています。
00:17:13今は1FPSですね。よし、大量のタブを閉じ、たくさんのツールを終了させました。もう閉じられるものはほとんど残っていません、正直なところ。
00:17:34今はOBS以外、ほぼすべてを閉じました。
00:17:43これで助かるといいのですが。イライラしますね。
00:17:50また接続品質が低下しています。
00:18:00良くなるか見てみましょう。
00:18:03「ジュニア層はどのようなデータベースや認証ライブラリを学ぶべきですか? PostgresとBetter Authですか?」
00:18:09はい、PostgresとBetter Authは良い選択肢だと思います。
00:18:14「なぜフォークして必要なツールを統合しないのですか?」
00:18:18Bunをフォークするということですか? Anthropicが? なぜ彼らがBunをフォークしないのか。おそらくBunが破綻するのを防ぎたかったのと、Bunチームの専門知識を確保することが彼らにとって価値があったからでしょう。
00:18:34Bunを作った人たちが開発を続けることは重要です。AIがあるとはいえ、そのツールの隅々まで知り尽くしている人がいることは、やはり非常に価値があるからです。
00:18:50ええ、Electronアプリはほぼすべて終了しました。もう何も動いていません。
00:19:02ですから、システム上でメモリを占有しているものはもうあまりないはずです。アクティビティモニタを見てみましょう。
00:19:13ええ、空きメモリは十分にありますね。
00:19:37大丈夫なはずです。今はエージェントも動かしていません。
00:19:47「画面遷移をたくさんすると映像が遅延したりフリーズしたりします」メモリ問題の指摘は本当に筋が通っています。ただ、本当にすべて終了させたんです。
00:20:05このシステムでメモリを消費しているものは、もうほとんど残っていません。
00:20:15そこが不思議なところです。
00:20:22そこが解せません。
00:20:31ええ、もちろんOBS自体の可能性もありますが。アクティビティモニタではそれほど悪くないんですけどね。
00:20:49いいえ、すべて正常に見えます。何が問題なのか分かりません。
00:21:01OBSの設定はいつもと同じです。「仕事を見つけるためにBunを学ぶ価値はありますか?」ウェブサイトのせいではないと思います。
00:21:11もしBunのウェブサイトのせいだとしたら最悪ですね。
00:21:17よし、閉じましょう。このサイトは他の配信でも開いていましたが、それが問題でないことを願います。
00:21:26何も見せずに配信することもできますが。
00:21:29とにかく、これらのタブはすべて閉じました。様子を見てみましょう。
00:21:38それと。2枚目の画面のタブも閉じますが、あちらも大して開いていません。
00:21:57よし。人生でこんなにタブを開いていないのは初めてです。いえ、バックグラウンドでのダウンロードもありません。
00:22:08いいえ。「ドイツでStarlinkは利用できますか?」できると思いますよ。たぶん。
00:22:13でもネットワークは問題なさそうです。実際、ネットワークは良好なようですし。
00:22:17それに、どのみちネットワークは切り替えました。ローカルネットワークからスマホの回線に変えても同じ問題が起きましたから。
00:22:29そちらは大丈夫そうです。ちなみに興味深いことに、OBS側ではドロップフレームもスキップフレームもゼロで、全く問題ないと表示されています。
00:22:39OBSでの統計は完璧なんです。でもYouTubeを見ると接続不良と表示されている。
00:22:50これは非常に興味深いですね。
00:22:54万策尽きました。本当に設定は何も変えていないんです。「AIに遅延の理由を聞いてみては」
00:23:10そうですね、やってみましょう。「OBS経由の配信が遅延しています」
00:23:26「なぜ?」AIが役に立つか見てみましょう。
00:23:33いいえ、サブモニターが原因ではないはずです。いつも使っていますし、これがないとチャットが見られません。
00:23:41ただのノートPCで、もう一つが録画用の画面です。
00:23:48一つはドロップフレーム。いいえ、ドロップフレームはありません。スキップされたフレームもゼロです。
00:24:01ええ、分かりませんね。
00:24:09ちなみにTwitchでも同じ問題が起きていますか?
00:24:22YouTubeのチームが何かコードを書き換えたのかもしれませんね。
00:24:28本当に、すべて閉じました。
00:24:32完璧だと表示されているのですが。

Key Takeaway

Anthropicによる買収後のBunは、単なるNode.jsの代替ランタイムから、Claude CodeのようなAIエージェントの開発と動作に最適化された専用ツールへと進化している。

Highlights

  • AnthropicによるBunの買収は、TypeScriptプログラムを単一の実行ファイルにコンパイルする機能が主な要因である。

  • Claude CodeはBunのAPIと単一ファイル実行機能を活用して構築されたCLIツールである。

  • BunにはSQLite、S3、Redisのクライアントが標準で組み込まれており、外部依存関係を削減できる。

  • 最新のBun APIにはネイティブのWebView機能が追加され、AIエージェントによるブラウザ操作の検証が可能になった。

  • 画像のリサイズやクロップを行う画像操作APIがBunに直接実装された。

Timeline

配信トラブルの発生とネットワークの切り替え

  • 配信開始直後から映像の遅延とフレームレートの低下が発生した。
  • メインネットワークからスマートフォンのテザリング回線に切り替えても遅延は解消されなかった。
  • OBSの設定は1年以上変更していないが、YouTube側では接続良好と表示される矛盾が生じた。

配信環境の画質と安定性を確認する作業から始まり、原因不明のラグに直面した。インターネット接続の問題を疑い、完全に別のネットワークであるモバイル回線へ移行したが、映像の遅延は継続した。OBSの統計上はドロップフレームが発生していないため、ソフトウェアの設定やハードウェアの負荷、あるいはプラットフォーム側の要因を順次検証した。

AnthropicによるBun買収の背景とClaude Code

  • 収益化の課題を抱えていたBunをAnthropicが買収した。
  • TypeScriptを単一の実行ファイルにコンパイルできる機能が買収の決め手となった。
  • Claude CodeはBunの実行機能を基盤としたCLIツールとして設計されている。

ベンチャーキャピタルの出資を受けていたBunが、独立したホスティング製品による収益化を模索していた段階でAnthropicに統合された経緯がある。Anthropicの目的は、自社のAIツールであるClaude Codeの配布と実行を容易にすることにある。Bunが高いNode.js互換性を維持しながら、独自の進化を遂げる土壌がこの買収によって形成された。

AIエージェント向けに最適化される新機能

  • Bunに組み込まれたWebView APIにより、Playwrightのような外部ツールなしでブラウザ操作が可能になる。
  • AIエージェントが生成したコードの動作を、自身でブラウザを開いて検証するループが完結する。
  • 画像操作やMarkdownレンダリングなどの新機能は、Claude Codeの要件に合わせて優先的に開発されている。

標準搭載されたSQLiteやS3クライアントに加え、WebViewや画像操作APIといったランタイムの枠を超えた機能が拡充されている。これらはAIエージェントがタスクを遂行し、その結果を視覚的に検証するために必要なコンポーネントである。APIの肥大化や開発リソースの偏りという懸念はあるものの、AI開発に特化したツールとしての性質が強まっている。

システム負荷の検証とコミュニティの反応

  • メモリ不足を疑い、ブラウザのタブやElectronアプリをほぼすべて終了させたが改善は見られなかった。
  • Bunは依存関係の少ないプロジェクト構築において、サプライチェーン攻撃対策として有効である。
  • 開発チームの専門知識を維持するため、フォークではなく買収という形態が取られた。

視聴者からのアドバイスに基づき、アクティビティモニタでメモリ使用量を確認しながらバックグラウンドプロセスを排除した。BunがNode.jsの進化を刺激する存在であるという意見や、実務での採用価値についての質疑応答が行われた。最終的に、ハードウェア負荷や設定変更が原因ではないまま、配信プラットフォーム側の仕様変更の可能性を残して調査を継続することとなった。

Community Posts

View all posts