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

MMaximilian Schwarzmüller
Computing/SoftwareJob SearchAdult EducationInternet Technology

Transcript

00:00:00それでは、見ていきましょう。
00:00:24高速エンコーディングのプリセット、それは設定済みですね。
00:00:41さて、でもまだOBSで警告が出ているようです。
00:01:01エンコードが過負荷ですが、今は非常に速い設定に下げてみました。
00:01:06システムで他に動いているものはないので、
00:01:15OBS自体の問題かもしれないと考えています。
00:01:19よし、まあ、様子を見てみましょう。
00:01:28ラグが発生しないことを願っています。
00:01:34今日の問題が何なのか、全く見当がつきません。
00:01:40本当に全く分かりません。
00:01:49同じセットアップで、もう50回くらい配信してきましたが、
00:01:57今になって突然、すべてが壊れてしまいました。
00:02:00ええ、これが最後のアテンプトになるでしょう。
00:02:05もしまたラグが始まったら、ポッドキャストに切り替えるか、
00:02:14来週に延期することになりますが、それは最悪ですね。
00:02:16本当に最悪です。
00:02:17そう、そんな感じです。
00:02:18まだ見てくれている皆さん、こんにちは。
00:02:20トラブル続きで本当に申し訳ありません。
00:02:22何が起きているのか、本当に見当がつかないんです。
00:02:27パフォーマンスが売りの「Bun」について話そうとしている時に、
00:02:32パフォーマンスが皆無というのは、ある意味皮肉ですね。
00:02:38今は完全にラグがなくなりました。
00:02:40よし。
00:02:41このままの状態が続くことを願いましょう。
00:02:43今は怖くて何も触れません。
00:02:48というわけで、配信の残りの時間は、ChatGPTが教えてくれた
00:02:54問題解決のための指示画面が表示されたままになると思います。
00:02:56ちなみに、私はここにある指示に従いました。
00:02:59ええ、YouTubeはTwitchよりも遅延している可能性がありますね。
00:03:03おっと、何か触ってしまった。
00:03:08最善を祈りつつ、お付き合いいただき本当にありがとうございます。
00:03:15個別のプラットフォームの遅延までは制御できないと思います。
00:03:19そこで何かを変えたわけではありませんから。
00:03:23さて、とにかく、完全に話が脱線してしまいました。
00:03:32Bunです!
00:03:36素晴らしいパフォーマンスと、奇妙な進化を遂げています。
00:03:40間違いなく、人間のような(Anthropic的な)目的のために調整されたツールになりつつあります。
00:03:49AIモデル作成コースや、より多くの生成AIコードの解説を期待しています。
00:03:56AIに関して興味深いのは、まずAIモデルの作成コースについてですが、
00:04:04その分野に関しては、私は全く専門知識がありません。
00:04:06ですから、そのコースを作ることはないでしょう。
00:04:08AIを活用するコースは間違いなく計画していますが、非常に難しいのは、
00:04:14関連する事柄の変化が激しすぎて、まだ形にできていないことです。
00:04:18私が持っているのは、もちろんCursorのようなツールに関するコースです。
00:04:22ただ、自分のAIの使い方を見せたくないのは、1ヶ月後には
00:04:28全く違う使い方をしている可能性が高いからです。
00:04:31ええ、皆さん温かいフィードバックを本当にありがとうございます。
00:04:34Vaishnaf Dattirさん、ありがとう。でも近い将来にそのようなコースを出す予定はなさそうです。
00:04:42AIの難しいところは、好きな人もいれば、
00:04:47嫌いな人もたくさんいるという点です。
00:04:48私自身も、複雑な心境(mixed relation)を持っています。
00:04:52AIがなかったとしても悲しくはありませんが、現に存在しています。
00:04:56ですから、それを最大限に活用しようと努めています。
00:05:00ただ、現時点で全員に受けるコースやコンテンツを作るのは難しいですね。
00:05:07でも最善を尽くしています。
00:05:08基本的には、自分が取り組んでいること、学んでいること、楽しんでいることを
00:05:14カバーし、それを共有しようとしています。
00:05:18先週からBunのドキュメントを読んでいますが、とても魅力的ですね。独自のルーティングを使いたいです。
00:05:23でも何が足りないのでしょうか?
00:05:24Honoのようなミドルウェア構造でしょうか。
00:05:25ええ。
00:05:26先ほども言いましたが、私もBunの大ファンです。
00:05:27ファンといえば、MacBookのファン(送風機)の音が
00:05:32また静かになってきたのは良い兆候ですね。
00:05:39エンコードの問題が解決されたことを願っています。
00:05:41何が問題だったのか分かりませんが、ここでは何も触らないようにします。
00:05:45とにかく、私もBunが好きです。
00:05:49また、ドキュメントが本当によくできていると思います。
00:05:53人間にとっても、エージェントにとってもですね。エージェント(AI)は
00:05:57そこから情報を引き出すのが非常に簡単なんです。
00:06:03リンクを渡し、ページ内容をコピーし、マークダウンとして表示して
00:06:04そのリンクをコピーするだけです。
00:06:11ですから、すべてが本当によくできています。
00:06:12Honoに言及されましたが、Honoも本当に優れたフレームワークです。
00:06:14最近、REST APIなどのウェブアプリケーションを構築する際の
00:06:23私のデフォルトスタックは、通常BunとHonoです。
00:06:28それがとても気に入っています。
00:06:32Honoは非常にエレガントで無駄のない、詳しく調べる価値のあるフレームワークだと思います。
00:06:33多種多様なホストや、もちろんVPSにもデプロイ可能です。
00:06:42ミドルウェアはもちろん、ルーターなども備わっています。
00:06:48また良い点として、Bunにも多くの機能が組み込まれています。ミドルウェア部分以外は。
00:06:52ミドルウェアは自分で構築する必要がありますが、ルーティングは組み込まれています。
00:06:58実は、必要であればファイルシステムルーターも備えています。
00:06:59ですから、何も追加でインストールしなくても、ファイルシステムを使ってルートを定義できます。
00:07:05また独自のルーティングAPIも持っているので、このようにBunサーバーを立ち上げ、
00:07:08このようにルートを登録できます。さらに細かく、例えば
00:07:13異なるパスに対して異なるルートメソッドを定義することも可能です。
00:07:21どこだったかな?
00:07:28Post(投稿)かな。
00:07:32このページにはないのでしょうか?
00:07:33異なるルートメソッドを定義できます。
00:07:34なぜこのページにないのでしょう。
00:07:36どこにありますか?
00:07:43サーバーのセクションですか?
00:07:50ええ。
00:07:51パスを指定して、メソッドごとに異なる関数を登録できます。
00:07:52それは非常にエレガントで素晴らしいと言えるでしょう。
00:07:53ですから、BunとHonoは本当に素晴らしいです。
00:07:58今後、Bunがどのように発展していくのか、そして基本的に
00:08:04ウェブサーバー用のランタイムとして進化し続けるのか興味深いですね。
00:08:07パフォーマンスやそれに関連する新機能を優先し続けるのか、そのように見えますが。
00:08:14はっきりさせておきたいことがあります。
00:08:20BunのX(旧Twitter)アカウントを見ると、ランタイム部分などを
00:08:26明らかに支援するアップデートを多く共有しています。
00:08:28ですから、Bunが優れたランタイム、ウェブサーバー構築のための
00:08:39優れたソリューションであり続けることは間違いないと思いますが、
00:08:41このままの路線で行くのか、あるいは「Anthropic(人間的な)ツール」へと変貌し、
00:08:50AIエージェント構築に特化したツールになるのか、そこが注目されます。
00:08:55それも面白いでしょうが、非常に高速で機能豊富な素晴らしいランタイムなので、
00:09:01(今の路線から外れるなら)少し寂しい気もします。
00:09:06でも、このままの良さを維持してくれると思います。
00:09:10ベクトルデータベースはAIアプリの鍵ですが、学ぶのに良いリソースはありますか?
00:09:13また、それをカバーするコースを検討していただけますか?
00:09:17ええ、ベクトルデータベースのコースは検討しました。
00:09:19例えばQdrantなどは、セルフホストも可能で非常に興味深いものだと思います。
00:09:23実際に、以前配信を行いました。おっと、自分のタグが分かりませんね。
00:09:29昨年、RAGとベクトルデータベースについての配信を行いました。
00:09:40別のチャンネル、「Max Schwarzmüller Extended」にあります。
00:09:47以前はそのチャンネルに配信をアップロードしていました。
00:09:49今はもうやっていません。
00:09:52ここ、YouTubeのメインチャンネルにそのまま残しています。
00:09:54とにかく、ここでRAGの構築についての配信を行いました。
00:09:56おっと、私が(画面の)前に被っていますね。
00:10:00Qdrantを使ってRAGシステムを構築する配信を行いました。
00:10:02それは皆さんの参考になるかもしれません。
00:10:071年前のものですが、今でも十分通用する内容です。非常に興味深いですから。
00:10:09ただ最近思うのは、ベクトルデータベースが、かつて考えられていたほど
00:10:13AIアプリケーションにとって重要であり続けるかどうかは疑問です。
00:10:22というのも、今は「エージェント検索(agentic search)」こそが未来であるように見えるからです。
00:10:28AIエージェントがVPSやCloudflare、あるいはあなたのMacBookやPC上で
00:10:34動いているとしましょう。環境は何でも構いません。
00:10:36そこにファイルシステムを与え、その中に大量のドキュメントを置きます。
00:10:41もちろんユースケースによりますが。
00:10:42もし何十万ものドキュメントを扱うなら、まだ(ベクトルDBの方が)可能かもしれませんが、
00:10:49少しトリッキーになるでしょう。
00:10:51しかし、例えばエージェントが把握しておくべきドキュメントが
00:10:56100個程度、あるいはエージェントが利用可能な状態にある場合を
00:11:01考えてみてください。
00:11:03最近では、ベクトルデータベースに接続するよりも、単にエージェントに
00:11:08ファイルシステムを与えて自由にやらせる方が効率的に思えます。
00:11:13もちろん、いつものようにケースバイケースです。
00:11:15何を構築しようとしているかによりますし、セマンティック検索やベクトルデータベースには
00:11:20それぞれの用途があり、非常に便利です。
00:11:24ですが、エージェント検索やエージェントへのファイルシステム付与も面白いかもしれません。
00:11:29この内容でコースを作ることを検討するか?
00:11:31はい、もちろんです。
00:11:32ファイルシステムにアクセスして様々なことが可能なAIエージェントの作成と、
00:11:36ベクトルデータベースの部分、その両方ですね。
00:11:40実際、すでに私のコースの一つでそれをカバーしています。
00:11:45私の「ChatGPT 生成AI総合コース」において、昨年大きなアップデートを
00:11:51リリースし、RAGに関する新しいセクションを追加して基礎も網羅しました。
00:12:00単独のコースも面白そうですし、ぜひやってみたいです。
00:12:04ただ、アイデアが多すぎてお約束はできませんが、興味はあります。
00:12:07ええ。
00:12:12心配いりません。あなたのFlutter、React、Node.jsコースから多くを学びました。5年前に私のプログラミングの旅が始まりました。
00:12:16ありがとうございます。さらなる成功を願っています。これからも成長し続けてください。
00:12:20本当にありがとうございます。
00:12:21ところで、技術的な問題が発生している間も付き合ってくださった皆さんに感謝します。
00:12:25幸い、今は解決したようです。
00:12:27さて、教えることに集中しましょう。
00:12:29そして、温かいお言葉をありがとうございます。
00:12:31すべて読ませていただいています。本当に励みになります。
00:12:34素晴らしいフィードバックを、本当にありがとうございました。
00:12:39コーディングエージェントはたくさんありますが、結局はLLMモデルに送られる
00:12:42コンテキストの管理がすべてですよね。
00:12:43ですから、主に大企業のコーディングエージェントを使うことになるかもしれません。
00:12:47ええ、今は「開拓時代(Wild West phase)」真っ只中ですよね?
00:12:52あまりにも進化が速すぎます。
00:12:57毎日、新しいエージェントやフレームワーク、あるいはエージェントを
00:13:04実行できる新しいサービスが登場しています。
00:13:06本当に多くのことが起きています。
00:13:071年後くらいに、ようやく落ち着いて(dust settles)、何を使うべきか、
00:13:12どうやって特定のものを構築すべきかが見えてくるでしょう。
00:13:20ええ。
00:13:23でも、ものづくりと言えば、もともとのアイデアはBunを探索することでしたし、
00:13:29それは達成できたと思います。
00:13:30少なくとも、その開発について共有したかったことは話せました。
00:13:34最近、JavaScriptのウェブ開発に関連するものを作っているなら、
00:13:42Bunは素晴らしい選択肢です。
00:13:43ええ、それが重要です。
00:13:44たとえランタイムを使いたくないとしても、それは良い選択になります。
00:13:48それが嫌いだったり、使えなかったり、使いたくなかったりしてもです。
00:13:51しかし、そうでなくてもパッケージマネージャーを使うのは興味深いかもしれません。
00:13:59というのも、Bunは実際には複数のものの組み合わせだからです。
00:14:02ランタイムでもあるので、ウェブサーバーの構築や
00:14:07CLIの構築に使用します。
00:14:09しかし、同時にパッケージマネージャーでもあります。
00:14:12ですから、NPMの代わりにパッケージのインストールに使えます。
00:14:17そして、ここで本当に素晴らしく、便利なのが「bunfig」ファイルです。
00:14:32これはBunの設定ファイルです。
00:14:34パッケージマネージャーにとっても重要な役割を果たします。もちろん、
00:14:38そこで多くの設定ができるからです。
00:14:40パッケージマネージャー用に設定できることがいくつかあります。
00:14:46一つは、この「最小リリース経過時間(minimum release age)」というものです。
00:14:51これは「bunfig.toml」ファイルに追加できる項目です。
00:14:55これを設定すると、「bun install」や「bun update」を実行するたびに、
00:15:02ここで指定した時間以上経過したパッケージバージョンのみを
00:15:10プルしてインストールするように保証してくれます。
00:15:12これは秒単位で指定します。例にある値なら3日間ですね。
00:15:16では、なぜこれが有用なのでしょうか?
00:15:18それは、現在サプライチェーン攻撃が
00:15:24ほぼ毎日起きているような状況だからです。少なくとも私にはそう感じられます。
00:15:27これまでのところ、こうしたサプライチェーン攻撃の多くは
00:15:34通常、数時間以内に比較的早く検知され、対処されています。
00:15:39しかし、パッケージが侵害されているその時間枠内に
00:15:46インストールしてしまえば、マシンも侵害されてしまいます。
00:15:48それは明らかに最悪な事態です。
00:15:49そこでこの設定を使えば、リスクを大幅に軽減できます。
00:15:57オンラインになって数日経過したパッケージ版のみをダウンロードするからです。
00:16:00通常、その頃にはサプライチェーン攻撃は対処されています。
00:16:04これを行っているパッケージマネージャーは Bun だけではありません。
00:16:07例えば pnpm にも同様の機能があります。
00:16:11ですから、そちらを使うことも当然可能です。
00:16:13とにかく、このような設定を利用することをお勧めします。
00:16:16また npm にも、名前を忘れてしまいましたが、比較的最近追加された
00:16:23同様の設定ができる機能があります。
00:16:35正確な名称は思い出せませんが、min release age だったかな。
00:16:39「min-release-age」だったと思います。
00:16:42npm を使う際にも設定可能なはずです。
00:16:48いずれにせよ、こうした機能は使うべきです。
00:16:49Bun をパッケージ管理に使う利点は、この設定だけではなく、
00:16:53とにかく動作が非常に高速であるという点にもあります。
00:16:56その点でも私は気に入っています。
00:16:58また、Bun はバンドルにも使用できます。
00:17:01例えば Vite の代わりに使えます。厳密には Vite は単なるバンドラーではありませんが、
00:17:07バンドラー機能を備えています。
00:17:08通常、Vite が生成するプロジェクトにはバンドラーが含まれています。
00:17:13Vite の代わりに Bun を使って、ファイルの監視や開発サーバーの起動、
00:17:18プロジェクトのビルドを行うことができます。
00:17:20さらにテストランナーも付属しているので、Jest や Vitest の代わりに Bun を使えます。
00:17:26もちろん、Bun よりも Vite や Vitest などを選ぶべき理由は依然としてあります。
00:17:31それらはより多くの、そして興味を惹かれるような機能を備えていますから。
00:17:36もちろん、バンドルは Bun が行う多くのことの一つに過ぎませんが、
00:17:40Vite にとっては、それが中核となる機能であり重視している部分です。
00:17:46Vite のチームは独自のバンドラーである Rolldown も開発しており、Vite で使用されています。
00:17:51正直、私は普段 Bun のバンドラーはあまり使いません。
00:17:55テストランナーは実際のテストで使用していますが、
00:18:06主に使っているのはランタイムとパッケージマネージャーです。
00:18:07でも、Bun は本当に気に入っています。
00:18:11今後の方向性について、唯一問題にならないとは思いつつも、
00:18:16懸念点となり得ることが一つありますね。
00:18:19さて、Berkey さん、ご挨拶ありがとうございます。Shout out をくれた Selmetri さんもありがとう。
00:18:26あなたのチュートリアルの大ファンです。
00:18:27本当に、本当にありがとうございます。
00:18:28調子はどうですか?
00:18:29今は順調です。
00:18:30技術的な問題が発生してしまい、申し訳ありませんでした。原因は不明ですが、
00:18:35ありがたいことに、今はすべて再び安定しているようです。
00:18:38Remix 3 の動画を作る予定はあるかって?
00:18:41ベータ版が出たことに気づきました。
00:18:42ええ、私も気づいていました。
00:18:44まだ中身を確認できておらず、時間が取れていないのですが。
00:18:51ですが、Remix 3 を深く掘り下げる計画はあります。
00:18:57彼らはまだ全然完成していないと言っていませんでしたっけ?
00:19:06これはまだプレリリースであり、本番環境には適しておらず、やるべきことが山ほどあると。
00:19:11ええ、それを読んで、後回しにすることにしたんです。
00:19:16今は手一杯なので、まだ荒削りで未完成な状態のものに
00:19:22今は飛び込みたくなかったんです。
00:19:26でも、確か昨年、彼らのトークをどこかで見た覚えがあります。
00:19:32Remix Conf だったかな。
00:19:34彼ら自身のカンファレンスだったと思います。
00:19:37どうなるか楽しみですね。
00:19:40私の理解では、彼らはあるフレームワークを作ろうとしています。
00:19:45そもそも Remix とは何でしょうか?
00:19:47Remix はかつて、Next.js のような React フレームワークでした。
00:19:50それが 2020 年か 2021 年頃に彼らが掲げたビジョンでした。
00:19:57私は Remix が本当に好きでした。
00:19:59実際、私のサイトである Akatamite.com も、以前は Remix で構築されていました。
00:20:04今は違います。現在は Tanstack を使っていますが、以前は Remix でした。
00:20:10しかし、彼らは React のビジョンに満足できず、React から離れることを決めました。
00:20:15そして、AI エージェントに最適化されたフレームワークである
00:20:22Remix 3 を構築することにしたのです。
00:20:23エージェントが極めて理解しやすく、習得しやすいように作られています。
00:20:29当然ながら、Remix 3 のコードはエージェントの学習データには含まれていないでしょう。
00:20:34学習データの大部分は、2022 年以前などの古いデータですから。
00:20:40そんな時代ですね。
00:20:41そして明らかに、当時 Remix 3 は存在しませんでした。
00:20:43今もまだ、ベータ版が出たばかりで、実質的には存在しないようなものです。
00:20:47しかし、彼らはエージェントが簡単に理解できるものを構築したかったのです。
00:20:50ええ、もう少し完成度が上がったら、ぜひ試してみたいと強く思っています。
00:20:59それがどれほど上手く機能するのか興味があります。
00:21:02全体として、ウェブ開発の展望がどのように進化していくのか、
00:21:09非常に興味深いものになるでしょう。かつてはフレームワーク戦争がありましたが、
00:21:172019 年頃は、ほぼ毎日新しいフレームワークがリリースされていました。
00:21:23おっと、2021 年 11 月 22 日にリリースされたんですね。ありがとうございます。
00:21:30昔はそんなに JavaScript フレームワークがありましたが、最近は
00:21:34すべて落ち着きましたよね?
00:21:36今は、もっぱら AI とエージェントの話題ばかりです。
00:21:39私にとっても同じことが言えます。
00:21:40私は毎日、さまざまな AI モデルやエージェントを
00:21:45いじくり回して過ごしています。
00:21:47明らかに、それが私たちの進むべき方向だからです。
00:21:51基礎を知らなくていいという意味ではありません。それは非常に重要です。
00:21:55しかし、少なくとも私にとっては、これらの AI ツールをどう使い、
00:22:01どうやって有用な結果を引き出すかを理解することが重要なんです。私は開発者であり続けたいので、
00:22:06それは AI と共に開発することを意味します。
00:22:10ただ、私が言いたかったのは、今この時期に Remix 3 のような
00:22:16新しいフレームワークをリリースするのは、非常に時代錯誤な感じがするということです。
00:22:25それが間違っているという意味ではなく、十分な関心を集めるのが難しいだろうということです。
00:22:32Reactアプリケーションを提案してきます。
00:22:34通常、ReactやNext.jsなどのアプリケーションを提案します。
00:22:38ですから、開発者がAIに対して明示的にRemix v3を使うように指示する必要があります。
00:22:47それは今、AIにAngularやSvelteを使うよう指示するのと同じです。なぜなら、
00:22:54デフォルトは非常に多くの場合、Reactだからです。
00:22:57ですから、Remix v3が十分な人々が使い始めるほどの勢いを得られるかどうか、
00:23:04それは非常に興味深いところです。
00:23:05もちろん可能だとは思います。AI以前の時代も、
00:23:12開発者を納得させる必要がありましたから。ただ当時はもう少し簡単だったかもしれません。
00:23:17開発者が「オートパイロット」で作業していなかったからです。
00:23:19しかし、不可能なことではありません。
00:23:24彼らがそれに成功するかどうか、見守るのが楽しみです。
00:23:27そのためには、フレームワークが何か大きな利点を提供する必要があるでしょう。
00:23:34かつては、フレームワークが優れた開発体験(DX)を提供し、
00:23:40高速でパフォーマンスの良いアプリを実現できれば、それは大きなプラスでした。
00:23:44ちなみに、それがAngularにとって問題となった点でもありました。
00:23:50AngularJS(Angular 1)からAngular 2へと移行した時のことです。
00:23:53彼らは多くの破壊的変更を行い、非常に複雑に見えたため、
00:24:00多くの開発者を失ったのだと思います。
00:24:01それがReactに大きなチャンスを与え、Reactが普及する理由となりました。
00:24:06Reactはどのみち普及したかもしれませんが、Angular 1から2への移行が
00:24:11助けにならなかったのは確かです。
00:24:13昔は開発体験や構文などで開発者を惹きつける必要がありました。
00:24:18私の場合も、自分が美しいと感じる構文や、
00:24:25好きな書き方で仕事をしたいと思っていました。だから最初はJSXやReactが好きではありませんでした。
00:24:35ともかく、今日ではそういった重要性は薄れています。
00:24:43もちろん今でもコードを確認すべきですが、すべての開発者がそうするわけではありません。
00:24:48将来、コードレビューの重要性は低くなるかもしれません。重要なのは、
00:24:54アプリ全体のアーキテクチャを設計し、技術的な選択をすることです。
00:25:00したがって、構文の重要性は現在、そしておそらく将来的にも低くなっていくでしょう。
00:25:06かつての手法が通用しなくなっている時代に、フレームワークが
00:25:14どうやって開発者を獲得していくのか、非常に興味深いですね。
00:25:19Remixについて長く語りましたが、これが私の考えです。
00:25:21もう少し安定したら、ぜひ試してみたいとワクワクしています。
00:25:26私もここでnpm configキーを見つけるのに苦労しました。
00:25:31npmのドキュメントはあまり良くないと言わざるを得ません。
00:25:369年前にAngularを教えてくれて、AI時代になっても刺激を与え続けてくれて感謝しています。
00:25:41あなたのコンテンツは、私の開発者としての道のりを形作ってくれました。
00:25:43わあ、本当にありがとうございます、MS Athianarayananさん。とても励みになります。
00:25:52本当に、本当にありがとうございます。
00:25:53長年応援してくださっていると聞いて、とても嬉しいです。
00:25:559年前というのは、本当に長い時間ですね。
00:25:57そこから多くのことが変わりました。
00:25:599年前といえば、私が活動を始めたばかりの頃です。
00:26:01私が始めたのは、だいたい11年前くらいですから。
00:26:05ええ、本当にありがとうございます。
00:26:09今でもこうして見てくださっていて嬉しいです。
00:26:10状況は一変しましたが、これからも役立つ知識を共有できるよう最善を尽くします。
00:26:16本当に、多くのことが変わりました。
00:26:19動画の制作方法や、YouTubeで注目を集める方法など...
00:26:26話し出せばきりがありません。
00:26:27本当に様変わりしました。
00:26:28私も年を取るわけですね。
00:26:29AIエージェントがツールやコードを実行する必要がある場合、BUNは
00:26:34AIエージェント用のランタイムに進化できるでしょうか? それとも全く別の設計が必要ですか?
00:26:38素晴らしい質問ですね。
00:26:40BUNがよりAIエージェント向けのランタイムになる可能性は十分にあると思います。
00:26:46汎用ランタイムであり続けつつ、そういった
00:26:53エージェント機能を上乗せするのか、あるいは分けるのかは分かりませんが。
00:26:57AnthropicがBUNを買収したのですから、非常に強力な
00:27:04エージェント・ランタイムを構築するのは理にかなっています。
00:27:08Anthropicにとっては非常に大きな意味を持つでしょう。
00:27:11Web開発コミュニティで多くの支持を得られるかは分かりませんが。
00:27:14まあ、Anthropicがそもそもそこで支持を得ているかどうかも怪しいですが。
00:27:18とにかく、BUNが優れたエージェント・ランタイムになるための機能が
00:27:24どんどん追加されていく未来は容易に想像できます。
00:27:27サンドボックス化、ネットワークリクエストのプロキシ、ツールの管理、権限管理などですね。
00:27:33そういった機能です。
00:27:34そのようなものがBUNに導入されていくのは十分にあり得ます。
00:27:38正直なところ、そういったものがまだあまり普及していないのが少し意外です。
00:27:51彼らの進む方向は本当に興味深いです。あなたの動画も楽しみにしています。回答ありがとうございました。
00:27:54いえいえ、どういたしまして。
00:27:56もちろんです。
00:27:57ぜひ。
00:27:58フロントエンド開発者として、DockerやKubernetesを学ぶべきでしょうか?
00:28:02それについては、いくつか考えがあります。
00:28:05まず一つ目は、単なるフロントエンド開発者にとどまらないことを検討すべきだと思います。
00:28:14以前はそういう形もありましたが、AIの登場により、
00:28:21企業は「ジェネラリスト」な開発者を求めるようになる気がします。
00:28:27少なくとも今はそうです。5年後、10年後にどう変わるかは分かりませんが。
00:28:33また専門家が求められる時代になるかもしれません。
00:28:36しかし、現在はジェネラリストを目指すのが得策でしょう。
00:28:39特定の得意分野を持ちつつ、幅広く対応できるジェネラリストです。
00:28:43すべての専門家になる必要はありません。
00:28:45それは不可能です。
00:28:46ですが、やはりジェネラリストでありたいものです。
00:28:49それが一つの考えです。
00:28:50そして二つ目の回答として、Dockerの基礎を知ることは、
00:28:55ほとんどの開発者にとって間違いなく有用だということです。
00:28:59エキスパートになる必要はありません。
00:29:00超高度なDockerイメージを作ったり、Docker Swarmクラスターの
00:29:06複雑なマルチコンテナ構成を隅々まで理解したりする必要はありません。
00:29:14しかし、AIを使えば今やDocker Composeの設定ファイルや
00:29:20Dockerfileを作成し、コマンドを理解するのはかつてないほど簡単です。
00:29:24それに加えて、舞台裏でDockerがどう動いているのか、
00:29:31その核となる概念を理解しておくのは、非常に理にかなっています。
00:29:35Kubernetesに関しては、そこまで重要だとは思いません。
00:29:38必要になった時に学べばよく、事前に知っておくべきことではありません。
00:29:42ですがDockerについては、基礎を理解して学んでおくべきだと言えます。
00:29:49Next.jsがPagesからApp Routerに切り替わった時も、同じようなことが起きました。
00:29:52AngularとAngular 2の場合が、まさにその良い例ですね。
00:30:01今回のような大きな根本的変化は、常に起こり得ることです。
00:30:07それらは多くのものを壊す可能性があります。
00:30:09App Routerに関して言えば、コミュニティの要望に応えようとした結果でしたが、
00:30:16それでもなお、あのような形で行われました。
00:30:21正直な理由は分かりませんが、コミュニティを分裂させてしまったのです。
00:30:26そして、いくつかの要因があったと思います。
00:30:28Next.jsのApp Routerの問題の1つは、初期の非常に強力なキャッシュ機能でした。
00:30:33これにより、開発サーバーでの動作と、アプリのビルド後の動作が
00:30:42一致しない状況が発生しました。これはテスト済みのものが動かないという、最悪な事態です。
00:30:46デプロイ前にテストすべきですが、そのままデプロイすることもあるでしょう。
00:30:51すると突然、アプリが開発時とは異なる挙動を見せたのです。
00:30:55それは本当にひどいものでした。
00:30:57さらに、開発サーバーの動作も非常に低速でした。
00:30:59これらの問題が重なり、混乱が生じたため、私のように
00:31:01Remixに乗り換える人が増えたのだと思います。
00:31:06私がRemixに切り替えたのは、開発サーバーの問題やApp Routerでの開発体験が
00:31:08原因でした。
00:31:13他の人々も、それぞれのフレームワークへと移っていきました。
00:31:15現在では、私の経験上、Next.jsのApp Routerは非常にうまく機能しています。
00:31:17当時の問題のほとんどは解消されましたが、決してスムーズな移行ではありませんでした。
00:31:23さて、すぐに他の質問に戻りますが、
00:31:31「Dockerのコースはあるか?」という質問ですね。
00:31:34はい、あります。
00:31:36Academind.comにあります。
00:31:39こちらにありますね。
00:31:41Dockerのコースを用意しています。
00:31:42かなり大規模なコースです。
00:31:44すべてを網羅する必要はありません。
00:31:45基礎から始まりますので、
00:31:47最初の数セクションを完了するだけで、Dockerがどのように機能するか
00:31:49全体像を把握できるはずです。
00:31:53「パッケージの依存関係を捨てて、基礎に戻ることについてどう思うか?」
00:31:56これも非常に良い質問ですね。
00:32:01ここ数日、私が色々と試行錯誤しているテーマでもあります。
00:32:03パッケージをほとんど使用しないアプリケーションをどう構築できるか探っています。
00:32:07使用するパッケージの数を減らそうとしているのです。
00:32:15今のAI時代、多くのものを自前で構築することがかつてないほど容易になりました。
00:32:18ただ、これには問題もあります。サードパーティのライブラリを使えば、
00:32:22そのコードを自分でメンテナンスする必要がないからです。
00:32:30つまり、誰か他の人が責任を持ってくれているということです。
00:32:33オープンソースであれば少し意味が違いますが、言いたいことは分かりますよね。
00:32:36誰かが代わりにメンテナンスしてくれているのです。
00:32:40そして、AIが生成するコードも決して完璧ではありません。
00:32:42AIがすべてを生成できると信じたい人もいるかもしれませんが、
00:32:46現実はそう簡単ではありません。
00:32:52トレードオフが存在するのです。
00:32:54しかし、特定のパッケージを代替することは、以前よりも間違いなく容易になりました。
00:32:55それが最近私が取り組んでいることの一つです。
00:33:00例えば、私の個人サイトである maximilian-schwarzmueller.com は、
00:33:04非常にシンプルなウェブサイトです。
00:33:10ただのブログのようなものですよね?
00:33:11以前は、静的サイト制作に優れたAstro.jsを使用していました。
00:33:14ですが「これは必要ないな」と判断したのです。
00:33:22結局はただのHTMLファイルの集まりですから。
00:33:25そこでAIの力を借りて、AstroプロジェクトをバニラのHTML、CSS、JavaScriptに
00:33:28移行しました。ブログの記事も、今はテキストだけで書いています。
00:33:36それをAIにHTMLへと変換させています。
00:33:44近いうちに、非常に基本的なMarkdownパーサーを自作して使う予定です。
00:33:47このように、使用するパッケージの数を減らすことは可能です。
00:33:52最近のサプライチェーン攻撃を考えると、検討に値するかもしれません。
00:33:58少なくとも、私はそうしたいと考えています。
00:34:04サプライチェーン攻撃の被害に遭う可能性を減らしたいのです。
00:34:05それが、パッケージの使用量を減らそうとしている理由の一部です。
00:34:10名前を呼んでくれてありがとう。
00:34:19発音が完全に間違っていなかったことを願います。
00:34:20すみません。
00:34:23「あなたのAngular 2チュートリアルも見ていました」とのことですね。
00:34:25分かりますか?
00:34:28私たちもお互い年を取りましたね。
00:34:29ええ、本当に。
00:34:30その通りです。
00:34:31ああ、そうですね。
00:34:32あのAngular 2のチュートリアル。
00:34:33本当に素晴らしい時代でしたが、もう過去のことです。
00:34:34でも、そうですね。
00:34:38当時Angular 2に入門した際、私の大きな強みは
00:34:40Angular 1をほとんど使ったことがなかったことでした。
00:34:48そのため、困難な移行を経験せずに済んだのです。
00:34:49それに、当時はC#のバックグラウンドがあったので、Angular 2は好みでした。
00:34:51それ以前はC#をメインに扱っていましたから。
00:34:55だから、自分にとってはそれほど違和感がありませんでした。
00:34:58Angular 2は好きでしたよ。
00:35:03それを気に入っていた数少ない人間の一人だったのかもしれませんが。
00:35:04「マックス、2019年に私のWeb開発のキャリアを後押ししてくれてありがとう」
00:35:07こちらこそ、ありがとうございます、アンクル・サム。
00:35:12あなたのキャリアの一部になれたこと、そして当時助けになれたことを
00:35:14本当に嬉しく思います。JavaScriptフレームワーク戦争の黄金時代でしたね。
00:35:20Web開発が今後どうなるか見守っていきましょう。
00:35:27本当にありがとうございます。配信に参加してくれて感謝します。
00:35:30「あなたのコースで新しい言語やフレームワークを学んでいた時代が懐かしい」
00:35:34ええ、私も同感です。
00:35:39私のチャンネルにある「NoJoy」というビデオをすでにご覧になった方もいるでしょう。
00:35:41そこで私は、AIが登場する前の方が楽しかったと話しています。
00:35:55コーディングそのものがもっと楽しかったのです。
00:35:59今はより多くのものを構築できますし、それもまた楽しいことではあります。
00:36:01AIツールやモデル自体には、
00:36:04純粋に興味を惹かれます。
00:36:08しかし、コードを書いていた時に没入できた「フロー状態」が恋しいのは確かです。
00:36:10また、新しいライブラリを学ぶことも懐かしく思います。今でも新しいことは学べますし、
00:36:16常に新しいことを学び続けてはいます。
00:36:21ただ、最近の学習方法は以前とは全く異なります。
00:36:23新しいフレームワークやライブラリを今どう教えるべきか、まだ模索中です。
00:36:28学ぶべき新しいことはまだ存在すると信じていますから。
00:36:35AIが唯一の解決策ではありません。
00:36:37大きな助けにはなりますが、それだけではないのです。
00:36:41理解していないテクノロジーを、AI任せで使いたくはありません。
00:36:46テクノロジーをしっかり理解したいですし、どうすれば最適に学び、
00:36:51それを有意義な形で教えられるかを考えています。
00:36:55以前のように、ライブラリの構文を40時間かけて教えるようなスタイルは、
00:37:00もはや未来の形ではないと感じています。
00:37:04受講者がそのコードのすべてを自分で書くわけではないと分かっているからです。
00:37:10大切なのは「理解」することです。
00:37:11しかし、理解するための教え方は、書くための教え方とは異なります。
00:37:15「書く」という難易度の高い作業の比重が減っているからです。
00:37:19これからは、理解すること、パターンやベストプラクティスを知ること、
00:37:24そしてプログラムの設計やアーキテクチャが重要になります。
00:37:27将来はそういったことを教えていきたいと考えています。
00:37:29AIに関することばかりを教えるつもりはありません。
00:37:30それには興味がないのですが、何をどう教えるべきか、
00:37:35まだ答えを探している最中です。
00:37:38最近は変化があまりにも早いため、非常に難しい課題です。
00:37:42それが今の私の計画です。
00:37:43それでもやはり、あの頃が懐かしいですね。
00:37:46VueやVue 3を学び、そのコースを作るのは本当に楽しかったです。
00:37:54素晴らしい経験でした。
00:37:59もう一つ。
00:38:00「マニュエルと一緒にライブ配信をしてほしい」という要望ですね。
00:38:02彼を呼んでみてもいいかもしれません。いいアイデアですね。
00:38:03いいですよ、やりましょう。
00:38:04彼はもう行ってしまったかな。
00:38:0530分前には隣の部屋にいたのですが。
00:38:06今度連れてきますね。
00:38:12ああ、もう一つ宣伝を失礼します。
00:38:15すみません。
00:38:17マニュエルが実際に、Claudeに関する新しいコースをリリースしました。
00:38:18これはコーディングに関するものではありません。
00:38:22データ分析などに使える、一般的なAIツールとしての活用法です。
00:38:24興味があってマニュエルの姿が見たい方には、ぜひお勧めします。
00:38:29本日リリースされた、素晴らしいコースです。
00:38:32今の話が、完璧なまとめになっていると思います。
00:38:40私から付け加えることはあまりありません。
00:38:54パッケージを使わないことには利点がありますが、大きな欠点は
00:38:58すべてを自分でメンテナンスしなければならないことです。
00:39:02多くのエッジケースを見逃してしまうかもしれませんし、
00:39:03人気ライブラリで修正済みの深刻なセキュリティ問題が残る可能性もあります。
00:39:06いつものように、トレードオフの関係です。
00:39:11ですが、特定の用途においてパッケージを減らすことは、一考の価値があります。
00:39:13ただし、複雑なアプリケーションをバニラのHTML、CSS、JavaScriptだけで
00:39:21構築することはおそらくないでしょう。
00:39:26実験としては面白いかもしれませんが、良いアイデアだとは思いません。
00:39:28フレームワークやライブラリの話で言えば、先ほど触れたAdonis、Adonis.jsですね。
00:39:37前にも話しましたが、配信が不安定で途切れていたので、ここでもう一度繰り返します。
00:39:46私は10年ほど前、PHPのフレームワークであるLaravelを多用していました。
00:39:50そして、いつだったか、おそらく6年ほど前だったと思いますが、
00:39:51JavaScriptにもLaravelのようなフレームワークがないか探しました。
00:40:00そこで見つけたのがAdonisです。
00:40:08今もそうかは分かりませんが、当時は自らを
00:40:14「JavaScript版Laravel」として売り込んでいたと思います。
00:40:16今はどうでしょうか。
00:40:21そのコンセプトは、Webアプリ構築に通常必要となる機能のほとんどが
00:40:26最初から組み込まれているというものです。
00:40:28例えば、ページが違いますね、APIドキュメントはどこかな?
00:40:34ありました。
00:40:37認証のような機能が標準で備わっています。
00:40:45セッション管理やクッキーなど、あらゆるものが含まれています。
00:40:46LaravelにEloquentがあるように、SQL ORMも搭載されています。
00:40:47独自のフロントエンドソリューションも提供しており、
00:40:52EdgeJSという独自のテンプレーティングエンジンを持っています。
00:40:57それが彼らの哲学です。
00:41:03私はAdonisのエキスパートとして話しているわけではありません。
00:41:06違います。
00:41:09Adonisを使いこなしているわけではないのです。
00:41:116年ほど前に少し触ってみた程度ですから。
00:41:15ただ、ここ数週間、X(旧Twitter)の私のタイムラインで——
00:41:16最近は残念ながらAIの話ばかりですが——Adonisが少しずつ
00:41:19注目を集め始めているのを目にして、嬉しくなりました。
00:41:23ダウンロード数を見てみると……内部サーバーエラーですね。
00:41:31まあ、問題ありません。
00:41:37TanStackにもトレンドサイトがあったはずですが、
00:41:40なかったかな?
00:41:46これですね。
00:41:59不要な項目をいくつか削除しましょう。
00:42:17これ、正しいパッケージかどうか確信が持てませんね。
00:42:24おそらく違います。
00:42:28こちらのほうが良さそうです。
00:42:35Adonis.js Core。
00:42:50探していたのはこれです。
00:42:52なるほど。
00:42:58ご覧の通り、わずかな上昇傾向が見て取れます。
00:43:01もちろん、それほど劇的ではありません。
00:43:02依然として小規模なフレームワークであることに変わりはありません。
00:43:03しかし、上昇傾向にあるのは非常に興味深いことです。
00:43:08私はそのアイデアが好きですし、なぜもっと普及しないのか不思議に思っていました。
00:43:106年前に深く掘り下げなかったのは、単に運の悪い偶然でした。
00:43:14少し触ってみたものの、
00:43:21深く追求するための時間が足りなくなってしまったのです。
00:43:27コースのアップデートや、別の大きなコース制作が重なっていました。
00:43:35一つのことが終われば別のプロジェクトがあり、つい忘れてしまうものです。
00:43:38当時から、これは完璧な形だと思っていました。
00:43:43コースのアップデートや、他にやりたい
00:43:48大きなコースがあったりして、次から次へとタスクが増え、
00:43:53その存在を忘れてしまうものです。
00:43:55時々「これは完璧だ」と思うこともありましたが。
00:43:58興味深いのは、2020年頃になって
00:44:08フルスタックフレームワークが急に注目され始めたことです。
00:44:09もはやREST APIに接続された
00:44:19シングルページアプリケーションの話だけではなくなりました。
00:44:21もちろん今でも重要ですが、急にフルスタック
00:44:26アプリケーション構築が話題になり、Next.jsやRemix、
00:44:38フルスタックフレームワークへと進化させたがるのかと。
00:44:46Nuxtは2017年頃からありましたが、より普及し始めました。
00:44:48Next.jsも同様ですね。
00:44:502020年頃から勢いが増してきたように思います。
00:44:57そしていつも不思議に思っていました。なぜReact
00:45:08フレームワークをフルスタックにしたがったのか?
00:45:09なぜすべてがReact中心だったのか?
00:45:12なぜ最初からLaravelのようなフルスタックだった
00:45:18Adonisを使わなかったのか?
00:45:19その理由は、2018年や2019年当時、
00:45:28ReactやAngularでのSPA構築が
00:45:41主流であり、私にとっても非常に魅力的だったからです。
00:45:42Reactでアプリを作るのは本当に快適でした。
00:45:46私のように初期のウェブ開発を知っている人間なら、
00:45:52当時リアクティブなUIを作るのがどれほど大変だったか覚えているはずです。
00:45:57だからこそ、ReactやAngularのような解決策が好まれ、
00:46:01それが主流であり続けたのだと思います。
00:46:06そしてReactにフルスタックの解決策を求めるようになりました。
00:46:10それは今でも良いことだと思っています。
00:46:12TanStack StartやNext.jsも好きですが、それが
00:46:19Adonisが大きく普及しなかった理由かもしれません。
00:46:24今は残念ながらあまり時間がありませんが、
00:46:28多くのウェブアプリにとって素晴らしい解決策になると思うので、
00:46:34ぜひ触ってみたいと思っています。機能が豊富ですからね。
00:46:37Adonisにとっては不運なことに、ウェブの歴史的な流れで
00:46:49Reactなどが普及しすぎて、チャンスがなかったのでしょう。
00:46:55LaravelやPHPの場合は事情が異なりました。
00:47:00PHPは常にバックエンド側にありましたから。
00:47:01「フロントエンド構築が素晴らしいから、
00:47:05バックエンドまで拡張したい」という発想ではありませんでした。
00:47:08PHPでは常にHTMLページをPHPとしてレンダリングしていました。
00:47:13ですから、専用のフレームワークがあるのは自然なことでした。
00:47:16それが私の見解です。
00:47:20「Adonis JSのコースがあればいいのに」という意見ですね。
00:47:22ええ、私もぜひ作りたいです。
00:47:24ただ先ほど言ったように、学ぶ時間が取れるか分かりません。
00:47:32配信などで触ってみるのは面白いかもしれませんね。
00:47:37時間が見つかるかもしれませんが、コースを作るには
00:47:42もっと深く学習する必要があります。
00:47:43でも、確かに興味深いトピックですね。
00:47:45フィリピンのAdonisはゲイバーなんですよ、おそらくその名前のせいで
00:47:51地球上で1、2箇所はそういう場所があるんでしょうね。
00:47:56Web Dev Simplifiedの動画は見ましたか? Theoを含むコンテンツクリエイターが
00:48:02ますますAIにシフトしているという内容のものです。
00:48:04それについてどう思われますか?
00:48:05ええ、見ました。正直に言うと、あまり好きな内容ではありませんでした。
00:48:14というのも、少なくとも私には、Theoや私がそう決めたのは
00:48:29その方がクリック数が稼げるからだ、という風に聞こえたからです。
00:48:32確かに、AI分野は再生数やクリック数が多く、もちろんそれらは重要です。
00:48:39ですが、私は常に自分が実際に取り組んでいることについて発信しています。
00:48:46ただそれだけのことなんです。
00:48:50以前コーディングのチュートリアルを作っていたのは、その技術でコードを書いていたからです。
00:49:00今AIについて多く語っているのは、毎日CodexやClaude、
00:49:07Piなどを使って仕事をしているからです。
00:49:09そして、それらを使って実際にプロダクトを作っています。
00:49:11公開した「Max Draw」や「Business Headshots」アプリ、
00:49:15「Build My Graphic」など、今後もさらに増える予定です。
00:49:19社内ツールもたくさん作っていますよ、もちろんです。
00:49:24AIは、ソフトウェアの作り方そのものを変えつつある存在です。
00:49:32だからこそ、私はそのことについて話しているのです。
00:49:34つまり、これらは密接に関連しているわけです。
00:49:37確かにクリック数は増えますが、それは多くの人が同じように感じていて
00:49:41最新情報を知りたがっているからこそ、再生されるのです。
00:49:47それがクリエイターがシフトしている理由だと私は思います。
00:49:50あの動画では、単にクリック数欲しさに次々と流行りに飛びつく
00:49:56質の悪いクリエイターであるかのように聞こえました。
00:49:59しかし、実態は逆なのです。
00:50:01人々が関心を持ち、かつ自分が使っているものについて発信すると、
00:50:06そこで自然とつながりが生まれるのです。
00:50:09「流行っているから、急にこれを扱おう」といった
00:50:14大きな意図があるわけではありません。
00:50:15それが人気なのは、私を含め全員に影響を与えているからであり、
00:50:19私は毎日その技術を使って作業しています。
00:50:21ですから、あの動画は少し違和感がありましたが、私の誤解かもしれません。
00:50:30例を挙げると、4年ほど前はWeb3や
00:50:37NFT、仮想通貨が大きなブームでした。
00:50:41Theoについては分かりませんが、当時の彼がWeb3に深入りしていたとは思いません。
00:50:46私は間違いなく、関わっていませんでした。
00:50:48つまり、単に旬なトピックを扱っているわけではないのです。
00:50:50本当に自分が取り組んでいることを発信しているだけです。
00:50:54全てのコースを網羅できるように、Maxをクローン化する研究をすべきですね。
00:51:01それは将来のプロジェクトになりそうですね。
00:51:07今のところ、AIについてはこういう状況です。
00:51:10誰もが、AIによってもっと働けるようになり、仕事の多くを
00:51:18肩代わりしてくれると言いますが、結局私たちはより多くの仕事をこなすことになります。
00:51:21それが本当に良いことなのかは分かりません。特にAIは、私が本当に楽しんでいた
00:51:25作業を奪い、コードレビューのようなあまり楽しくない仕事を増やしていますから。
00:51:30まあ、そうですね。
00:51:32差し支えなければ、今はどのようなお仕事をされているのですか?
00:51:33教育コース以外にも何かされていますか?
00:51:35基本的には この10年間やってきたことと
00:51:39同じですよ 講座やコンテンツ制作が中心です
00:51:43以前は クライアントのプロジェクトなども
00:51:47もっとありましたが 講座が成功するにつれて
00:51:52徐々に縮小してきました あとは今共有した
00:51:58サイドプロジェクトのサイトで収益を得たり
00:52:01それらの組み合わせですが 教育コンテンツが
00:52:07ここ数年で間違いなく 最も重要な部分になっています
00:52:10ただ 講座を作るだけにはしたくないので
00:52:14そのバランスは保つようにしています 実際に
00:52:16その技術を使って 有益なものを作りたいんです
00:52:19人々は より優れた代替案があるにもかかわらず
00:52:23デフォルトで最も使われている技術を 選ぶ傾向があります
00:52:25分析を怠って 楽な道を選んでいることもあります
00:52:28そうですね
00:52:29それに そもそも選択権がない人も多いです
00:52:34企業やクライアントに 働いている場合
00:52:42特定のルールや好みがあれば 自分で選ぶことはできません
00:52:46「Adonisを使おう」なんて 言うことはできず
00:52:49会社が5年前から使っている Next.jsなどを使うことになります
00:52:54そういうことですね
00:52:56私は 自分のプロジェクトで 好きな技術を
00:52:59選べるという 特権的な立場にありますが
00:53:03それでも習得には時間がかかりますし
00:53:10マスターするには さらに時間がかかります
00:53:13AI関連など 学ぶべきことが 膨大にある今
00:53:19時間を見つけるのは 非常に困難です
00:53:23皆さんはどうかわかりませんが 私は本当に苦労しています
00:53:28本当に難しいのでしょうか?
00:53:32レイオフの後に 再就職するのは
00:53:37今の時代 非常に難しいです 何かアドバイスは?
00:53:38ええ 非常に難しいことは知っています
00:53:42よく耳にする話です
00:53:44状況は良くなっていくと思いますが 今すぐ
00:53:51助けになるわけではありませんし 今は本当に厳しいです
00:53:54誰もがシニアを求めていて ジュニアの枠は少ないですが
00:53:58いずれ企業も ジュニアが必要だと気づくでしょう
00:54:07今は困難な時期で 気づいた時には 手遅れかもしれませんが
00:54:11本当に大変な時期ですね
00:54:14今できることは何でしょうか?
00:54:16以前も言いましたが 求人数より応募者数が多い以上
00:54:21目立つための方法が必要です
00:54:26では どうすれば大勢の中から 抜け出せるでしょうか?
00:54:28優れたポートフォリオや履歴書は 重要です
00:54:31驚くほど多くの人が 努力を払わずに
00:54:37応募書類を送っています
00:54:39ですから 応募先の企業に合わせて 微調整を加えれば
00:54:44今はAIを使えば かつてないほど簡単ですが
00:54:49必ず目を通し 自分らしさを加えてください
00:54:51それだけで差別化できますが それ以外にも
00:54:57YouTubeやInstagram LinkedInなどで
00:55:07何らかの発信力を 持つ方法を見つけることです
00:55:11大きなインフルエンサーに なれというわけではなく
00:55:18企業があなたの名前で検索した時に YouTubeやXなどで
00:55:26フォロワーがいることがわかれば 規模の大小にかかわらず
00:55:32内容が有益であれば それも差別化に繋がります
00:55:33これは有効な戦略だと思いますし もちろん
00:55:38インフルエンサーではなく 仕事を探しているのは承知していますが
00:55:42目立つために 試してみる価値はあります
00:55:44今は残念ながら 厳しい状況ですから
00:55:48貢献してプロジェクトを得るという点では 以前
00:55:53AIやAIエージェントが 普及する前までは
00:56:00オープンソースへの貢献や プルリクエストなどは
00:56:11間違いなく有効な戦略でした
00:56:16しかし最近では その状況が一変しました
00:56:18人気のあるプロジェクトだけでなく 小規模なものまで
00:56:24AIが生成した課題や プルリクエストが殺到しており
00:56:30メンテナーが管理するのが 非常に困難になっています
00:56:34ですから 今GitHubで貢献するのは 難しいです
00:56:42歓迎しないメンテナーも多く 大勢の中から
00:56:52際立つのは困難です 誰もがエージェントに
00:56:58AIが生成した粗悪なコードを 投げさせているからです
00:57:03採用担当者にとっても それが高品質な貢献かどうか
00:57:05見分けるのは 難しいでしょう
00:57:08それでも まだ意味はありますし 良い指標になりますが
00:57:14以前ほど重要ではなくなっています
00:57:16他には 人間味を見せる方法や 仕事への意欲を
00:57:21示す方法などが 有望だと思います
00:57:25あくまで私の考えですが
00:57:27もちろん 私は仕事を探す必要がなく 自分のビジネスや
00:57:33プロジェクト 講座 YouTubeなどを持っているという
00:57:39幸運な立場にいます
00:57:42いつでも声をかけられる クライアント基盤もあります
00:57:49恵まれた環境にいるのは確かですが 仕事探しについて
00:57:54考えると こうしたことが 思い浮かびます
00:58:00Adonisの話に戻りますが 将来の配信で
00:58:13深く掘り下げてみるのも 面白そうですね
00:58:14今日は あと30分ほどで失礼しますが 来週か
00:58:25あるいは 何かYouTubeの形式を 考えられるかもしれません
00:58:32YouTubeの仕組みは 以前とは全く変わってしまい
00:58:38非常に難しいです 普通のチュートリアルは もう通用しません
00:58:42もちろん再生数は重要です ほとんど
00:58:43誰も見なければ 役に立ちませんし
00:58:52収益も認知度も得られず むしろチャンネルの
00:58:56評価を下げてしまいます 再生されない動画を出し続けると
00:59:01将来の動画の再生数も 減ってしまうんです
00:59:02ですから 他の動画より成績が悪くなると わかっている動画を
00:59:11作る動機が 湧きにくいのですが
00:59:15何か方法を考えてみます
00:59:18DSA(データ構造とアルゴリズム)については どう思いますか?
00:59:2440年前なら間違いなく超重要でしたが、今はどうでしょうか。
00:59:29採用プロセスでまだ使っている企業も、かなりの数あるとは思います。
00:59:35私は好きではありませんでしたし、今はさらに有用性が低くなっていると感じます。もし私が採用するなら、
00:59:42業務で使うテクノロジーの基礎を理解しているかを見たいからです。
00:59:50AIでリサーチができるか、AIアシスタントを使いこなせるかを見たいのであって、
00:59:55特定のアルゴリズムを思いつけるかどうかではありません。確かにそれも基礎力は証明しますが、
01:00:01私が求めている基礎とは必ずしも一致しません。
01:00:06DSAの重要性は低くなっていくと思いますが、まだ完全にはそうなっていないかもしれません。
01:00:12正直に言うと、私はDSAの専門家ではありません。というのも、
01:00:27企業が採用の判断基準の大部分を、
01:00:36アルゴリズムを書けるか、二分木を反転できるかといった点に置くのが嫌いだったからです。
01:00:45これについては色々な意見があるでしょうが、もしこの風潮が
01:00:51廃れていくのであれば、私は歓迎します。
01:00:54自分に影響があるからではなく、単にそこにあまり価値を感じないからです。特に、
01:00:58AIの時代においては価値がさらに下がっているため、多くの企業が
01:01:04使わなくなるだろうと想像していますが、間違っているかもしれません。
01:01:08別の問題として、ビデオ通話だと
01:01:14応募者が単純にカンニングをするという課題に多くの企業が直面しています。それも、
01:01:22採用で使われなくなっていく要因の一つかもしれません。
01:01:24並外れたプロジェクトによってテクノロジーを最大限活用できることを示せればいいですね。
01:01:29今、私は教育ソリューションを開発しており、子供や10代向けの教育者でもあります。ええ、まさに、
01:01:34そういった方向性は素晴らしいアイデアだと思います。
01:01:37このAIトレンドがどこに向かうか予測できますか?停滞期に入ると思いますか?
01:01:43全く分かりません。
01:01:47私が見ている、あるいは感じているのは、ツールは今も進化し続けているということです。
01:01:53今は、指示に従うことやツールの使用に非常に優れた
01:02:01微調整されたモデルがあり、その周りには最近「ハーネス」と呼ばれる仕組みもあります。
01:02:08これらはモデルを非常に効率的に活用し、ツールやモデルから
01:02:15さらなる能力を引き出し、指示にもより的確に従えるようになるでしょう。
01:02:22予測は難しいです。非常に多くの要因が絡んでいますから。
01:02:27計算能力の容量不足の問題もあります。それだけでAIの開発が止まることはないにせよ、
01:02:35鈍化する可能性はあります。もちろん、新しい計算資源も次々と投入されていますが。
01:02:41それから、この奇妙な「Sub-Q」のようなものもあります。劣二次スパース・アテンション・モデルです。
01:02:49これについての動画も作りましたが、既存のモデルよりもはるかに高速で安価、
01:02:55かつ膨大なコンテキストを扱えるモデルのことです。
01:02:58もしこれが本物なら、ゲームチェンジャーになるかもしれません。
01:03:02単なるハイプ(過剰な期待)であれば、その可能性が高いとは思いますが、
01:03:09何も変わらないでしょう。
01:03:10開発を遅らせる要因はたくさんあります。モデルが賢くならなくなり、
01:03:17新しい能力を得るたびに
01:03:25別の能力を失うといった限界点があるのかどうかも、私には分かりません。
01:03:28そういうことも起こり得ますが、確かなことは言えません。
01:03:30ただ現時点では、確実に改善が進んでいると感じます。特にツールやハーネス、
01:03:37そして今使えるようになっているサンドボックスのように周辺に構築されているものや、
01:03:43エージェントを安全に実行するための様々なソリューションなどです。
01:03:49そこでは今も多くの開発が行われており、非常にダイナミックで
01:03:54多くの変化が起きていると感じます。
01:03:55特にこの6ヶ月間のスピードはあまりにも速かったので、6ヶ月後に
01:04:02どうなっているかを予測することさえ、私には恐れ多くてできません。
01:04:10GitLabとGitHubのCI/CDの違いは何ですか?
01:04:14GitLabを使ったことがないので、そのCI/CDについては判断できません。
01:04:19一般的にGitLabはGitHubの代替案ですが、私はGitHub
01:04:26Actionsしか使ったことがありません。
01:04:27GitLabを使ったことがないので、違いや良し悪しについては
01:04:32判断のしようがありません。
01:04:34ポートフォリオのために、どんなプロジェクトを作るのがおすすめですか?
01:04:37群を抜いて目立つようなものがいいです。
01:04:40以前は、Amazonのクローンを作ることを勧めていました。
01:04:44もちろんシンプルなクローンですが、そういったものです。
01:04:48でも最近は、それでいいのか自信がありません。
01:04:51AIが存在する今、採用担当者を納得させたいわけですよね?
01:04:58ですから、構築のためにAIを使うだけでなく、作っているプロダクト自体に
01:05:06AIが組み込まれているものの方が、採用担当者にとっては
01:05:12より興味深く映るかもしれません。
01:05:15例えば、独自のエージェント・ハーネスを作るとか、CodexやClaude Code、
01:05:22Plandexの代替となるようなものです。
01:05:24それは面白いかもしれません。
01:05:25Plandexなどを参考にしてみるのもいいでしょう。これは
01:05:32コーディングなどに使える、素晴らしいオープンソースのAIエージェントです。
01:05:37コピーするのではなく、そこからインスピレーションを得るということです。
01:05:42そういったものを作るのは、個人的にも面白いプロジェクトになりますし、周囲と
01:05:47差をつけることもできます。
01:05:48多くの人がエージェントを作っているのは知っていますが、採用担当者は
01:05:53より興味を持ってくれる可能性があります。
01:05:54一つの選択肢ですね。
01:05:55AIを活用したり、面白い方法でAIをラッピングしたりするツールは、
01:06:01興味深いプロジェクトになると思います。
01:06:04AI時代に際立つ方法は以前と同じで、
01:06:09システムやツールを理解していることを証明することだと思います。
01:06:10最近の人は、流行のツールを使いたがるだけです。
01:06:12それがどう動くかを理解していません。
01:06:14それは非常に重要なポイントだと思います。
01:06:16それが、私がシステムデザインとアーキテクティングのコースに取り組んでいる理由でもあります。
01:06:24現代において、強固な土台と基礎を持ち、
01:06:31ソフトウェアやシステム全体を設計できることは、かつてないほど重要だからです。
01:06:36それらは同じではありません。
01:06:38ソフトウェアとシステムは必ずしも一致しませんが、私が言いたいのは、複雑な
01:06:46システムを構築できる能力のことです。どこにキューが必要か、
01:06:54ファンアウト・パターンやPub/Subをどこで使うか、データに対してどの種類のストレージを使うか、
01:07:04アプリケーションが生成するデータにはオブジェクトストアかファイルストアか、
01:07:11どのデータベースを使うか、コストを優先するか信頼性を優先するか、といった計画です。
01:07:21これらの問いは、歴史的にクラウドコンピューティングと
01:07:26ある程度密接に関わってきました。
01:07:27今もそうですが、そういった知識はより重要になるでしょう。なぜなら、
01:07:32以前言ったように、今後はある程度の専門性を持ちつつも
01:07:39よりジェネラリストであることが期待され、チャンスにもなると思うからです。
01:07:45システムを設計できること、そしてもちろんソフトウェアを設計できることは、
01:07:52これまで以上に重要になります。
01:07:55だからこそ、単なるフロントエンド開発者だけでは不十分かもしれないと言ったのです。
01:08:00その分野の専門家であってもいいですが、ジェネラリストであるべきですし、
01:08:05例えばバックエンドを含むウェブアプリケーション全体の構築方法について
01:08:11一般的な理解を持っているべきです。
01:08:13そして、それがいつかシステムデザインへとつながっていきます。
01:08:18それが非常に重要になるでしょう。
01:08:22GitHubは今も以前と同じ場所にありますか?
01:08:25人々はその問題を忘れてしまったようです。
01:08:28そうですね、GitHubの問題は多くの人にとって非常に身近なものだと感じます。
01:08:38GitHubには多くの問題がありました。ご覧になったか分かりませんが、彼らが公開した
01:08:46ブログ記事のチャートは少し分かりにくいものでした。Y軸がなく、数字だけ示されていて、
01:08:51以前がどうだったのかが見えないからです。
01:08:54ただ、GitHubやMicrosoftについて言える悪い点もたくさんあります。
01:09:03例えば、CEOがいなかった時期があったこと、コアAI部門に移動させられたこと、
01:09:09MicrosoftがGitHubをあまり大切にしていないように見えることなどです。
01:09:14しかし、一点だけ私が彼らに同情し、責める気になれないのは、
01:09:21あの成長率を見れば、どの企業にとっても対応は非常に難しかっただろうということです。
01:09:26もちろん、彼らはMicrosoftの一部であり、クラウドのリソースなどを持っていますし、
01:09:32改善に取り組んでいます。
01:09:33ですが、あの成長はまさに驚異的です。
01:09:35予測できたはずだと言うこともできますが、ここ数ヶ月の
01:09:42スピードは凄まじいものです。狂っていますよ。
01:09:43ここ数ヶ月で起きたことは、とにかく異常です。
01:09:47ですから、その観点からは、彼らが多くの問題に直面していることは理解できます。
01:09:51私が理解している限り、また彼らが記事に書いている通り、彼らは状況を修正し、
01:09:57より多くのキャパシティを確保して、将来に備えるべく懸命に取り組んでいます。
01:10:04AIが生成するコードが溢れかえる未来です。それはすでに始まっており、
01:10:10想像を絶する速さで加速し続けるでしょう。
01:10:14ただ一つ、計算能力という制約はあります。
01:10:19それが少しブレーキになるかもしれませんが、彼らが直面している問題は理解できます。
01:10:26話題は変わりますが、戦争ゲームのシミュレーションにAIが使われたと聞きました。
01:10:29そこではAIが常に核攻撃を選択したそうです。
01:10:33しかし、明るく健康的な社会モデルのシミュレーション研究や、
01:10:39人間に応用されたAIの話は聞いたことがありますか?
01:10:44いいえ、ありません。
01:10:47AIが製薬などの基礎研究に活用されることは
01:10:58間違いないでしょう。
01:11:01ですから、そこから良いものが生まれるとは思っています。
01:11:06しかし、AIには多くの危険で悪い可能性があることも明白です。
01:11:12ディープフェイクやAI動画、画像などを見れば分かりますし、
01:11:20雇用市場を変貌させることで社会に多大な影響を与えるでしょう。
01:11:26私は、AIが単に仕事を奪うだけだとは信じていません。
01:11:29新しい仕事が生まれ、仕事の内容が進化し、変化していくと強く信じています。
01:11:35私の仕事が変わってきているのと同じように。
01:11:36私はもう伝統的なコーディングのチュートリアルは作っていません。作りたい気持ちはありますが、
01:11:43状況が進化しているのです。
01:11:45ええ、確かに大きな、大きな影響があります。
01:11:53特に私が住んでいるここドイツでは、さらに状況が悪いです。というのも、
01:11:59ここでAIが何か有益なことに使われているという実感が全くないからです。
01:12:02新しいテクノロジーが現れるといつもそうであるように、この国の人たちは
01:12:09AIに関しても眠っているような感じがします。
01:12:12ええ、今のところ、悪い側面はたくさん
01:12:18目につきますが、良い側面はまだそれほど見えていないかもしれません。
01:12:22分かりませんが。
01:12:24大学から産業界レベルの教育で、それを学べないのは悲しいですね。
01:12:29ええ、それもまた興味深いトピックです。
01:12:32大学は常に、産業界が必要としているものから少し切り離されていると感じてきました。
01:12:39もちろん、それはある程度意図的なものです。大学は学問の場ですから。
01:12:45しかし以前から、サイドプロジェクトを構築したり、
01:12:56インターンシップをしたりして、実務経験を積むことが重要だと感じていました。
01:13:03あるいは私のコースを受けたり、ドキュメントを読んだり、独学で学んだり、何でもいいのですが。
01:13:07労働市場などにしっかりと備えるためには、大学で学ぶことに加えて
01:13:13予備のスキルを身につけることが常に重要だと思っていました。
01:13:18そしてAIの登場により、そのギャップはさらに加速し、広がっていると感じます。
01:13:24もちろん、時代の流れについていっている
01:13:30大学もあるでしょう。
01:13:31でも、そうでない大学もたくさんあるはずです。
01:13:34学生がChatGPTを使うのを禁止しようとするだけの
01:13:42大学も多いでしょう。
01:13:43明らかに制御などできないのに。
01:13:44彼らがAIに対して行っているのは、おそらくそれだけです。
01:13:49それは大きな問題になると思います。
01:13:53だからこそ、最近では大学の外でさらなる知識を
01:14:00吸収することが、これまで以上に重要なのです。
01:14:02全ての大学がそうとは言いません。
01:14:03私はもう大学にいませんから。
01:14:05完全に間違っているかもしれません。
01:14:06これは単に、私が学生だった頃の経験に基づく考えです。
01:14:09今、それほど良くなっているとは想像できません。
01:14:13AIによってあらゆることが加速していますから。
01:14:15そこで学ぶことに加えて、自分で自分を教育していくことが極めて重要だと思います。
01:14:21しかし同時に、他の配信や動画でも言っていますが、
01:14:24「何もしなければ取り残される」という言説を真に受けすぎないことも大切です。
01:14:35そんなことはありません。
01:14:37あまりにも動きが速すぎます。
01:14:41取り残されること自体、基本的には不可能なのです。
01:14:45なぜなら、今日素晴らしい解決策だったり重要だったりすることが、
01:14:53数ヶ月後には意味をなさなくなったり、機能しなくなったりするかもしれないからです。
01:14:56ですから、今日これの習得に全エネルギーを注いだとしても、数ヶ月後には
01:15:02全く無関係になっている可能性があります。
01:15:04もちろん、アンテナを張り、情報を得て、これらのツールを触っておくべきです。
01:15:09開発者ならClaude Codeなどを使ってみるといいでしょう。
01:15:13しかし、今すぐ全てを理解し、マスターしなければならないというプレッシャーを感じないでください。
01:15:19それは不可能です。
01:15:20そして、無意味だとも言えます。
01:15:22「マックスさんこんにちは。質問ではありませんが、常に正直な考えを共有し、
01:15:27その時々のトレンドに流されないでいてくれてありがとうと言いたかったです」
01:15:31本当にありがとうございます。
01:15:35それは私にとって非常に重要なことなので、とても嬉しいです。
01:15:39例えばYouTubeで、今私のコンテンツのほとんどがAIについてであることは自覚しています。
01:15:47今はAIについての内容がほとんどです。すべてではありませんが。
01:15:50しかし、AI以外のことを発信すると、再生数は落ちる傾向にあります。
01:15:54それでも、私は発信し続けます。
01:15:56自分が興味を持ち、重要だと感じ、読んできたもの、
01:16:05あるいは開発者に影響を与えると思うものを、ただ共有したいのです。なぜなら、
01:16:13良い知識を共有し、他の人々が開発者として成長し、
01:16:21この変化の時代を乗り越える手助けをしたいからです。私自身もそうしようとしています。
01:16:27それが私の唯一の目的です。
01:16:28ですから、本当にありがとうございます。
01:16:29お金のためにYouTubeをやっているわけではないので、その言葉は大きな励みになります。
01:16:39スポンサーもつけていません。
01:16:40自分のコースの宣伝はしますが、ごく短時間に留めています。
01:16:44動画によっては、宣伝すること自体忘れてしまうこともあります。
01:16:48もちろん、再生回数は気にかけています。人々に届けたいですから。
01:16:49誰にも届かない動画を作っても、私にとっても誰にとっても役に立ちません。
01:16:51それは私の望むことではありません。
01:16:56できるだけ多くの人に役立つ知識を広めたいと思っていますが、
01:16:57お金のためにやっているわけではありません。
01:17:02これまで一度も動画内で有料広告(タイアップ)をやったことはありませんし、今後も予定はありません。
01:17:05ですから、そのあたりの適切なバランスを見つけようと努めています。
01:17:11そのため、少なくとも一部の人にはそれが伝わっていると感じられると、本当に嬉しいです。
01:17:13もちろん、すべての人を満足させることはできませんが。
01:17:18「マックス、私もあなたに感謝したいです。あなたの教育コンテンツには本当に助けられました。
01:17:19あなたから多くのことを学びました。形式は問いません。
01:17:21これからもあなたの話を聞き続けます」
01:17:24こちらこそ、本当にありがとうございます。
01:17:27そして皆さん、ありがとうございます。
01:17:28今日のストリームに参加してくださって、ありがとうございました。
01:17:29最初はトラブル続きで大変申し訳なかったのですが、ようやく安定しました。
01:17:33来週はこれほど不安定にならないよう、原因を調査しておきます。
01:17:34皆さん、ご視聴と素敵なコメントを本当にありがとうございました。
01:17:35これからも価値のあるコンテンツ、コース、動画を作成し、
01:17:38自分の進捗を共有できるよう最善を尽くします。
01:17:43アイデアはたくさんあります。
01:17:49皆さんも同じだと思いますが、唯一の問題は時間ですね。
01:17:54でも、これからも役に立つ情報を共有し続けたいと思います。
01:18:01「一定数の生徒を集めて、チームでの働き方などを教えるブートキャンプを作ることに興味はありますか?」
01:18:04検討したことはありますし、全般的には興味があります。
01:18:05ただ、もしやるのであれば、本当に素晴らしいものにしたいと思っています。
01:18:10今は時間の確保に非常に苦労しています。
01:18:14色々と試行錯誤はしてみました。
01:18:17いくつかコンセプトも作ってみましたが、まだ完全に納得できるものではありません。
01:18:19ですので、現時点で計画しているブートキャンプはありません。
01:18:25近い将来にも予定はありませんが、こうしたライブ配信は気に入っています。
01:18:29ですから、ライブ授業という形ではなく、ライブでのチェックインがあるコースのような、
01:18:34ライブ要素を取り入れた教育コンテンツには興味があります。
01:18:37ただ、具体的にお知らせできることはまだありません。
01:18:44さて、そろそろ失礼しなければなりません。
01:18:48技術的な問題に付き合ってくださった皆さん、ありがとうございました。
01:18:522回再起動しましたが、このストリームの録画は公開したままにします。
01:18:58来週またお会いできるでしょうか?確認させてください。
01:19:05いいえ、来週の木曜日は不在です。
01:19:08もしかしたら水曜日にやるかもしれませんが、様子を見て判断します。
01:19:10もし来週なければ、その翌週になります。
01:19:145月21日、あるいは5月13日に戻ってくるかもしれません。
01:19:21オンラインになったら通知が行くと思いますが、時間はいつもと同じです。
01:19:25基本的には木曜日で、毎週配信する予定です。
01:19:26ええ。
01:19:31たくさんの温かいコメントをありがとうございます。
01:19:34Yaserさん、Hasanさん、Liskasmaelさん、皆さんのコメントは拝見しています。
01:19:37皆さん、本当にありがとうございました。
01:19:44皆さんの時間がいつであれ、良い夜、日、朝をお過ごしください。参加してくれてありがとう。
01:19:48また今後の配信でお会いしましょう。
01:19:55さようなら。
01:19:58(終了)
01:20:02(終了)
01:20:03(終了)
01:20:16(終了)
01:20:17(終了)
01:20:22(終了)
01:20:25(終了)

