Vercelが明かしたClaude Code最大の強み

AAI LABS
Computing/SoftwareSmall Business/StartupsAdult EducationInternet Technology

Transcript

00:00:00モデルが強力になり始めて以来、多くの人々が素晴らしいプロダクトを作り、
00:00:04そこにモデルを統合して、私たちの多くの課題を解決してきました。しかし、これらのシステムは大量の
00:00:09トークンを消費します。特にAPIを使ってモデルを統合している場合は顕著です。その解決策は、
00:00:15思っているよりもずっとシンプルです。最善のアーキテクチャは、極端なパイプラインや高度なチューニングではなく、
00:00:20実はUnixベースのシステムの基礎となっている「すべてはファイルである」という古い哲学なのです。
00:00:25もちろん、彼らはモデルのコストについて話していたわけではなく、デバイスやファイルの話でした。しかし
00:00:30驚くべきことに、この高コスト問題の解決策も、全く同じ原則にあります。そしてこれこそが、
00:00:35Vercelのソフトウェアエンジニアが語っている内容なのです。なぜファイルが解決策になるのかを探る前に、
00:00:41まずはこれらのモデルが実際にどのように機能しているのか、いくつか理解しておきましょう。モデルは
00:00:46膨大な量のコードで学習されてきました。だからこそ、モデルはコードや
00:00:50ディレクトリ構造、そして開発者がファイルを移動したり必要なものを探したりするのに使う、ネイティブなBashスクリプトを深く理解しているのです。
00:00:56エージェントがgrepやlsを使うとき、それは新しいことをしているわけではありません。すでに知っていることを
00:01:01より制御された方法で行っているだけなのです。このアプローチはコードに限定されません。エージェントは
00:01:06コードであれ何であれ、あらゆるディレクトリをナビゲートできます。なぜなら、彼らはすでに
00:01:11コマンドに慣れており、ファイルシステムを理解しているからです。エージェントが何かを必要とするときは、
00:01:17lsやfindといったネイティブなBashコマンドを使ってファイルシステム内を探し回ります。findを使って目的のファイルを特定すると、
00:01:23grepやcatによるパターンマッチングを使って、そのファイル内の関連するコンテンツを検索します。
00:01:27関連する情報の小さな断片だけがモデルに送信され、残りはメモリ外に留まるため、
00:01:32コンテキストウィンドウをクリーンに保てます。つまり、モデルが必要としない無関係なデータに
00:01:36トークンを浪費することがなくなるのです。このアプローチにより、エージェントは構造化された出力を返します。
00:01:41このパターンは非常にうまく機能したため、Vercelはこれに特化したBashツールをオープンソース化しました。
00:01:46これにより、エージェントは開発者と同じようにファイルシステムを探索できるようになります。
00:01:51大規模言語モデル(LLM)システムを構築する際、モデルに適切な情報を提供する方法は2つあります。
00:01:561つは詳細なシステムプロンプトを使用してエージェントがそれに従うことを期待する方法、
00:02:00もう1つは大量のデータをベクトルデータベースに投入し、セマンティック検索を使用して抽出する方法です。しかし、
00:02:06どちらのアプローチにも限界があります。システムプロンプトはトークンウィンドウに制限があり、一度に
00:02:10モデルに送信できる情報量が限られます。より大きなデータセットを扱うには、クエリに対する意味の近さで
00:02:15情報を探すセマンティック検索を使いますが、ベクトル検索は
00:02:20「正確な検索」ではなく「意味的な類似性」のために使われます。クエリの全体的な文脈に一致するデータの塊を返しますが、
00:02:25必ずしも探している特定の値を返すわけではありません。そのため、膨大な塊の中から正しい内容を抽出する作業をモデル自体に委ねることになります。
00:02:30一方、ファイルシステムは異なるアプローチを提供します。ファイルシステムでは、その構造が実際の
00:02:35ドメインに直接対応しています。フォルダ構造内のファイル間の関係が、
00:02:40親フォルダ間の関係を反映していることが多いのです。ファイルシステムを使えば、
00:02:45これらの関係をモデルが理解できるベクトルチャンクに平坦化(フラット化)する必要がありません。
00:02:49これにより、セマンティック検索で失われがちな「関係性」を維持できます。これらの階層的な
00:02:54繋がりは自然に保存され、データに元々備わっている組織的なロジックが維持されます。もう一つの
00:02:59利点は、リトリーバル(検索)が正確であることです。grepやBashツールは完全一致を返しますが、
00:03:05ベクトル検索はクエリに緩く一致するすべてのチャンクを返し、どれを使うかはモデルの判断に任せてしまいます。
00:03:10ファイルシステムなら、必要な値だけを取得できます。エージェントがBashツールを使う際、コンテキストは最小限で済みます。
00:03:15なぜなら、必要な特定のチャンクだけを受け取り、他の多くの不要なチャンクはメモリに入らないからです。
00:03:20これにより、エージェントは無関係なデータに惑わされることなく、正確な情報に集中し続けることができます。
00:03:25さて、このアイデアは決して聞き慣れないものではありません。この概念は、
00:03:30Claude CodeやすべてのCLIエージェントですでに採用されており、Bash関数を使ってパターンマッチングで検索範囲を絞り込んでいます。
00:03:36私たちも、評価するあらゆるアイデアの調査目的で、ファイルシステムと
00:03:41Claude Codeの機能をすでに活用しています。私たちは通常、見つけたソフトウェアツールを
00:03:46独自の評価基準を含む複数のフェーズで構成されたこのパイプラインに通します。調査はそれらの基準をクリアしなければなりません。
00:03:51これらすべては、テストするツールの要件や目的、最終ドキュメントの書き方、
00:03:56各フェーズに必要な全情報が記載されたMarkdownファイルに定義されています。また、
00:04:01スタイルの手本として特定のドキュメントをサンプルとしてClaudeに提供しており、
00:04:06最終的なドキュメントは「research results」フォルダに保存されます。調査をガイドするために、
00:04:11各フェーズを一つずつクリアする方法を説明したClaude.mdファイルを用意しており、
00:04:17最終的にすべてのチェックを満たす調査ドキュメントが得られるようになっています。
00:04:22何か調査したいことがあるときは、Claudeにそのアイデアやツールを伝えるだけです。すると、
00:04:27まずツールやアイデアを理解し、次に6段階の検証プロセスを一つずつ実行していきます。
00:04:32すべてのフェーズが完了すると、Claudeは最終報告書を生成します。
00:04:37私たちはそれを読んで、そのアイデアに可能性があるかどうかを判断できます。このファイルシステムのアプローチにより、
00:04:42本来なら手動で一歩ずつ進めなければならない調査プロセスを自動化でき、大幅な時間の節約になっています。
00:04:47もしこのパイプラインをご自身のユースケースで試してみたい場合は、
00:04:52最近立ち上げたコミュニティ「AI Labs Pro」で、私たちのものと同様の調査パイプラインを作成するための、
00:04:57すぐに使えるテンプレートを入手できます。これに限らず、これまでのすべての動画についても、
00:05:03プロジェクトに直接組み込めるテンプレート、プロンプト、コマンド、スキルが用意されています。
00:05:08私たちの活動に価値を感じてくださり、チャンネルを支援したい方は、これが最良の方法です。リンクは概要欄にあります。
00:05:12さて、このアーキテクチャを使って「販売概要エージェント」を構築する方法を説明した彼らのケーススタディを読んでいたとき、
00:05:17彼らはそれもオープンソース化していましたが、そこから自分でも試してみたい面白いアイデアが浮かびました。
00:05:22実は、社内規定プロジェクトを構築していたのですが、そこにはJSON、Markdown、TXT形式の
00:05:27大量の社内データがあり、それらは部署ごとに分かれていました。通常なら、
00:05:32Chromaのようなベクトルデータベースを使ってこのシステムを実装するところですが、このツールを試してみることにしました。
00:05:39そしてこのアーキテクチャを実装しました。バックエンドには、会社のデータが入っている
00:05:44ドキュメントフォルダへのパスを含め、エージェントにはls、cat、grep、findコマンドへのアクセス権を与えました。
00:05:49ツールの使い方や各コマンドをいつ使うべきかのガイドも添えました。モデルにはGemini 2.5 Flashを使用し、
00:05:55VercelのBashツールを組み込んで、ツール内でドキュメントへのパスを指定しました。
00:06:01そして、データに関する質問をしてエージェントをテストしたところ、ハンドブックや
00:06:06休暇規定のドキュメントなど、社内規定の正確な内容に基づいて回答してくれました。
00:06:11動作を確認するために、ターミナルでツールの使用ログを記録しました。
00:06:16エージェントはまずlsコマンドを使用して利用可能なドキュメントを確認し、
00:06:21次にgrepとパターンマッチングを使って「休暇」やそれに類する用語を探していました。
00:06:27これらの一連のコマンドによってクエリが処理され、RAGシステムと同等の精度で結果が得られました。
00:06:32このプロジェクトのソースコードが必要な場合は、私たちのコミュニティからダウンロードして試すことができます。
00:06:38さて、このツールを見て最初に頭に浮かんだ疑問は、
00:06:43「エージェントにサーバー上でコマンドを実行させるのは、本当に安全なのか?」ということでした。
00:06:47昨年の12月、React Server Componentsに最高値である10.0の脆弱性が見つかったばかりですが、
00:06:52それもサーバー上でのコード実行が関わっていました。ですから、これはエージェントに与えるには非常に強力で、
00:06:57潜在的に危険な能力です。では、なぜ私はこのツールを信頼したのでしょうか?それは、
00:07:03サンドボックス内で動作し、隔離されているからです。指定した特定のディレクトリにのみアクセスし、
00:07:08他には何も変更しません。記事の中では、エージェントは本番システムにアクセスせずにファイルを探索するため、
00:07:14たとえエージェントがサーバー上で有害なコマンドを実行しようとしても、本番コードは安全に保たれると言及されています。
00:07:19このツールは2種類の隔離環境を提供します。1つ目はインメモリ環境です。
00:07:24このセットアップでは、私たちがエージェントを作ったときのように、アクセス権を持つファイルに対してのみBashスクリプトを実行します。
00:07:292つ目は、Vercel Sandboxを使用した完全な仮想マシン隔離による、
00:07:35完全互換のサンドボックス環境です。ニーズに合わせてどちらかを選択できます。
00:07:40インメモリアプローチはシンプルで高速ですが、より強力なセキュリティ保証が必要な場合は
00:07:46完全なVM隔離の方が適しています。このアプローチはモデルの呼び出しごとのコスト削減に非常に有効ですが、
00:07:51すべての問題に対して正しいアプローチというわけではありません。Bashツールは正確な一致を目的としているため、
00:07:56言葉の意味の類似性を一致させる必要がある場合には理想的ではありません。エージェントを呼び出したときに見られたように、
00:08:01特定のキーワードを使って必要なデータを特定します。また、ファイル構造が整理されていない場合、
00:08:06エージェントが何度もツールを呼び出すことになり、適していません。エージェントが簡単にナビゲートできる構造の方がはるかに優れています。
00:08:11個人的な提案としては、データが高度に構造化されており、リクエストの内容(何を求めているか)が
00:08:17ほとんど明確な場合には、Bashツールを使用してください。ファイルに書かれている内容の「意味」を重視する場合や、
00:08:22クエリが曖昧になりそうな場合には、RAGを使用してください。最後に、スポンサーである
00:08:27Brilliantからのお知らせです。優れたエンジニアは単に構文を知っているだけでなく、第一原理から問題を分解します。
00:08:32だからこそ、私たちはBrilliantと提携しました。彼らの哲学は「実践することで最もよく学べる」というものです。
00:08:37能動的な問題解決を優先しているため、単に暗記するのではなく、概念に直接触れることができます。
00:08:42例えば「AIの仕組み」というコースでは、ただ読むだけでなく、実際のロジックを操作します。
00:08:47損失空間での損失計算や、補間の視覚化といった技術的な内容を実際に体験することで、
00:08:52動画講義だけでは得られない深い直感的な理解を築くことができます。インタラクティブな技術コースを通じて、
00:08:57私たちが話している概念を真に習得するための最も効果的な方法を提供します。
00:09:02また、年間プレミアムプランが20%オフになり、数学、データ、コンピュータサイエンスの全コースをアンロックして、
00:09:07スキルアップのための完全なロードマップを手に入れることができます。概要欄のリンクをクリックするか、
00:09:12画面上のQRコードをスキャンして、30日間の無料トライアルをお試しください。それでは、
00:09:17今回の動画は以上です。もしチャンネルをサポートし、このような動画作りを応援してくださるなら、
00:09:22下の「スーパーサンクス」ボタンからお願いいたします。いつものように、ご視聴ありがとうございました。それではまた次回の動画で。
00:09:28this video. If you'd like to support the channel and help us keep making videos like this, you can
00:09:32do so by using the super thanks button below. As always, thank you for watching and I'll see you in the next one.

