#
623
2026/2/3
今日のトレンド

LangChainの課題やZed Editorの可能性

どうもー、おはようございます。マイクです。
時刻は朝7時をちょっと回ったところ、2026年2月4日、水曜日。ここからの時間は「zenncast」、今日いまホットなZennのトレンド記事を、一緒にゆるっと追いかけていきましょう。

今日はお便りの紹介はお休みで、そのぶんガッツリ技術トレンドを追いかけていきます。

さて今日は、全部で5本の記事を紹介していきます。AIフレームワーク、次世代エディタ、DockerとAWSの仕組み整理、TypeScriptの歴史とこれから、そして大規模GPUクラスター運用のリアル…と、かなり濃いラインナップになってます。コーヒー片手に、聞き流すくらいの気持ちでついてきてください。

まず1本目。
タイトルは「AIエンジニアがLangChainを推奨しない理由」。
RAGの構築で、まずLangChain使っとけばいいでしょ、って空気が一時期ありましたけど、この記事の著者は「初手LangChainはおすすめしない」という立場で、かなり丁寧に理由を分解しています。ポイントは大きく3つ。
1つ目は「ラッパーが厚すぎる問題」。EmbeddingとかVectorStoreを扱うときに、数百〜数千行単位の抽象レイヤーと、やたら多い設定項目が間に挟まってくる。さらに、length-safe embeddingみたいな「親切だけど暗黙的な挙動」が入ってくることで、「なんでこの結果になるんだっけ?」というバグ調査がどんどん難しくなる。
2つ目は「結局コミュニティパッケージか自前実装頼み」という話。RAGのキモになるPDFローダーとかchunkingのところって、LangChain本体だけでは完結しなくて、communityパッケージや自作コードを組み合わせることになる。だったら最初から公式SDKと自分のコードで組んだほうが、シンプルで見通しがいいんじゃない?という指摘です。
3つ目は「不要なSaaS・エージェント基盤まで依存してしまう」こと。langsmithやlanggraphを使わないケースでも、SaaSクライアントやエージェント基盤が必須依存として入ってきて、依存数もサイズもimport時間もどんどん肥大化していく。
2026年の今って、各社の公式SDKがかなりこなれてきていて、しかもAIに「このSDKでこういう処理書いて」と言えば大枠のコードはサクッと出してくれる時代ですよね。そうなると、実務で1〜2社のモデルしか使わない、障害追跡を簡単にしたい、という現場では、あえてLangChainみたいな巨大な抽象レイヤーを噛ませる意義は薄いんじゃないか、と。この記事は「LangChainダメ!」というより、「便利さと複雑さのトレードオフを、2026年の前提でちゃんと見直そう」という冷静な視点が面白かったです。今まさにRAG基盤を選定している人は、一度読んでおくと考え方が整理されると思います。

。。。。

続いて2本目。
タイトルは「VSCodeの時代は終わった?次世代エディタ Zed Editor 完全ガイド」。
出ました、エディタ戦争に新しい刺客。VSCode、めちゃくちゃ便利なんですけど、「Electronでちょっと重いよね」「バッテリー食うよね」という声、ありますよね。この記事は、その不満に対してRust製のネイティブエディタ「Zed Editor」を本気で触ってみたレポートになっています。
Zedの売りは、とにかくパフォーマンス。GPU描画で、起動がVSCode比で10倍速い、メモリは1/5、電力消費は2.58倍低い、という数字が出ていて、ラップトップユーザーにはかなり刺さります。それに加えて、AI機能、リアルタイムコラボ、デバッガまで標準搭載されているので、「VSCodeで拡張をいろいろ入れて頑張っていた部分が、最初からセットになってる」感じですね。
一方で、当然まだ課題もあって、拡張エコシステムはVSCodeに比べたら全然少ない。まだベータ版なので、たまに不安定。マルチルートワークスペースが使えなかったり、一部言語サポートが弱かったりと、ガチ現場のすべてをZedに任せるには慎重さも必要です。
でも移行はやりやすくて、VSCodeの設定やキーバインドをインポートできるので、「よし、ちょっと今週はZedで仕事してみるか」というトライアルにはかなり向いてます。結論としてこの記事では、Rust/TypeScript/Pythonあたりをよく書く人で、高パフォーマンスとAI活用を重視するならZedはかなり有力候補。でもJavaやDartみたいに、VSCodeの特定拡張やエコシステムにがっつり依存している人は、まだVSCode継続が現実的、というバランスのよい締め方をしています。VSCodeがちょっと重く感じてきた方は、「第二のホーム」としてZedを試してみるきっかけになりそうですね。

