>_tech-draft
Vercelのアイコン
Vercel
動画公開日
タイトル

The Vercel CLI is Now Built for AI Agents

再生時間

9分 25秒

Vercel CLIが進化!サンドボックス、Feature Flags、Native Binaryで開発効率を最大化

ポイント

  • この記事は、Vercel CLIが単なるデプロイツールから進化した、開発効率を最大化する新機能を解説します。
  • サンドボックスでの安全なコード実行、CLIからのFeature Flags管理、`vc curl`による効率的なエンドポイントテストを紹介。
  • 高速なネイティブバイナリやIDE連携により、Vercelエコシステムでの開発体験が大幅に向上するでしょう。

はじめに: Vercel CLIの新たな進化

Vercelは、エッジクラウド向けのインフラストラクチャ提供に力を入れており、その中でも特に重要な要素がVercel CLIです。Vercel CLIは、もはや単なるターミナルからのデプロイツールにとどまりません。エージェントがリソースを接続し、サンドボックスを作成し、ログを検査し、問題をデバッグし、デプロイを改善し続けるためのプログラマブルなインターフェース、すなわち「ビルディングプリミティブ」へと進化しています。

本記事では、Vercel CLIがエージェントを活用した開発の強力な基盤となるように、最近実施された重要なアップデートについて詳しくご紹介します。

1. Vercel Sandbox: 安全なコード実行環境をCLIから直接利用

現在、「サンドボックス」は非常に注目されていますが、Vercel Sandboxは業界で最も高速なエクスペリエンスの一つを提供します。エージェントが安全にコードを実行したい場合に最適なソリューションです。

サンドボックスの作成と接続

Vercel CLIからサンドボックスを作成し、すぐに接続できます。これは非常に迅速に行われます。

vc sandbox create --connect

このコマンドを実行すると、新しく作成されたサンドボックスインスタンスに直接接続されます。作成されたサンドボックスの詳細は即座に表示され、チームプロジェクトや認証情報にスコープされており、非常にスムーズな利用が可能です。

サンドボックス内での操作例

サンドボックス内では、通常のシェルコマンドと同様に、さまざまな操作を実行できます。例えば、GitHubリポジトリをクローンすることが可能です。

git clone https://github.com/vercel/vercel-cli.git

このようにして、サンドボックス内で必要なコードを取得し、安全な環境で作業を進めることができます。

サンドボックスからの退出と再接続

作業が完了したら、サンドボックスから簡単に退出できます。

exit

そして、後日同じサンドボックスに戻りたい場合は、サンドボックスの名前を指定して再接続できます。

vc sandbox connect [サンドボックス名]

これにより、以前の作業状態から正確に再開できるため、エージェントがサンドボックス内で自由に作業できるようになります。

2. Vercel Flags: CLIでFeature Flagを管理

プロダクションレベルのアプリケーションを構築する上で不可欠なのがFeature Flags(機能フラグ)です。Vercel Flagsは、Vercelプラットフォームに組み込まれたFeature Flagプロバイダーであり、CLIを通じてフラグの作成、ターゲットルールの定義、段階的なロールアウト(Progressive Rollouts)、A/Bテストの実行が可能です。

Feature Flagの作成

新しいFeature Flagを作成するには、vc flags createコマンドを使用します。

vc flags create absplit

これにより、「absplit」という名前のFeature Flagが作成されます。作成後、Vercelプラットフォーム上でプロダクション、プレビュー、開発といったターゲット環境ごとに設定を確認できます。

トラフィック分割の設定

エージェントが特定のFeature Flagのトラフィックを修正したい場合、vc flags updateコマンドを使用します。例えば、プロダクション環境でユーザーIDに基づいてトラフィックを95%と5%に分割する設定は以下のようになります。

vc flags update absplit --environment production --split-by user-id --weight false=95 --weight true=5

この設定により、トラフィックの95%は既存の機能(false)に、残りの5%は新しい機能(true)に割り当てられます。この設定はVercelプラットフォームに永続的に保存され、プロダクション環境の「absplit」フラグが正常に更新されます。

3. Vercel Curl (vc curl): デプロイ後のエンドポイントテストを効率化

Vercel CLIのもう一つの注目すべき新機能は、vc curlコマンドの全面的な再設計です。これにより、エージェントはコードを書くだけでなく、変更が正しく機能するかをテストする必要がある場合に、手動でデプロイURLをコピーすることなく、リンクされたプロジェクトや特定のデプロイに対してリクエストを実行できます。

