広告枠を募集中 ご相談ください

ソフトウェアエンジニアがMistral Vibe CLIを使ってターミナルから直接自律型コーディングタスクを実行する方法

365Finds Editorial
Wiki 記事 11,430 本収録

あなたの AI で 365 Wiki を使う

下のプロンプトをコピーして、普段使っている AI に貼り付け、そのまま質問してください。

完全版 Skill をダウンロード

まずはプロンプトでお試しください。よく使う場合は完全版 365Wiki Skill をインストールすると、毎回貼り付ける必要がありません。普段使う AI がなければ、Gemini や Microsoft Copilot のウェブ版でも使えます。

日常的なソフトウェア開発において、ブラウザ上のAIチャット画面とローカルターミナルを行き来する作業は大きな集中力の断絶を生みます。エラーログやスタックトレースをコピー&ペーストし、生成されたコードの断片を手作業でエディタに貼り付けて差分を確認する作業は、開発効率を著しく低下させます。Mistral AIがオープンソースとして提供するターミナルネイティブなコーディングエージェント「Mistral Vibe(mistral-vibe)」は、このペインポイントを解消するために設計されました。

Mistral Vibeはコマンドライン上で直接動作し、プロジェクトのディレクトリ構成を理解し、Gitブランチやコミット履歴を把握した上で、複数ファイルにまたがるボイラープレートの生成や、テスト実行を伴う自律的なコードリファクタリングをターミナル内で完結させます。


1. 事前準備とインストール手順

Mistral Vibeはモダンなターミナル環境向けに最適化されています。公式にはLinuxおよびmacOS環境を主要ターゲットとしていますが、Windows環境でもuvやPowerShellを介して利用可能です。

システム要件

インストール方法

開発環境に応じて、以下のいずれかの方法でインストールします:

方法1: ワンライナーシェルスクリプト(macOSおよびLinux推奨)

curl -LsSf https://mistral.ai/vibe/install.sh | bash

方法2: uvによるインストール(高速かつ環境分離)

uv tool install mistral-vibe

方法3: 標準的なpipによるインストール

pip install mistral-vibe

初期セットアップとAPIキーの設定

インストール後、対話型セットアップコマンドを実行して認証を設定します:

vibe --setup

セットアップウィザードによりMISTRAL_API_KEYの入力が求められ、認証情報は~/.vibe/.envに安全に保存されます。また、シェルの設定ファイル(~/.bashrcや~/.zshrc)に直接環境変数を定義することも可能です:

export MISTRAL_API_KEY="your-mistral-api-key-here"

ローカル設定を含む新規プロジェクトで初めてVibeを起動する際、信頼フォルダ確認(Trust Folder System)により現在のワークスペースを信頼するか確認されます。承認されると~/.vibe/trusted_folders.tomlに登録され、予期しないディレクトリでの危険なコマンド実行を未然に防止します。


2. コアコンセプト:エージェントプロファイルと安全制御

自律的なコーディングエージェントを実務に導入する際、権限と安全境界の設計が極めて重要です。Mistral Vibeには、ツールの実行やファイル変更の許可レベルを制御するビルトインプロファイルが用意されています。

エージェントプロファイルツール承認と安全境界主なユースケース
accept-edits(デフォルト)ファイル編集(write_file、edit)を自動承認;シェルコマンド実行時は都度ユーザーに確認を要求。日常的な機能実装、コードリファクタリング、プロジェクト構築。
plan読み取り専用モード。安全な参照ツール(read、grep、ripgrep)のみ自動承認;ファイルの書き換えやコマンド実行を遮断。コードベースの設計調査、アーキテクチャレビュー、安全な監査。
askすべてのツール実行およびファイル変更について、事前にユーザーの承認を要求。重要な本番環境コードの修正や、不慣れなサードパーティコードの探索。
auto-approve(--yolo)すべてのツール、ファイル書き込み、シェルコマンドを無停止で完全自動実行。CI/CDパイプライン、自動実行スクリプト、使い捨てコンテナ環境。

起動時にプロファイルを明示的に指定できます:

vibe --agent plan

対話セッション中であれば、ショートカットキーShift+Tabを押すことでいつでもプロファイルを切り替えられます。


3. 対話型ターミナルインターフェースの基本操作

プロジェクトのルートディレクトリに移動し、コマンドを入力するだけで対話型セッションが始まります:

cd /path/to/my-project
vibe

Mistral Vibeはリッチなターミナルユーザーインターフェース(TUI)を起動し、現在の作業ディレクトリ、Gitブランチ、直近のコミット履歴を自動的にモデルのコンテキストへ注入します。

インタラクティブ入力構文

プロンプト内では、以下の特殊記号を活用して正確に指示を伝えます:

主要なスラッシュコマンド

操作効率を高めるTUIショートカット


4. エージェントによる開発ワークフローの実践

Mistral Vibeは、「コードベース構造の調査」「複数ファイルにまたがるボイラープレート生成」「自律テスト修正ループを伴うリファクタリング」の3つのユースケースで真価を発揮します。

シナリオ1: サブエージェントを活用した安全なアーキテクチャ調査

初見のプロジェクトで構造を把握したい場合、読み取り専用のplanモードを使用します:

vibe --agent plan

プロンプト例:

認証ミドルウェアがJWTトークンを検証する処理の流れを追跡し、ユーザー情報(Claims)がリクエストコンテキストにどのように付与されているか説明してください。