Key Takeaway

AIエージェントにファイルシステムとBashコマンドへの直接アクセス権を与えることで、コンテキストを最小限に抑えつつ、従来のRAGよりも正確で低コストな情報検索が可能になる。

Highlights

Unix哲学である「すべてはファイルである」という原則をAIエージェントの設計に適用し、高コストなトークン消費問題を解決する。

Vercelが提供するBashツールにより、エージェントはベクトル検索ではなく、ls、grep、findなどのコマンドを使用して正確に情報を取得できる。

ファイルシステムの階層構造を活用することで、セマンティック検索では失われがちなデータ間の「関係性」や「論理構造」を維持できる。

インメモリ環境や仮想マシン(VM)隔離を用いることで、エージェントによるサーバー上のコマンド実行の安全性を確保している。

データの構造が明確で正確な一致が必要な場合はBashツール、曖昧なクエリや意味的な類似性を重視する場合はRAGという使い分けが推奨される。

Timeline

「すべてはファイルである」:新しいAIアーキテクチャの核心

AIモデルの統合に伴う大量のトークン消費とコスト増大という課題に対し、スピーカーはUnixベースの「すべてはファイルである」という哲学が解決策になると主張します。モデルは学習過程でBashスクリプトやディレクトリ構造を深く理解しているため、ネイティブなコマンドを使いこなすことが可能です。エージェントがfindやgrepを使用することで、必要な情報の断片だけを抽出してコンテキストに送ることができます。これにより、無関係なデータによるトークンの浪費を防ぎ、コンテキストウィンドウを常にクリーンな状態に保てるようになります。このアプローチは、従来のAPI統合における高コスト問題を根本から解決する可能性を秘めています。