ネイティブcurlとの高い互換性

vc curlはネイティブのcurlコマンドと組み合わせて開発されており、通常のcurlコマンドで可能なあらゆる操作がvc curlでも利用できます。これにより、既存のcurlスキルをそのまま活用できます。

エンドポイントのテスト例

例えば、api/helloエンドポイントにGETリクエストを送信する場合、以下のコマンドを実行します。

vc curl /api/hello

エージェントが何かをデプロイした後、エンドポイントが正しく機能しているかを確認したい場合に非常に有効です。例えば、/api/helloエンドポイントが正常に応答したことをエージェントに確認させることができます。

POSTリクエストによるデータ送信

さらに、POSTリクエストを使用してapi/usersエンドポイントにデータを送信し、正しく動作するかをテストすることも可能です。

vc curl -X POST -H "Content-Type: application/json" -d '{"name":"melky"}' /api/users

Vercelにデプロイされたエンドポイントのスキーマを自動的に認識し、ネイティブコマンドを使用してPOSTリクエストを実行します。これにより、レスポンスが正しく返されることを確認できます。

4. 実験的なネイティブバイナリ: 高速化と軽量化を実現

Vercelでは、過去数ヶ月にわたり、Vercel CLIの実験的なネイティブバイナリの開発に注力してきました。これは、Mac、Windows、LinuxのどのOSを使用していても、最高のビルドおよびオペレーティングシステム体験を提供することを目的としています。

インストールとパフォーマンスの向上

従来のNode.js経由でインストールするVercel CLIとは異なり、ネイティブバイナリはより高速で軽量です。

npm install -g @vercel/vc-native

このコマンドでネイティブバイナリをインストールした後、which vcコマンドでインストールされているのがネイティブバイナリ(例えばmacOSバイナリ)であることを確認できます。私のMac環境では、ARM64向けのMac 64bit実行可能ファイルとして動作します。

バイナリサイズの比較

ネイティブバイナリの大きな利点の一つは、そのサイズです。必要なすべてのものが含まれていても、バイナリサイズは例えば66MBと非常に小さく、従来のバージョンと比較して大幅な軽量化が図られています。これにより、Windows、Linux、Macの全ユーザーに最良のエクスペリエンスを提供することを目指しています。

5. Vercel Plugin: 開発環境とのシームレスな統合

プラグインは多くの開発環境において、その挙動を最適化し、開発体験を大幅に向上させます。Vercelも独自のVercel Pluginを提供しており、Vercelを使って開発を行うすべての人にとって必須のツールとなっています。

Claude Codeとの連携

例えば、Claude CodeのようなIDEでは、Vercel Pluginが公式マーケットプレイスで提供されています。Vercelと検索すると、公式プラグインが見つかり、数多くのインストール実績があります。

ユーザーごとのスコープ、またはグローバルにインストールでき、インストール後プラグインをリロードすることで、さまざまなスキルやエージェントを利用できるようになります。これにより、Next.jsやshadcnなどを用いた開発において、Vercel Pluginが強力なサポートを提供します。

Codexなど他の環境でも利用可能

Vercel PluginはClaude Codeに限定されず、Codexのような他の開発環境でも同様の体験が提供されています。これにより、開発者は自身の好む環境でVercelの強力な機能を活用できます。

まとめ

Vercel CLIは、単なるデプロイツールから、エージェントを活用した次世代の開発ワークフローを支える強力な基盤へと大きく進化しました。

  • Vercel Sandboxにより、安全で高速なコード実行環境をCLIから直接操作できるようになりました。
  • Vercel Flagsは、Feature Flagの管理をCLIからシームレスに行い、高度なトラフィック制御を可能にします。
  • Vercel Curlは、デプロイされたアプリケーションのエンドポイントテストを効率化し、エージェントによる自動テストを容易にします。
  • 実験的なネイティブバイナリは、クロスプラットフォームでのパフォーマンスと効率を大幅に向上させます。
  • Vercel Pluginは、開発環境との深い統合により、開発者の生産性を最大限に引き出します。

これらの最新アップデートは、開発者の皆様のワークフローをよりスムーズにし、エージェントを用いた革新的な開発を加速させることでしょう。Vercel CLIの今後のさらなる進化にもご期待ください。

参考動画

What's new in Vercel CLI?