このコンテンツはいかがでしたか?
- 学ぶ
- YC から AWS へ: Tusk は本番トラフィックを AWS 上の AI を活用したテストに変えます
YC から AWS へ: Tusk は本番トラフィックを AWS 上の AI を活用したテストに変えます
AI で生成されたコードはソフトウェア開発を急速に改革しています。以前は数日かかっていたことが、今では数時間で済み、チームが必要となることを個人で行うことも増えています。問題は何でしょう? かつてないほど多くのコードが生成されています。つまり、プルリクエストやエッジケースが増えるにつれ、エンジニアリングチームへの要求も増えているということです。記述にかかる時間を短縮しても、品質保証に対する要求の高まりに飲み込まれてしまえば、ほとんど意味がありません。この責任は、ソフトウェアを構築する者にますます課せられるようになっています。
Tusk は、先駆的なスタートアップであり、Y Combinator (YC) の卒業生によって創設されました。同社は、実際の本番トラフィックに基づく AI 対応のテストにより、コーディングエージェントと人間の両方が見逃してしまう可能性があるバグを企業が防止するのを支援しています。Amazon Bedrock の高性能基盤モデル (FM) を使用することで、Tusk はコードをマージする前に、予期しないリグレッションや API 契約ドリフトなどの問題に自動的にフラグを立て、エンジニアリングチームがより価値の高い作業に集中できるようにします。
仮定ではなく、現実に基づいて構築されたソフトウェアテスト
2023 年に、2 人のカリフォルニア大学バークレー校の卒業生によって創設されたした Tusk は、実際のユーザー行動に基づいて AI が生成したテストにより、企業が高品質のコードを送出できるよう支援しています。「Tusk は、本番トラフィックを現実のユニットテストや API テストに変えます」と、CEO の Marcel Tan 氏は述べています。「私たちは、ユーザーが現実世界でアプリを操作したときのトレースを記録することでこれを行い、それらのトレースをコードの変更に照らして再生して、リグレッションを検出し、それを防止します」。これは、AI 時代において、あらゆる規模の企業がコードテストに取り組む方法に大きな変化をもたらしたことを示しています。
「現在、すべてのトップエンジニアリングチームを見ると、通常、機能を構築しているのは QA を行っている人です」と、Tan 氏は述べています。この傾向の背後にある推論は理にかなっています。これらのチームは、実際にコードを更新して最適化しているチームであるため、テストに取り組む際のコンテキストが優れています。しかし、コード量が急増するにつれて、バグ修正にはますます時間がかかるようになっています。「以前は、リリースサイクルの約半分を QA が占めていました。今日のコーディングエージェントでは、トップエンジニアが時間の 90% を QA で費やしていますが、これは彼らの時間の有効活用とは言えません」と、Tan 氏は述べています。
「手作業や AI で記述されたほとんどのテストは、ユーザーが現実世界で製品をどのように操作しているかを実際には反映していません」と、Tan 氏は述べています。「私たちは実際のトラフィックをキャプチャしているので、見逃してしまう可能性があるエッジケースをカバーしています」。これには、意図しないセマンティック動作によるサイレント障害も含まれます。このような場合、出力は有効に見えても、機能的には正しくありません。Tusk は生成したテストを実行して繰り返し処理し、実際の本番トラフィックに照らして評価することで、他の方法では予測がほぼ不可能なリグレッションを簡単に検出できるようにします。
最初の売り込みから製品市場への適合までの成功を育む
Tusk は、初めて一般に公開されたコーディングエージェントの 1 つとして誕生しました。「私たちは、製品マネージャー、ソフトウェアエンジニア、さらには技術者ではない人でも、JIRA チケットからプルリクエストまですべて実行できるコーディングエージェントを構築したかったのです」と、Tan 氏は述べています。「成熟したコードベースでそれを行うことができたのは、間違いなく、私たちが初めてでした」。この初期バージョンの製品を売り込んだ後、同社は YC W24 バッチに受け入れられ、そこから今日の Tusk が形になり始めました。
「YC の 3 か月はとても集中的です」と、Tan 氏は述べています。「それは基本的にはブートキャンプであり、スタートアップ以外のことはあまり考えていません」。Tusk にとって、YC での経験で最も価値のあることの 1 つは、バッチ内の小規模でより厳選されたグループを含め、他の創設者とつながることでした。これらのグループは定期的に集まり、目標や進捗状況について話し合っていました。「3、4 日間で人がどれだけ早く動けるかがわかるので、本当にやる気が出ます。その切迫感はスタートアップに根付いており、良いDNA を与えてくれます」と、Tan 氏は述べています。
インキュベーターから得た教訓は、顧客と直接関わることの価値でした。「お客様が必要としているものを直感的に理解しようとするのではなく、直接聞くように勧められました」と、Tan 氏は述べています。「当たり前のように聞こえますよね? 時には、最も単純なアドバイスが最高のアドバイスであることもあります」。実際、Tusk チームがビジネスの方向性を再考し始めたのは、顧客と関わった後でした。
「その後、プルリクエストを多く生成するほど エンジニアの仕事が増えることをお客様から繰り返し指摘されました」と、Tan 氏は述べています。これは、AI を活用したコーディングコンパニオンの可用性が高まっていることと相まって、業界がどこに向かっているのかを明確に示していました。「コードを記述することがコモディティーになりつつありました」と、Tan 氏は述べています。「18 か月後には、コードが機能することを検証することがボトルネックになることに気付きました」。その結果、チームは焦点を移し、現在提供している製品のテストと基盤の構築に会社の方向を変えました。
コストではなく顧客に集中する自由
YC から出てきて間もなく、Tusk は AWS とのコラボレーションを開始しました。同社は AWS Activate に参加しました。これは、技術的な専門知識、市場開拓の機会、および AWS クレジットの形での資金提供でスタートアップを支援する専用プログラムです。「それは信じられないほどでした」と、CTO の Sohil Kshirsagar 氏は述べています。「私たちがさらに小規模であったときでも、AWS チームは非常に迅速に対応してくれました。その上、私たちが受け取ったクレジットの額も本当に役に立ちました。これは本質的に、株式なしで得られる投資です」。これは、AI インフラストラクチャに依存しているスタートアップにとって特に価値があります。
「AI を導入する前のスタートアップでは、クラウドのコストはホスティングやストレージなどに限られていましたが、今日では大規模言語モデル (LLM) が主なコストになっています」と、Kshirsagar 氏は述べています。「これらのクレジットがなければ、お客様に何かをリリースするたびに、どれくらいのコストがかかるのか考えていたでしょう。これは私たちのランウェイに影響するでしょうか? しかし今では、実際に問題を解決して、事後に最適化する方法を考え出すことができます」。
コスト削減に加えて、AWS Activate のおかげで、Tusk チームは最も重要なことに注意を向けることができるようになりました。「私たちが毎日心配しなければならないことはすでにたくさんあるので、クラウドの使用量や支出をその 1 つにしたくはないでしょう」と、Kshirsagar 氏は述べています。「Activate を使うと、お客様が抱えている問題は何か、どうすれば最善の解決ができるかなど、お客様に焦点を合わせ続けることができ、必ずしも将来のコストへの影響について考える必要があるわけではなくなります」。
リアルタイムのオブザーバビリティがスケーラブルなインテリジェンスを満たす
Tusk は AWS のサービスを組み合わせて推論とモニタリングを行っています。「Amazon Bedrock は私たちの主な LLM 推論ソリューションです」と、Kshirsagar 氏は述べています。「当社にもたらされる主な利点の 1 つは、スケーラブルなクロスリージョン推論です。これは、2 週間で顧客が 1 人から 10 人になり、レート制限を引き上げる必要がある場合は、早い段階で重要です。」
Tusk が Amazon Bedrock で使用しているモデルは、セマンティックの理解とリグレッションの分類を促進します。「Tusk が API レスポンスの出力の違いを調べるときは、API の構造を変更しているか、レスポンスを若干変更している可能性があることを考慮する必要があります」と、Kshirsagar 氏は述べています。「私たちは Bedrock で推論モデルを使用して、その変更がリグレッションなのか、プルリクエストのコンテキストに基づいた意図的な更新なのかを判断しています」。
Amazon Bedrock は、Tusk がモデルとトークンの使用を最適化するのに役立ちます。「私たちはタスクの複雑さに応じてモデルを切り替えることがよくあります」と、Kshirsagar 氏は述べています。モデル変更が必要な場合、Amazon Bedrock はそのプロセスを容易にします。多くの場合、モデル ID を更新するのと同じくらい簡単です。
QA のボトルネックを超えて、エンドツーエンドの保証に向かう
Tusk が成長と進化を続ける中、YC で培った顧客第一主義の考え方が中心であることに変わりはありません。「エンジニアの間では多くの燃え尽き症候群が見られます」と、Tan 氏は述べています。「私たちは、彼らがテストで行き詰まる時間を減らし、複雑な問題の解決策の設計やユーザーに役立つ機能の開発など、楽しいことに多くの時間を費やせるようにしたいと考えています」。
その野心を実現するために、Tusk は Amazon Bedrock の使用について AWS とのコラボレーションを深めています。「私たちが新機能を発表し続け、新しい顧客にリーチするにつれ、Amazon Bedrock の利用は飛躍的に拡大する見込みです」と、Kshirsagar 氏は述べています。「また、 AWS Trainium EC2 インスタンスでモデルをファインチューニングしたり、独自のモデルの構築とトレーニングをしたりする可能性について、AWS と話をしました」。
「私たちは、オールインワンのテストプラットフォームになることを計画しています」と、Tan 氏は述べています。「私たちは、単体テスト、統合 (API) テスト、エンドツーエンドテストなど、企業が頼りにしている主要なタイプのテストソフトウェアをすべてインテリジェントにカバーします。これにより、Tusk は誰もが雇用することができるスタッフレベルの AI テストエンジニアとして機能し、1 人のスタートアップであっても、作成したコード変更やプルリクエストの QA を行うことができます。それが究極のビジョンです」。
このコンテンツはいかがでしたか?