Key Takeaway

AIエージェントの台頭により、特定のフレームワークの構文習得よりも、Bunのような多機能ツールの活用や、システム全体のアーキテクチャ設計、そしてAIとの共創能力が開発者の核心的な価値となる。

Highlights

  • Bunは高速なJavaScriptランタイムであるだけでなく、パッケージマネージャー、テストランナー、バンドラーの機能を単一のツールで提供する。

  • Bunやpnpmで利用可能な「minimum release age」設定は、公開から3日間など指定時間を経過したパッケージのみをインストールすることで、サプライチェーン攻撃のリスクを低減する。

  • REST API構築における推奨スタックとして、軽量フレームワークのHonoとランタイムのBunを組み合わせる構成が効率的である。

  • AIエージェントの活用においては、大規模な文書群でない限り、ベクトルデータベースを介さずにエージェントへ直接ファイルシステムへのアクセス権を与える手法が有効である。

  • Next.jsのApp Router初期段階では、キャッシュ機能の影響で開発環境と本番環境の挙動が一致しない、あるいは開発サーバーが低速になるといった問題が指摘されていた。

Timeline

モダンな開発におけるBunとHonoの役割

  • Bunはパフォーマンスに特化したランタイムであり、開発効率を高める多くの機能を内蔵している。
  • Honoは非常にエレガントで無駄のないフレームワークであり、Bunとの組み合わせがモダンなウェブアプリ構築のデフォルトとなる。
  • Bunのドキュメントは構造化されており、人間だけでなくAIエージェントにとっても情報の抽出が容易な設計がなされている。