ベクトル検索の限界とファイルシステムの優位性

Vercelがオープンソース化したBashツールと、既存のRAG(検索拡張生成)手法との比較が詳しく説明されています。従来のベクトルデータベースを用いたセマンティック検索は、意味の近さを検索するため、必ずしも正確な値を返さないという弱点があります。一方でファイルシステムを利用すれば、フォルダ構造がドメインの論理的な関係性をそのまま反映しているため、情報の階層構造を壊さずに済みます。grepなどのツールを使うことで、モデルは「曖昧な一致」ではなく「完全一致」による正確なリトリーバルを実現できます。この正確性により、エージェントは不要な情報に惑わされることなく、特定のタスクに集中して取り組めるようになります。

Claude Codeを活用した調査プロセスの自動化事例

Claude CodeやCLIエージェントが、実際にどのようにファイルシステムを活用して業務を効率化しているかの具体例が示されます。スピーカーのチームでは、新しいアイデアやツールの調査プロセスをMarkdownファイルに定義し、自動化されたパイプラインで処理しています。Claude.mdというファイルに手順を記述しておくことで、エージェントは6段階の検証プロセスを自律的に実行し、最終的な報告書を生成します。これにより、従来は人間が手動で行っていたステップが大幅に短縮され、劇的な時間の節約が実現されています。AI Labs Proでは、このような自動化を自分たちの環境で試すためのテンプレートも提供されていることが紹介されています。