エージェントはgrepやreadを使用してリポジトリを検索します。検索範囲が広い場合、Vibeはtask()ツールを通じてビルトインのexploreサブエージェントへ探索タスクを委任します。サブエージェントは独立したコンテキストで並行処理を行うため、メイン会話のトークン消費を抑えられます。

シナリオ2: 複数ファイルにわたるボイラープレートと新機能のスキャフォールディング

1回のプロンプト指示で、関連する複数ファイルを連動して作成・更新できます:

src/monitoring/ 配下にヘルスチェックおよびメトリクス収集サブシステムを構築してください:
1. src/monitoring/health.py を作成し、CPU・メモリ・ディスクリソースの確認ロジックを実装する。
2. src/monitoring/metrics.py を作成し、Prometheusメトリクスエンドポイントを提供する。
3. src/main.py に新しいヘルスチェック用ルーターを組み込む。
4. tests/test_monitoring.py に単体テストを実装する。

デフォルトのaccept-editsモードにおいて:

  1. Vibeはreadでsrc/main.pyのルーティング構造を把握します。
  2. write_fileで新規モジュールとテストコードを作成します。
  3. editを用いてsrc/main.pyに必要な差分のみを的確に適用します。
  4. 実装完了後、シェルでテストを実行するかどうかをユーザーに確認します。

シナリオ3: 複数ファイルのリファクタリングと自律修正ループ

インターフェース変更を伴うリファクタリングでは、エラー出力を読み取って自律的に修正する機能が不可欠です。

プロンプト例:

@src/services/user_service.py と @src/services/order_service.py のデータベースセッション処理を、同期処理からSQLAlchemyの非同期セッションにリファクタリングしてください。@src/api/routes.py のハンドラーも適合させ、すべてのテストが通るまでpytestを実行して修正してください。

エージェントは以下のサイクルを自動で回します:

  1. 依存関係の調査: サービス層とAPI層の定義を読み込みます。
  2. パッチ適用: 該当ファイル群に対して統一差分(Diff)形式で修正を適用します。
  3. テスト実行: pytest tests/の実行許可を要求します。
  4. 自律デバッグ: 非同期セッションのコミット漏れ等でテストが失敗した場合、ターミナルの標準エラー出力を解析し、問題となったクエリコードを特定して再修正し、すべてのテストがグリーンになるまで反復します。

5. プロジェクトのカスタマイズ:AGENTS.md、スキル拡張、MCP

チーム固有のコーディング規約やルールに沿ってエージェントを動作させるため、柔軟なカスタマイズが可能です。

AGENTS.mdによる振る舞いの標準化

Mistral Vibeはプロジェクト内のAGENTS.mdを自動検出し、システムプロンプトに統合します:

プロジェクトのAGENTS.md設定例:

# 開発ガイドライン

- すべてのPythonコードはPython 3.12の型ヒント記法に厳密に従うこと。
- 非同期テストはpytestを用い、asyncio_mode = "auto" を指定すること。
- 明示的な指示がない限り、alembic/versions/ 配下のマイグレーションファイルは変更しないこと。
- タスク完了前には必ず ruff format を実行してコードスタイルを統一すること。

スキル機能によるカスタムスラッシュコマンドの追加

Vibeはオープン規格「Agent Skills」に準拠しています。.vibe/skills/<skill名>/ または .agents/skills/<skill名>/ 配下に SKILL.md を配置することで、独自のコマンドを追加できます:

---
name: security-audit
description: ハードコードされた秘密情報や脆弱な依存関係を検査する
user-invocable: true
allowed-tools:
  - read
  - grep
  - bash
---

# セキュリティ監査スキル
pip-auditを用いて依存パッケージの脆弱性を検証し、コードベース内の機密トークン露出をスキャンします。

保存後、対話プロンプトで /security-audit を入力するだけで、定義したワークフローを即座に呼び出せます。


6. プログラムモードによるCI/CD自動化

対話型での利用に加え、Mistral Vibeはヘッドレス(非対話型)のプログラムモードを備えており、CI/CDや自動スクリプトへの組み込みが可能です。

-p または --prompt フラグを用いてワンショットでタスクを実行します:

vibe --prompt "git diff HEAD~1 で変更された全ファイルを検証し、フォーマット違反を修正した上で、APIシグネチャ変更があればREADME.mdを更新してください" \
     --auto-approve \
     --max-turns 10 \
     --max-price 1.50 \
     --output json \
     --output-dir ./ci-artifacts/

プログラム実行における制御オプション


7. ターミナルネイティブ開発におけるベストプラクティス

  1. 大規模変更の前にGitツリーをクリーンにする: 自動変更を依頼する前に、未コミットの変更をコミットするかgit stashで退避させておくと、問題発生時にもgit diffやgit checkoutで即座に安全確認・復元が可能です。
  2. @記号でコンテキストを絞り込む: 大規模なプロジェクトでは、@src/core/config.pyのように主要ファイルを明示することで、エージェントが無駄な広範検索を行わずに済み、トークン消費と処理時間を削減できます。
  3. 大規模改修はまずplanモードで検討する: 大幅なアーキテクチャ変更を行う場合は、まずvibe --agent planで実装計画を出力させ、妥当性を確認してからaccept-editsに移行することをおすすめします。
  4. 自動テストのフィードバックを活用する: 人間がパッチの各行を目視確認するだけでなく、エージェントにテストコマンドを実行させ、失敗ログから自己修正させることで、コードエージェントの自律的な価値を最大限に引き出せます。

参考資料