스크립트
00:00:00こんにちは。AIEでの素晴らしい一日をお過ごしのことと思います。天気は最高ですが、
00:00:17紫外線指数が9ほどあるので、日焼け止めを塗って
00:00:20大人として適切な対策をされていることを願います。今回はコンテキスト
00:00:24エンジニアリングについてお話しします。LinkedInのAJの直後に発表できるのは幸運です。
00:00:27彼は私たちが実際に設計し、他のソリューションに提供している
00:00:29システムについて多く語ってくれました。私はオープンソースのツールをたくさん紹介するので、
00:00:33直前の講演をご覧になった方であれば、ご自身でいじり倒せるツールチェーンを
00:00:36たくさん持ち帰ることができますし、本日はさまざまなテクニックをお教えします。もちろん目標は──
00:00:39その通り、「おっしゃる通りです」を直すことです。最近はプロンプトから削除されて
00:00:44単に「その通り」などに変わっていると思いますが、皆さんも経験があることでしょう。
00:00:47私はブランドン、Unblockedで働いています。そう、ココナッツを持っていますね。フレッシュなコンテキスト、フレッシュなココナッツ
00:00:53ということで配ってきたものです。しかし、私がお話ししたいのは、これらのモデル、特に
00:00:57最先端のモデルについてです(今日はFable 5が復活するそうなので、
00:01:01私のGoogle Meetの録画を見れば予約方法が分かるかもしれませんが、それはさておき)。
00:01:05録画を見て予約しようとしても無視されてしまいます
00:01:11何年もチームに在籍している人が書いたかのように感じられるべきだということです。
00:01:15その長年の感覚を持つためには、自分自身がコンテキストエンジンであったことを思い出す必要があります。どうやってそれを実現しましたか?
00:01:23仕事に行き、質問をし、PRを送り、
00:01:27差し戻され、会議に出る。そうした日々の積み重ねによって、あなたの脳というエンジンが少しずつ構築されてきたのです。
00:01:34ここでどう動いているかを理解し、物事がどうリリースされるかを知り、
00:01:39ある夜に本番環境を落としてしまった時になぜそれが起きたのか、その当番として現場にいた。
00:01:42問題は、これらのエージェントが全く同じ課題を抱えている点です。エージェント用の新しいターミナルセッションを立ち上げるたび、
00:01:48非常に優秀ではあるものの、あなたの会社がどのように運営されているかについての文脈を一切持っていません。
00:01:53そのため、何らかの方法でそれを取得する必要があります。問題は、
00:01:57そうしたエージェントの規模を拡大するにつれて、最初にミスをした場合のコストが雪だるま式に膨らむということです。
00:02:02コンテキストとコンテンツから得られるレバレッジについて――(ここで少し脱線しますが、
00:02:07みんな写真を撮りたいようなので、いったん写真を撮りやすいように少し待ちましょう。完璧です)。
00:02:13このコンテキストの問題は深刻化します。最も左側を見ると、皆さんも覚えているであろう
00:02:20たった2年前の古き良き時代、非常にクールだったタブ補完モデルを思い出します。
00:02:25何が起きたかというと、モデルがポップアップして「このコードをタブで補完しますか?」と尋ね、
00:02:29あなたは自分のコンテキストを頭の中で素早く働かせて「いや、それはダメだ」と判断するか、
00:02:32あるいは「おっ、素晴らしい」とタブを押すわけです。良いですね。エージェント的な
00:02:37採用曲線をさらに進んでいくと、人間がループに入っていない状態、
00:02:41あるいは少なくともループに入りたくないような状況でエージェントが動作する場面が増えていきます。
00:02:46彼らに必要なのは、コードを書いたり、問題を解決したり、
00:02:50あるいは基本的に不具合を修正する中で壁にぶぶつかった際、必要な質問を自ら行える手段です。
00:02:54そして最終的に、コードベースにマージ可能なコードを出力することです。特に、
00:02:58単なる真新しいグリーンフィールドのプロジェクトではなく、長年存在し、
00:03:02実際の収益を生み出し続けているブラウンフィールドのコードベースで作業している人が多くいる中では重要です。
00:03:06したがって、初期段階での間違ったコンテキストによるコストの肥大化は、
00:03:12「シフトレフト」の考え方で欠陥やバグをできるだけ早期に見つけたいと思うのと同様に、
00:03:17コンテキストにおいても非常に重要です。なぜなら進むにつれて、いわゆる「破滅のループ(ドームループ)」に陥るからです。
00:03:22通常、エージェントに何かを頼むと「できたよ」と言われ、こちらが「いや、違うだろ」と返し、
00:03:26何度も何度も修正を繰り返すことになります。
00:03:29それは検索トークンの無駄遣いであり、手戻りの時間の無駄でもあります。
00:03:34これから到来するトークノミクスを考えると、それは決して許容できるものではありません。さらに、並行エージェントなどの運用に移行するにつれて、
00:03:39今度は「レビュー税」に直面することになります。AIコードレビューツールを使おうとしていますが、
00:03:43ここでもやはり、ビジネスの運用方法をコードレビューがしっかりと理解し、
00:03:48ビジネスロジックなどを把握できるようにするために、重要なコンテキストが必要となります。
00:03:52そして最終的に、人間が完全にループから外れ、バックグラウンドエージェントが
00:03:57ミスなく仕事を終わらせてくれる状態を目指すのであれば、
00:04:02エージェントがそこにクエリを投げ、必要なすべての答えを得ることで、
00:04:05効果的に稼働し続けられるようなコンテキストエンジンがどうしても必要になります。
00:04:08よくある失敗アプローチとして、局所的最適解(ローカルマックス)にとどまってしまうものがいくつかあります。
00:04:16数百社のエンタープライズ顧客や中堅企業の間で最もよく見られるうちの2つが、「キュレーション済みコンテキストの罠」です。
00:04:21仮想ファイルシステムやローカルファイルシステムを用意し、その中にいくつかのMarkdownファイルを放り込んで、
00:04:26「これがこのプロジェクトのすべてのコンテキストであり、仕組みのすべてだ」とした経験はないでしょうか。
00:04:30そしてエージェントにその中をgrepさせると、良質なデータが得られてパフォーマンスが向上します。
00:04:35しかし問題は、まずそのファイルをGitHubなどにアップロードしてチーム全員が取得できるように配布しなければならない点です。さらにそのレポは、あなたが書いた他のすべてのドキュメントと同様にやがて陳腐化していきます。では、社内の誰が全知全能の存在として、組織の文字通り全員のためにこのファイルやレポを管理・精選するセンスを持っているのでしょうか。
00:04:52こうした問題に直面することになります。次に「MCPのプラトー」があります。これは非常に明確で、MCPは素晴らしいものであり、エージェントに渡すことで別の外部システムから情報を取得できるようになります。しかし問題は、サーバーの記述やツールの説明の書き方によっては、エージェントが呼び出すべき場面であっても一度も呼び出さない可能性がある点です。あるいは、仮に呼び出したとしても、「検索満足バイアス(satisfaction of search bias)」と呼ばれる既知のバイアスが存在します。これは、エージェントが
00:05:22正しいと思われる最初の情報を見つけたときに「よし、必要なものは手に入った」と思い込んで処理を進めてしまう現象です。ほとんどの組織では、昨晩のSlackの会話で「BではなくAをやれ」と言われていたとしても、エージェントが最初に古いアーキテクチャの記録を見つけてしまうと、そのSlackの指示を見つけ出すことができず、結果としてすべての文脈を考慮に入れないことになります。
00:05:40ここでの本質的な問題は、「情報へのアクセス」イコール「理解」ではないという点です。モデルに本当の理解をもたらすためには、他のテクニックを講じる必要があります。私が言いたいのは、エージェントに見えていないのは水面下のすべてであるということです。コードがコンパイルできる状態には100%持っていけたとしても、そのコンパイルされたコードが本番環境をダウンさせ、夜中の1時にP0(最優先インシデント)が発生することになりかねません。なぜなら、「特定のロールアウト手順に従ってフィーチャーフラッグをオフにしなければならない」といった見落としがあったからです。
00:06:10したがって、あなたのチームにはコンテキストエンジンが必要です。なぜなら、それが果すべき役割とは、組織内でのあなた自身やあなたの所属場所を理解することだからです。例えば私が「認証の仕組みを立ち上げたい」と言ったとき、エンジンは私がどこで働いており、どこにGitのコミットがあり、誰がそれらのコミットをレビューしているかを知っており、私のコンテキストを把握した上で、私に焦点を当て、それを起点として残りの情報を探し出すことができるのです。
00:06:33また、矛盾の解決も行います。先ほど述べたように、古いアーキテクチャ図と昨夜のCTOとのSlackの会話のどちらが正しいのか、それを判断するためにさまざまなテクニックを駆使する必要があります。
00:06:44もちろん権限とガバナンスの尊重も重要です。MCPによってOAuthやその他のスコープ、SSOを利用できるようになりますが、「秘密プロジェクトA」について知るべきではない誰かがここで質問を発した際、その情報がレスポンスに漏れ出さないようにしなければなりません。
00:06:58そして最後に、適切なコンテキストを適切なタイミングで、トークン効率の良い方法でモデルに提供することです。
00:07:03私たちには複数のタッチポイントがあります。なぜなら、人間のエンジニアもSlackなどを通じて必要な情報を得るために、今でも常にUnblockedと対話しているからです。
00:07:09しかし、マシン同士でやり取りをする場合には、トークン消費の無駄を省くためにトークン最適化されたレスポンスが求められます。
00:07:17これがエンジンの仕組みです。手短に説明しますが、基本的に左側には流入してくるすべてのデータソースが表示されています。
00:07:26私たちの場合、エンジニアリングチームを中心に据え、その周囲にいるサポートや営業といった技術的に少しライトなチームも含めて利用されています。
00:07:34あらゆるデータをインジェストし、インシデント管理ツールチェーンなどのツールからリアルタイムデータを取得します。
00:07:39それらがエンジンに取り込まれ、エンジン内部で処理が行われます(このスライドについては後ほど詳しく説明します)。
00:07:45基本的には、これら6つの重要な特性を利用し、右側で必要なワークフローと形式に合わせて正確にコンテキストを出力します。
00:07:53その6つのポイントですが、先ほど触れたように「統合されたシステムコンテキスト」があり、全体を横断する必要があります。
00:08:01LinkedIn、Workday、General Motorsなどの大規模組織や企業規模の会社では、こうしたタイプのデータが必要となります。
00:08:08何が起きているのかのすべてを把握する必要があるのです。
00:08:10今朝Tharikが、もしかすると今日後半に発表されるかもしれないFableについて話していました。
00:08:15彼は、まずはマップを提供し、その上でFableに領域を探索させる必要があると述べていました。
00:08:21それを限定的にサポートする方法は、モデルがすべてのコンテキストにアクセスできるようにすることです。なぜなら、モデルは「未知の未知(知らなかったリスク)」を発見してくれるからです。
00:08:29会社の中では、自分自身は気づいていないものの、取り組んでいるタスクにとって非常に役立つことが確実に起きています。
00:08:35それにより物事はより早く進むようになります。
00:08:37しかし「ターゲットを絞った検索」も必要です。リンクが提供されたら素早く展開し、ドキュメントを取得して次に進むべきです。
00:08:43つまり、時間をかけて深掘りする「ディープリサーチ」も必要ですが、
00:08:46スピードが求められる場面ではスピードも必要になります。
00:08:49矛盾の解決についてはすでに説明しました。
00:08:51片方がAをしろと言い、もう片方がBをしろと言うとき、どちらが正しいのか。
00:08:55パーソナライズされた関連性――私は誰で、どこで働き、何に取り組んでいるのか。
00:08:59そしてトークン最適化――レスポンスが良質かつ効果的で、ウィンドウを圧迫しないようにすること。
00:09:04最後に権限の強制です。もちろんOAuthなどを用いて、見せるべきではないものは見せないようにします。
00:09:10私たちがいくつかのテストで行ったのは、同じモデルに対して全く同じプロンプトを渡し、片方にはコンテキストあり、もう片方にはなしで実行することでした。
00:09:17これが壁時計時間(実時間)の節約効果で、2時間短縮されました。素晴らしいことです。
00:09:21そしてトークンの節約効果です。
00:09:23かなり大掛かりなタスクでした。
00:09:25コンテキストなしでは約2,100万トークンかかったのに対し、ありの場合は1,080万トークンで済みました。
00:09:31これこそが、コンテキストエンジンを使用しているときに見られる典型的な体験です。なぜなら、セッションの開始時に物事を理解・発見するために毎回grepしなければならなかった無駄な検索トークンの大部分が、コンテキストによってあらかじめ満たされている(ハイドレートされている)ため不要になるからです。
00:09:45満たされているのです。
00:09:47そして先へ進むにつれて、こうした成果が得られます。
00:09:50トークンが50%削減され、トリアージが高速化し、ビジネス内部の状況を把握しているため回答の品質自体も向上します。
00:09:57さて、次のパートでは写真が必要になるでしょう。
00:10:01ご存知ないかもしれませんが、QRコードの写真を撮っておき、後から写真アプリでタップしてリンクを開くことができます。QRコードを3つ提示するので、ここで画面に貼り付いておく必要はありません。
00:10:09最初のものは、ソーシャルコメントネットワークのためのものです。
00:10:12写真を撮れるように画面に出しておきますね。
00:10:14これは私たちが開発したオープンソースツールで、完全な決定性プログラミングを用いてGitHubをスキャンし、誰がチームで働いているかを把握します。
00:10:22これが私のリアルなチームです。
00:10:23ラシーンはものすごい勢いでコードをリリースするので「マシーン」と呼んでいます。
00:10:26右側では、彼がどこにどのようなコミットをし、誰がコードをレビューしているかを確認できます。
00:10:30また、タブを切り替えると、抽出されたエキスパートグラフをご覧いただけます。
00:10:33ビジネスの状況を完全に把握できるようになります。
00:10:35また、オプションとしてOpenAIかAnthropicのAPIキーを追加すると、自動でラベリングを行い、チームを特定してくれます。
00:10:44チームがどこで作業しているかを把握し、独自のツールを構築する際にコンテキストエンジンを集中させるための優れたツールです。
00:10:52次に紹介するのは「レポ・ルールズ・エージェント」です。
00:10:55これは実際のコードベースからのサンプルです。
00:10:57画面に映し出しておきますので、詳しく見ながら聞く必要はありません。
00:11:00要するに、チームがルールファイルを記述した場所をすべて検出し、それらをチェックした上で、設定した重要度やその他の情報を知らせてくれるものです。
00:11:11こちらの画面に切り替えたほうがいいでしょうか?
00:11:13これは――おっと、皆さんこんにちは。
00:11:15お会いできて嬉しいです。
00:11:17基本的には、リポジトリ内にあるすべてのルールを見つけ出し、重複した問題やその他の不備がないかを教えてくれます。
00:11:24そして、インデックスとしてgrep検索することも可能です。
00:11:26そのインデックスを呼び出して重複を排除し、コンテキストの取得精度を高めることができます。
00:11:32そして最後は、月曜日に開催したRAGの先を行くワークショップで、リレーショナル・コンテキストエンジンのゼロからの構築方法を教えました。
00:11:40QRコードをスキャンしていただければ、完全なワークブックを入手できます。
00:11:43進め方を学べる6つのPRがスタック形式で用意されています。
00:11:46手短に言うと、RAGは素晴らしい技術であり、ぜひ活用すべきものです。
00:11:49しかし、もう半分を占める問題として、人々が実際に尋ねるのは――
00:11:53「過去1週間に認証関連で自分が作業したオープンなPRは何だったっけ?」ということです。
00:11:57RAG単体ではその質問に答えることができません。
00:12:00クエリが必要なのです。
00:12:01これは、エージェントがスキーマを発見できるようにする、実質的にスキーマレスな検索方法を示しています。
00:12:08そして、リレーショナルデータを取得するために、決定的(デダーミニスティック)にクエリを作成します。
00:12:13非常に役立つテクニックです。
00:12:15もちろん、コンテキストエンジンのユースケースはコード生成だけに留まりません。
00:12:21私たちが主に活用している領域ですが――
00:12:22多くのお客様も時間を費やしています。
00:12:24しかし、社内の他のメンバーがこうしたツールを使い始めると、素晴らしいことが起こります。
00:12:30カスタマーサクセスの担当者は、顧客から問い合わせが入ったまさにその場でチケットを解決しています。
00:12:35営業担当者は、現場にいながらUnblockedのコンテキストエンジンを即座に検索することで、四半期の早い段階で商談を成立させています。
00:12:44他にも数多くの活用法があります。
00:12:45また、先ほどお見せしたレベル別の曲線チャートのように――
00:12:51LLMが質問を投げかけ、現在の状況について尋ねてくれる楽しいツールも作成しました。
00:12:55これにより、ご自身の現在のレベルが正確にマッピングされ、次の段階へレベルアップするためのテクニックを提示してくれます。
00:13:01AIツールを活用して能力を飛躍的に向上させ、大規模に開発を進めたいと考えている場合に役立ちます。
00:13:07アドレスは readiness.getunblocked.com です。
00:13:11もはや課題は知能ではありません。
00:13:13それはコンテキストです。
00:13:14Anthropicが開発しているMythosのような、素晴らしいモデルはこれからも登場し続けるでしょう。
00:13:19Solについても、見ることが許可されれば、きっと手に入れるつもりです。
00:13:22ところで、カナダ・デイおめでとうございます。
00:13:24大切なのは、モデルを組織内で効果的かつトークン効率よく動作させるために、どのようなコンテキストで囲むかということです。
00:13:30組織内で効果的に機能させるためには、それが重要になります。
00:13:35質問用のスライドを用意したのですが、使えるかどうかわかりません。
00:13:40ダメみたいですね。
00:13:41ですので、ブースP16までお越しください。
00:13:44ココナッツを目印に探してください。
00:13:46皆さんとお話しし、必要であれば詳細について語り合えるのを楽しみにしています。
00:13:49ご清聴ありがとうございました。
00:14:00ありがとうございました。
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기