社内規定検索システムの構築とデモの結果

Vercelのケーススタディに基づき、大量のJSONやMarkdownからなる社内データを検索するエージェントを実際に構築した例が語られます。通常はChromaなどのベクトルDBを使う場面ですが、あえてGemini 2.5 FlashとBashツールの組み合わせを採用しています。エージェントにドキュメントパスと標準的なコマンドへのアクセス権を与えたところ、休暇規定などの質問に対して極めて正確な回答が得られました。ターミナルのログを確認すると、エージェントはまずlsで全体像を把握し、次にgrepで特定の用語を絞り込むという、人間のような探索を行っていました。この検証により、この新しいアーキテクチャが既存のRAGと同等以上の精度を発揮することが証明されました。

セキュリティ対策と適切なユースケースの判断基準

エージェントにサーバー上でのコマンド実行を許すことの危険性と、それに対する二つの隔離環境(インメモリとVM隔離)について解説されています。サンドボックス環境内で動作を完結させることで、本番システムやファイルが侵害されるリスクを最小限に抑えています。また、このアプローチが万能ではないことも強調されており、ファイル構造が整理されていない場合には不向きであると指摘されています。情報の「意味」や「曖昧さ」を扱う必要がある場合には依然としてRAGが有効ですが、構造化されたデータからの正確な抽出にはBashツールが最適です。最終的に、データとクエリの性質に応じてこれら二つの手法を適切に使い分けることが推奨されています。

学習リソースの紹介とまとめ

動画の最後には、AIやコンピュータサイエンスの概念を深く学ぶためのスポンサーであるBrilliantの紹介が行われます。理論の暗記ではなく、インタラクティブな演習を通じて第一原理から問題を解決するスキルの重要性が強調されています。AIの仕組みや損失計算など、視覚的・体験的に学べるコースが紹介され、視聴者向けの割引特典も案内されています。最後に、動画の内容が役に立った視聴者へのサポートのお願いと感謝の言葉で締めくくられています。視聴者は、紹介されたリンクを通じて最新のAIテンプレートや学習ロードマップにアクセスし、自身のプロジェクトに活用することが可能です。

Community Posts

View all posts