00:08
こんにちは、超実践AI論のたいちです。 今回は、アンソロピックがClaudeを2週間で3.1倍速くした事例に学ぶループエンジニアリング入門というテーマでお話しします。
まず前提として、ループエンジニアリングとは何なのかを説明します。 AI を使いこなす方法は段階的に進化してきました。
具体的には、プロンプトエンジニアリング、コンテキストエンジニアリング、ハーネスエンジニアリング、ループエンジニアリングの順番です。
プロンプトエンジニアリングは、AIにどのような指示をするかという方法論です。 コンテキストエンジニアリングは、AIに渡す情報をAIが扱いやすい形でどのように整理するかという方法論です。
ハーネスエンジニアリングは、AIの周りのハーネス、つまり補助輪をどのように整備するかという話です。
例えば、AIがアプリに新しい機能を追加するときに、アプリの基本的な機能のテストが網羅されていれば、元からある機能にバグを作ってしまってもすぐに気づくことができます。
このテストがハーネスに当たります。 他にも、AIがデータベースの消去のような危険なコマンドを実行できないようにする設定もハーネスの一例です。
そして最後のループエンジニアリングとは、これまでのプロンプト、コンテキスト、ハーネスをすべて整えた上で、AIがゴールを達成するまで改善ループを自分で回せるようにする仕組みのことです。
例えば、アプリの初期表示を0.2秒までにするというゴールだけを決めて、そのゴールの達成手段はAIに任せます。
具体的には、AIが速度改善の方法を検討する、試す、検証するというループを、ゴールである0.2秒以下の表示速度を達成するまで繰り返し続けます。
このAIがゴールに向かって、計画、実行、検証のループを回し続けられるような仕組みを整えてあげるのがループエンジニアリングです。
ここからは、アンスロピックがこのループエンジニアリングを使って、クロードの速度を2週間で3倍速くした実例を解説します。
まずは、クロードの利用データを分析して、利用の95%を占める4つの場面を選びました。
具体的には、アプリを開く、会話を始める、既存の会話を開く、メッセージを送るの4つです。
そして、この4つの場面で約20個の改善案を出し、それぞれの改善案に対して何ミリ秒の速度改善ができるかを見積もり、目標にしました。
しかし、ユーザーの待ち時間はマシンのスペックやネットワークなど外部要因によってぶれます。
なので、ぶれない代わりの数字を目標のものさしとして使いました。
具体的には、プログラムが実行した命令の数や、画面の書き直しの回数などです。
これらは外部要因に左右されず、常に一定です。
この目標のものさしを選ぶポイントは、先ほど話したように、ぶれないこと、そして実際の速度も改善することです。
いくらものさしがぶれなくて扱いやすい数字でも、速度改善に貢献しないのであれば意味がありません。
03:02
なので、ものさしを決めるときは、そのものさしが実際の速度改善に貢献することをAIに証明させたそうです。
目標の達成を図れるものさしまで決まったら、あとはひたすら改善ループを回すだけです。
ものさしを改善する方法を検討し、実行、検証する。
ひたすらこの繰り返しです。
このループを回すときに重要なのが、ラチェットという考え方です。
ラチェットというのは、一方向にしか回らない工具のことです。
ループの中で、ものさしの一つが改善したとします。
改善したら、その分だけものさしの最低値を引き上げます。
このように、ループエンジニアリングによって、ものさしの数値が改善するたびに、その最低値も引き上げていく。
この最低値がラチェットです。
この、ものさしの数値が改善したときだけ厳しくなっていくラチェットを用意しておくことで、
一つのものさしは改善するが、他のものさしは悪化するというパターンでは、その改善は却下されます。
ラチェットがあることで、すべてのものさしの数値をどんどん改善していけるというわけです。
そして、ループエンジニアリングを円滑に回すための、アンスロピックのもう一つの工夫が安全装置です。
ハーネスエンジニアリングのところでもお話しした、アプリのテストを書いておくことも、安全装置の一つです。
アンスロピックはテストのほかに、フィーチャーフラグと段階的公開という二つの安全装置を使っています。
フィーチャーフラグとは、機能の変更や追加をしたときに、その機能をいつでもオン・オフで
できるスイッチのことです。
フィーチャーフラグがあれば、もし仮に本番リリースして何か問題が起きたときも、そのスイッチをオフにすれば、すぐに影響を抑えることができます。
そして、もう一つの安全装置である段階的公開とは、一部のユーザーにだけ新規の機能を開放していくという考え方です。
具体的には、まず新しい機能は社員だけに公開します。
そして社員が使った上で問題がなかったら、ユーザーの1%にだけ開放します。
そしてそれでも問題がなければ、全員に開放するというわけです。
このようにテストでバグは潰し、テストでも拾いきれなかった問題を段階的公開で潰す。
そして万が一問題があったとしても、フィーチャーフラグですぐにオフにするというのが、アンスロピックの安全装置の全体像です。
今回の内容をまとめます。
ループエンジニアリングとは、AIが測定可能な指標でゴールを示し、
そのゴールを達成するための計画、実行、検証のループをAIが回し続ける仕組みを整えることです。
ループエンジニアリングでは、ゴール達成を測定するための指標であるものさしを用意します。
ものさしの条件はブレないこと、そしてゴールの達成に役立つと証明できることです。
ループを回していく中で、ものさしの数値が改善したら、そのものさしの最低値をラチェットとして決めます。
ラチェットは、ものさしの数値が改善するたびに、改善した分だけ引き上げていきます。
各ものさしについてラチェットを用意しておくことで、
一つのものさしは改善したが、別のものさしは悪化したというパターンを却下し、
06:00
すべてのものさしの数値を改善していくことが可能です。
そして、ループエンジニアリングを安全に実行するための工夫が、テスト・段階的公開・フィーチャーフラグです。
テストをちゃんと用意しておけば、ループエンジニアリングで目標は達成したが、別の問題が起こったということはほぼ防げます。
そして、ループエンジニアリングで行った改善は、まずは社員だけ、次に1%のユーザーだけ、
そして最後に全員に公開といったように、段階的に公開していくことで、
テストで拾いきれなかった問題に対処することができます。
そして、万が一この段階的公開で見落としがあっても、
フィーチャーフラグという機能のオン・オフをすぐに切り替えられるスイッチがあれば、本番での問題を即座に抑え込むことができます。
あなたもぜひ、今回のループエンジニアリングの話を参考に、
AIに特定のゴールを達成するための改善ループを丸ごと任せられないか考えてみてください。
概要欄にも、今回の内容を解説した記事を貼っておきます。
最後に一つお知らせです。
点票作成、受発中管理、請求書などの業務は、AIで自動化してコストを削減できます。
ITエンジニア歴10年の僕が現場の課題を聞き、システム開発から運用まで対応可能です。
相談は無料なので、概要欄のリンクからお問い合わせください。
AIを実務で使いこなせるようになりたい、といったご要望にも対応可能です。
それでは今日はこの辺で。