AI搭載ターミナルwarpを使おう

この記事は GMOアドマーケティング Advent Calendar 2023 19日目の記事です。

はじめに

こんにちは。
GMOアドマーケティングのKONCEです。
僕は開発を大体をIntelliJ系のIDE(PhpStorm、GoLand)を用いて行っています。後はブラウザのDev ToolとGCPのコンソールで割と事足ります。
環境整備やGUI使うまでもない作業、生ログをしっかり見たいときなどでターミナルを使用しています。CLIでガンガン開発するといった感じではありません。
ターミナルアプリはwarpを使用しています。適当に使っていても、なんか便利だな程度に思っていましたが、Warp AI について調べていこうとしたところまだまだ活用できるかもと思いましたので今回は深追いしていければと思います。

warpについて

warpは

  • Rust製で高速
  • AI搭載
  • デフォルトでオートコンプリートなど多くの機能搭載
  • モダンなUI

あたりが売りのターミナルアプリです。

現状Macのみ、Linux、Windowsも順次サポートしていくそうです。

個人もしくは5名までのチームメンバーは無料版で利用できます。
それより上のTeam向け、Enterprise向けもあるそうです。(今回は無料版についてのみです。)

インストール方法

brew もしくは 公式サイト からインストールできます。

※GitHubアカウントでのログインがあります。これはチームコラボレーションの機能で必要になってくるからとのことです。ログインせずに試せるようにもしていくそうです。

使用感

  • ダブルクリックでの選択
  • クリックでのカーソル移動
  • キーボードショットカット

などMacの基本的な操作感のまま直感的に入力できるようになっています。

またtabキーでは通常のタブ補完もできますし、実行コマンドの詳細も確認できたりします。

ブロック

コマンドごとにブロックに別れています。そのため

  • コマンドごとに(コマンド、出力、その両方、プロンプト、ディレクトリ)をコピー
  • ブロック内での検索
  • ブロックで移動できるのでスクロールが少なく済む

などがメリットとしてあります。

ブロックごとにコピーできるので共有するときなど捗ります。

 

コマンドパレット、コマンドサーチ

⌘P でコマンドパレットにアクセスできます。

コマンドパレットはショートカットキーを忘れたとか、後述のworkflowsに言語的にアクセスできます。

 

^R でコマンドサーチ、こちらからもworkflowsやhistoryなどコマンドに簡単にアクセスできます。

 

workflows と Warp Drive

よく使用するコマンドは workflows にパラメータを入力できる状態で保存できます。

これにコマンドサーチやコマンドパレットでアクセスすることで効率化していくことができるかと思います。

Warp Drive ではこのworkflowsを個人またはチームで管理できます。

チームで共有することにより、環境セットアップの効率化や最新の状況を保つことができそうです。

個人の環境は趣味嗜好あるので統一するのは大変かもしれませんが、みんなが同じように使えれば効果あるかと思います。

※ workflows はyamlファイルでの設定もサポートしていますがyamlファイルは Warp Drive 非対応でコマンドパレットorコマンドサーチからの利用になるようです。今後 Warp Drive での workflows もインポートエクスポート対応していくそうです。

 

ちなみにマークダウンも表示してくれてコピペも必要なかったりします。

warpのAI

AIコマンドサジェスト

履歴等からのサジェストが優秀で →キー で反映できたりします。

# から自然言語で入力することでAIがコマンドサジェストしてくれます。

(日本語入力OKっぽいですが、エンター押すまで表示反映されない…)

 

Warp AI

ChatGPTにプロンプトも投げれます。

エラーの際にコマンドブロックから直接プロンプトを用意してくれたりするので、かなり便利です。

※APIを通じてOpenAIへプロンプトを送信しているようです。Warp側にはデータは保存されないとのことですが、オプトインされるとのことなのでデータの取扱いにはご注意ください。

※ プロンプトは現在1日100クエリまでのようです。

プロンプトはコンピュータープログラミングに特化しているとのことです。

関係ない質問は返してくれませんでした。

 

その他

Demoなどで外部へ共有するときなどで出力したくないパスやIPなどの情報があれば

Settings > Privacy から設定することで出力をマスクすることができます。適宜活用していきたいです。

終わりに

今回はwarpについて紹介しました。

まだまだ活用しきれていない面は多々ありそうですが、今後コマンドはAIに考えさせて、チームで共有させていくといったAI時代にあった考えのもと、ターミナルでの作業も効率化していきたいと思います。

とはいえ、自身のやりたいことを言語化できる必要はあると思うので基礎を全て無視というわけにもいかないかと思います。

別途 GitHub Copilot CLI も試していければと思います。

告知

明日は @tfactory さんによる「Google CloudでSpot VMを利用する」です。
引き続き、GMOアドマーケティング Advent Calendar 2023 をお楽しみください!

■採用ページはこちら!
https://recruit.gmo-ap.jp/

■GMOアドパートナーズ 公式noteはこちら!
https://note.gmo-ap.jp/