。。。。

3本目。
タイトルは「Dockerで開発して、AWSで本番運用するとはどういうことか〜タスクをこなすことに必死で、仕組みを理解していなかった自分のための整理〜」。
これは「やらされDevOps」になりがちな人の、めちゃくちゃ共感度が高い記事でした。筆者は、タスクを消化することに集中してきた結果、「Dockerでローカル開発して、本番はAWSで動かしてます」とは言えるけど、その全体像を人に説明できない自分に気づいた、と。そこから「自分のためにちゃんと整理してみた」ノートになっています。
開発環境では、Dockerはあくまで「みんなの開発環境をそろえる道具」。Dockerfileからイメージを作って、そのイメージを元にコンテナを立ち上げる。そこにローカルのコードをマウントして、壊してもいい「作業用の箱」として使う。データベースも、本番みたいなRDSじゃなくて、MySQLやPostgreSQLのコンテナで軽く代替しておく。
一方で本番。フロントエンドはビルドされた静的ファイルとしてS3に置かれて、コンテナにはしないケースが多い。バックエンドはDockerイメージとしてビルドされてECRに保存され、それをECSが引っ張ってきて、本番のAPIコンテナとして常時起動する。RDSと通信しながら、ちゃんと24時間安定して動く「サービス」になるイメージですね。
さらに、マイグレーションはどうやるか。これは本番用と同じDockerイメージを使って、一時的なECSタスクを起動して、その中でマイグレーションを流す。終わったらコンテナは終了、という運用。この「一時タスク」という考え方も、最初はイメージしづらいところですよね。
この記事がいいのは、「開発環境は作業する場所、本番は安定して動かす場所」という役割の違いを整理しつつ、「でも、イメージとコンテナの関係性という根本の考え方は同じだよ」と押さえてくれるところ。ローカルのdocker-composeの構成は、ECS上の構成の縮小版だと捉えられる、というまとめがすごく腑に落ちます。タスクベースで触ってきた方が、ようやく頭の中で一本の線でつながるような内容でした。

。。。。

4本目。
タイトルは「TypeScriptはなぜランタイム構文を作り、なぜ今それを取り除きつつあるのか」。
TypeScriptを日常的に使っている人でも、「なんでenumって微妙って言われるんだっけ?」「namespaceまだ生きてるの?」みたいな歴史的背景って、ちゃんと説明できる人は意外と少ないと思うんですよね。この記事は、TypeScriptが歩んできた道を「ランタイム構文」という切り口で振り返りつつ、いまどこに向かおうとしているのかを整理しています。
初期のTypeScriptは、当時まだ標準のJavaScriptが貧弱だったこともあって、`enum`や`namespace`、コンストラクタの省略記法であるparameter properties、それから`import = require()`みたいな独自構文を用意して、「型も機能もまとめてTSが面倒見るよ!」という立ち位置でした。つまり、TypeScriptコンパイラが「実行されるJavaScriptのコード」もたくさん生成していたわけですね。
ところがその後、ES Modulesや`class`構文など、JavaScript側がどんどん進化してきて、TypeScriptが提供していたランタイム構文の多くは、素のJavaScriptでほぼ代替できるようになった。さらに、`as const`みたいな型レベルの機能が増えていって、「型だけで表現できること」が増えていく。
この流れの中で、TypeScriptは「型を消せば、そのまま動くJavaScriptになります」という原則に回帰しつつあります。`enum`みたいに、コンパイル後も実行コードを生成してしまうものは例外的な扱いになり、むしろ避けたい存在になりつつある。
そこから、TypeScript 5.8の`--erasableSyntaxOnly`オプションや、Node.js側でのstrip-only実行、esbuildなどの高速ビルドツールの設計、さらにTC39で進んでいるType Annotationsの提案まで、「型はビルド時に消えるだけ」という前提でエコシステム全体が揃ってきている、という話につながっていきます。
この記事のメッセージとしては、「既存コードを書き換えろ」という話ではなくて、新しくコードを書くときに、`enum`や`namespace`みたいなランタイム構文をあえて選ぶ理由はどんどん薄くなっている、ということ。これからのTypeScriptは、型検査に専念して、実行コードの生成はNodeやビルドツールに任せていく。その方向性を理解しておくと、「なんで最近こういう提案が増えてるんだろう?」という疑問がスッキリします。