BunはサーバーサイドのJavaScript実行環境として高い実行速度を誇る。Honoを組み合わせることで、ミドルウェアやルーティングを簡潔に記述できる。特にBunはファイルシステムルーターを標準搭載しており、追加のライブラリなしでルート定義が可能である。これらのツールは開発体験を向上させ、保守性の高いコードベースの構築を支える。

AIエージェント検索とベクトルデータベースの使い分け

  • 少数のドキュメントを扱う場合、ベクトルデータベースよりもAIエージェントに直接ファイルシステムを操作させる方が効率的である。
  • RAG(検索拡張生成)の基礎は重要だが、エージェントによる自律的な検索が今後の主流になる可能性がある。
  • AI時代においては、個別のコーディングスキルよりもシステム全体のコンテキスト管理とアーキテクチャ設計の重要性が増している。

何十万もの文書を扱う場合は依然としてベクトルデータベースによるセマンティック検索が有用だが、100個程度の文書であればエージェントが直接ファイルを読み取る方が精度の高い回答を得られる場合がある。開発者の役割は、AIが最適に動作するための環境(ハーネス)を整えることにシフトしている。特定のライブラリの使い方を覚えることよりも、どの技術を選択し、どう組み合わせるかという設計能力が問われている。

パッケージ管理のセキュリティと脱依存の検討

  • bunfig.tomlにminimum-release-ageを設定することで、検知前のサプライチェーン攻撃の影響を受ける可能性を大幅に排除できる。
  • AIを活用することで、これまで外部ライブラリに頼っていた機能をバニラのHTMLやJavaScriptで自作し、依存パッケージ数を削減することが容易になっている。
  • サードパーティ製ライブラリを減らすことは、メンテナンスコストとセキュリティリスクのトレードオフを慎重に判断する必要がある。

サプライチェーン攻撃は数時間から数日以内に検知されることが多いため、リリース直後のパッケージを避ける設定が有効な防衛策となる。また、AIのコード生成能力を利用してAstroのようなフレームワークからバニラな実装へ移行する試みも現実的だ。これにより、外部コードへの依存を最小限に抑えつつ、アプリケーションの軽量化と安全性の向上を図ることができる。

AI時代のキャリア形成と学習の方向性

  • フロントエンドに特化するのではなく、バックエンドやシステムデザインも理解するジェネラリストを目指すことが推奨される。
  • Dockerの基礎概念を理解することは、環境構築やデプロイをAIと共に行う上で必須のスキルである。
  • 大学の教育カリキュラムと産業界の乖離はAIによって加速しており、独学による継続的な情報更新が不可欠となっている。

特定の役割に固執せず、広範な技術領域をカバーできる能力が企業から求められている。Dockerなどのインフラ技術は、AIに設定ファイルを生成させる際の判断基準として基礎知識が重要となる。技術の進化が極めて速いため、今日学んだことが数ヶ月後には陳腐化する可能性を認識し、常にアンテナを張りつつも、過度な焦りを感じずに学習を続ける姿勢が求められる。

Community Posts

View all posts