。。。。

そしてラスト、5本目。
タイトルは「Tokyo 30の舞台裏?AWSで作る!フルマネージドな大規模GPUクラスターの構築/運用のリアル」。
これはもう、ガチのMLOps現場からの戦記ですね。自動運転モデル「Tokyo 30」を裏側で支えるために、チューリングMLOpsチームがAWS上で大規模GPUクラスターをどう作り、どう運用してきたのか。そのリアルな苦労話が、かなり赤裸々に語られています。
構成としては、SageMaker HyperPodにSlurm、ストレージにFSx for Lustreを組み合わせて、それをCDKとLifecycle scriptでIaC化。さらに、us-east-1からus-west-2へのリージョン移行までやっているという、なかなかにハードなチャレンジです。/homeを分離するためにEFSを追加導入したり、S3連携のDRAを止めたりと、理想論だけでは語れない現場の調整も多い。
当然トラブルもあって、Lustreを誤って削除してしまったり、HyperPodの仕様理解不足で割引が効かず、コストが想定の2倍になってしまう事故も経験したそうです。そこから、CDKの整備と自動デプロイの仕組み作りで「同じミスを二度としない」ための土台を作っていくプロセスが描かれています。
運用フェーズでは、NCCL timeoutで学習が止まる、ノード障害が頻発する、でもフルマネージドサービスゆえに中身の観測性が低い…というジレンマと向き合いながら、ノードの自動・手動交換スクリプトでなんとか回していく、という泥臭さも。原因を100%特定できたわけではないけれど、EFSを撤廃してLustreを二本構成にする案や、H200搭載のp5en系インスタンスへの移行検討、より詳細なメトリクス収集、構成の完全IaC化など、「次の一手」までちゃんと見据えているのが印象的でした。
単に「AWSすごい」「HyperPod便利」といった話ではなく、「フルマネージドだからこその難しさ」と、それに対してチームとしてどう向き合うか、という視点が強くて、MLOpsやインフラ寄りの人にはかなり刺さる内容だと思います。記事の最後では、こうした大規模GPU基盤に継続的に取り組んでいく姿勢と、採用へのメッセージも添えられていて、「この規模の現場に飛び込みたい人、ここにいるぞ」という熱量も感じました。

。。。。

というわけで、今日のzenncastは、
・RAG時代にLangChainをどう位置づけるかを問い直す記事、
・VSCodeの次の一手としてZed Editorを徹底解説した記事、
・「Docker開発×AWS本番」の全体像を自分の言葉で説明できるように整理した記事、
・TypeScriptのランタイム構文の歴史と、今どこに向かっているのかを俯瞰した記事、
・そして、自動運転モデルを支える大規模GPUクラスター構築・運用のリアルを描いた記事、
この5本を駆け足でご紹介しました。

気になった記事があったら、ぜひショーノートから元の記事もチェックしてみてください。今日触れられなかった細かい数字や図解、コード例なんかも、そっちにたっぷり載っています。

番組の感想や、「このテーマもっと深掘りしてほしい!」みたいなリクエストも、どしどしお待ちしています。あなたの一通が、次回のラインナップを決めるかもしれません。

それでは、そろそろお別れの時間です。
今日も良い一日をお過ごしください。お相手はマイクでした。
また次回のzenncastでお会いしましょう。バイバーイ。

Related episodes

内容の近いエピソードを推薦しています