Devstral 2 API の使い方

Ashley Innocent

Ashley Innocent

10 12月 2025

Devstral 2 API の使い方

開発者は常に、複雑なワークフローを効率化するツールを求めていますが、Mistral AIのDevstral 2はこの分野において状況を一変させる存在として登場しました。Devstral 2とDevstral Small 2からなるこのオープンソースのコーディングモデルファミリーは、コードベースの探索、バグ修正、複数ファイルの編集といったタスクで優れた性能を発揮します。何がそれを際立たせるのでしょうか?それは、Mistral APIとの統合により、高性能なコード生成にアプリケーション内で直接シームレスにアクセスできる点です。さらに、Vibe CLIツールと組み合わせることで、直感的でありながら強力なターミナルベースの自動化が可能になります。

💡
Devstral 2 APIを探索する中で、大規模なプロジェクトに対して深い推論を行うための256Kのコンテキストウィンドウの処理能力に感銘を受けるでしょう。しかし、APIインタラクションの管理には信頼性の高いテストが不可欠です。そこで登場するのが、API設計とドキュメンテーションのための堅牢なプラットフォームであるApidogです。実際に始めるには、Apidogを無料でダウンロードし、MistralのOpenAPI仕様をインポートして、Devstral 2のエンドポイントを簡単にテストしてください。この設定は、統合を検証するだけでなく、プロトタイピングも加速させます。

ボタン

Devstral 2の理解:モデルファミリーの技術的詳細

Mistral AIのエンジニアは、現実世界のソフトウェアエンジニアリングの課題に正面から取り組むためにDevstral 2を設計しました。 その核となるDevstral 2(123Bパラメータの高密度トランスフォーマー)は、コードを高い精度で処理し、SWE-bench Verifiedベンチマークで72.2%を達成しています。このスコアは、GitHubの課題を自律的に解決する能力を反映しており、人間の評価ではDeepSeek V3.2のようなモデルを42.8%の勝率で上回っています。その結果、チームは大規模な競合モデルのようなオーバーヘッドなしに、本番環境レベルのタスクでこれを使用しています。

一方、24Bパラメータを持つDevstral Small 2は、リソースが限られた環境をターゲットとしています。SWE-benchで68.0%のスコアを記録し、スクリーンショットベースのコード生成などのタスクで画像入力を受け入れるマルチモーダルサポートを導入しています。両モデルは、Devstral 2はModified MITライセンス、Devstral Small 2はApache 2.0ライセンスという、寛容なライセンスの下で運用されています。このオープンな姿勢は、コミュニティからの貢献やカスタムファインチューニングを奨励しています。

技術的には、これらのモデルは256Kトークンのコンテキストウィンドウを活用しており、リポジトリ全体を取り込んで包括的な分析を行うことができます。例えば、Devstral 2はファイル間のフレームワーク依存関係を追跡し、障害を検出し、リトライを提案します。これらの機能により、ベンチマークでは手動デバッグを最大50%削減します。さらに、そのアーキテクチャは費用対効果を最適化しており、同等の出力に対して開発者はClaude Sonnetと比較して7倍のコスト削減を報告しています。

エンタープライズでの使用への影響を考えてみましょう。Devstral 2はアーキテクチャレベルの推論を処理し、モノリシックなコードをマイクロサービスにリファクタリングすることでレガシーシステムを現代化します。対照的に、Devstral Small 2はシングルGPU環境で動作するため、エッジデプロイメントに理想的です。その結果、組織はインフラストラクチャを大幅に改修することなく、AI支援型コーディングを拡張できます。

パフォーマンスを数値化するために、主要な指標を検証します。

モデル パラメータ SWE-benchスコア コンテキストウィンドウ マルチモーダルサポート ライセンス
Devstral 2 123B 72.2% 256K いいえ Modified MIT
Devstral Small 2 24B 68.0% 256K はい Apache 2.0

これらの仕様により、Devstral 2はコードエージェントの多用途な基盤として位置づけられます。次に、この力をコマンドラインにもたらすVibe CLIについて説明します。

Vibe CLIの探索:Devstral 2自動化のためのコマンドラインインターフェース

Vibe CLIは、Mistral AIが提供するDevstral 2のオープンソースコンパニオンであり、自然言語のプロンプトを実行可能なコード変更に変換します。開発者は、シンプルなcurlコマンド(curl -LsSf https://mistral.ai/vibe/install.sh | bash)でインストールできます。一度セットアップすれば、ターミナルでインタラクティブなチャットインターフェースが起動し、オートコンプリートと永続的な履歴機能が利用できます。

Vibe CLIを効果的にしているのは何でしょうか?それは、プロジェクトを認識するコンテキストを組み込み、ディレクトリをスキャンして@記法でファイルを参照できる点です。例えば、@main.pyと入力することで、分析用のスクリプトを取り込むことができます。さらに、!git statusのように!を使ってシェルコマンドを実行し、バージョン管理をシームレスに統合できます。スラッシュコマンドは使いやすさをさらに向上させます。/configで設定を調整し、/themeでインターフェースをカスタマイズできます。

内部的には、Vibe CLIはエージェント通信プロトコルに準拠しており、ZedのプラグインのようなIDE拡張機能に対応しています。config.tomlファイルを通じて設定を行い、モデルプロバイダー(例:ローカルのDevstralインスタンスやMistral APIキー)、ツールの権限、実行の自動承認ルールなどを指定します。この柔軟性により、過剰なアクセスを防ぎます。機密性の高いプロジェクトでは、デフォルトでファイル書き込みを無効にできます。

実際には、Vibe CLIは反復的なワークフローでその真価を発揮します。Pythonのウェブアプリを保守しているとします。「@auth.py内の認証モジュールをセッションではなくJWTを使用するようにリファクタリングしてください。」とプロンプトに入力すると、Vibe CLIは依存関係を探索し、差分を生成し、!git applyを通じて変更を適用します。競合が発生した場合は、それを検出し、代替案を提案します。これはDevstral 2のリトライメカニズムを反映したものです。

ベンチマークによると、Vibe CLIは複数ファイルにわたるシナリオで、手動編集よりもエンドツーエンドのタスクを3倍速く完了します。さらに、そのスクリプトモードは、PRレビューの一括処理のような自動化スクリプトをサポートします。ローカルでの実行では、消費者向けハードウェア上のDevstral Small 2と組み合わせることで、推論時間が応答あたり数秒に短縮されます。

しかし、Vibe CLIの真の強みは、そのAPIとの相乗効果にあります。効率のために、Mistral APIへのリクエストをプロキシし、応答をキャッシュします。今後、この連携はカスタム統合にとって不可欠となるでしょう。

Devstral 2 APIへのアクセス:ステップバイステップ実装ガイド

Devstral 2 APIにアクセスするには、コンソールで利用可能なMistral AIアカウントが必要です。サインアップすると、導入期間中はすぐに無料でアクセスでき、その後は従量課金制に移行します。Devstral 2の場合、入力が100万トークンあたり$0.40、出力が$2.00、Devstral Small 2の場合は、入力が$0.10、出力が$0.30です。認証には、コンソールダッシュボードで生成されるAPIキーを使用します。

まずキーを取得します。APIセクションに移動し、新しいキーを作成して安全に保管してください。

このAPIはHTTPS上でRESTfulな規約に従っており、エンドポイントはhttps://api.mistral.ai/v1でホストされています。主要な操作にはチャット補完、ファインチューニング、埋め込みがありますが、コーディングに関しては/v1/chat/completionsに焦点を当てます。

リクエストはJSON形式で作成します。Devstral 2の基本的なcurlの例:

curl https://api.mistral.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -d '{
    "model": "devstral-2",
    "messages": [{"role": "user", "content": "Write a Python function to parse JSON configs."}],
    "max_tokens": 512,
    "temperature": 0.1
  }'

この呼び出しは、生成されたコードをchoices[0].message.contentフィールドで返します。創造性を調整するにはtemperature(決定的な出力には0.0)、応答の長さを調整するにはmax_tokensを使用します。コードベースのタスクでは、プロンプトにコンテキストを含めます。ファイルの内容を前置するか、指示のためにシステムメッセージを使用します。

高度な使用法としては、リアルタイムIDEプラグインに理想的な"stream": trueを使用したストリーミング応答があります。このAPIは最大256Kトークンをサポートしているため、大きな入力をバッチ処理します。エラー処理は重要です。一般的なコードには401(認証されていない)と429(レート制限)があります。指数バックオフでリトライを実装してください。

import requests
import time
import os

def call_devstral(prompt, model="devstral-2"):
    url = "https://api.mistral.ai/v1/chat/completions"
    headers = {
        "Authorization": f"Bearer {os.getenv('MISTRAL_API_KEY')}",
        "Content-Type": "application/json"
    }
    data = {
        "model": model,
        "messages": [{"role": "user", "content": prompt}],
        "max_tokens": 1024,
        "temperature": 0.2
    }
    while True:
        response = requests.post(url, json=data, headers=headers)
        if response.status_code == 429:
            time.sleep(2 ** attempt)  # Exponential backoff
            attempt += 1
        elif response.status_code == 200:
            return response.json()["choices"][0]["message"]["content"]
        else:
            raise Exception(f"API error: {response.status_code}")

# Example usage
code = call_devstral("Optimize this SQL query: SELECT * FROM users WHERE age > 30;")
print(code)

このPythonのコードスニペットは、回復力のある呼び出しを示しています。Devstral Small 2でのマルチモーダルでは、コンテンツ配列でbase64エンコーディングを介して画像をアップロードします。

レート制限はティアによって異なります。コンソールから使用状況を監視してください。ファインチューニングエンドポイント(/v1/fine_tuning/jobs)では、独自のデータセットでのカスタマイズが可能で、プロンプトと補完のペアを含むJSONLファイルが必要です。

テストに移行すると、Apidogが検証を簡素化します。ApidogにMistral OpenAPI仕様をインポートし、環境をモック化し、コレクションを実行してワークフローをシミュレートします。このアプローチにより、エッジケースを早期に検出できます。

ApidogとのDevstral 2 API統合:API駆動型開発のベストプラクティス

Apidogは、設計、テスト、ドキュメンテーションのための統一プラットフォームを提供することで、Devstral 2 APIの利用を向上させます。Apidog(個人利用は無料)をダウンロードし、新しいプロジェクトを作成することから始めます。Mistral APIスキーマ(コンソールで利用可能)を貼り付けると、エンドポイントが自動生成されます。

なぜApidogなのでしょうか?それはOpenAPI 3.0をサポートしており、Mistralの仕様に準拠しているだけでなく、視覚的なリクエストビルダーを提供しているからです。チャット補完をテストするには、メソッドをPOSTに設定し、Bearerトークンを追加してJSONペイロードを入力します。ApidogのレスポンスビューアはJSONをパースし、コード出力をハイライト表示して迅速なレビューを可能にします。

自動化には、Apidogのスクリプティングを活用します。事前リクエストスクリプトは、APIにアクセスする前に最近のGit差分のような動的なコンテキストを取得します。事後レスポンススクリプトは生成結果をパースし、Vibe CLIコマンドをトリガーします。JavaScriptのスクリプト例:

// Pre-request: Fetch repo context
pm.sendRequest({
    url: 'https://api.github.com/repos/user/repo/contents/',
    method: 'GET',
    header: {
        'Authorization': 'token {{github_token}}'
    }
}, (err, res) => {
    if (!err) {
        pm.variables.set('context', res.json().map(f => f.name).join('\n'));
    }
});

// Main request uses {{context}} in prompt

この統合により、プロンプトが常に適切に保たれます。さらに、Apidogのコラボレーション機能により、チームはコレクションを共有し、Devstral 2の使用方法を標準化できます。

高度なユースケース:本番環境でのDevstral 2とVibe CLIの活用

基本的な機能を超えて、Devstral 2 APIは高度なエージェントを動かします。Vibe CLIと組み合わせてハイブリッドワークフローを実現できます。CLIをローカルプロトタイピングに使用し、その後CI/CDパイプラインにAPIエンドポイントをデプロイします。例えば、GitHub Actionsと統合すると以下のようになります。

name: Code Review
on: [pull_request]
jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run Devstral Review
        run: |
          curl -X POST https://api.mistral.ai/v1/chat/completions \
            -H "Authorization: Bearer ${{ secrets.MISTRAL_API_KEY }}" \
            -d '{
              "model": "devstral-2",
              "messages": [{"role": "user", "content": "Review changes in ${{ github.event.pull_request.diff_url }}"}]
            }' | jq '.choices[0].message.content' > review.md
      - name: Comment PR
        uses: actions/github-script@v6
        with:
          script: |
            github.rest.pulls.createReview({
              owner: context.repo.owner,
              repo: context.repo.repo,
              pull_number: context.payload.pull_request.number,
              body: fs.readFileSync('review.md', 'utf8')
            })

このYAMLはレビューを自動化し、差分をプルしてフィードバックを生成します。Vibe CLIは、vibe "Apply suggested changes from review.md"のようにローカルでのマージを処理することで補完します。

マルチモーダルシナリオでは、Devstral Small 2 APIがUIスクリーンショットを処理します。base64画像をフィードします:{"type": "image_url", "image_url": {"url": "data:image/png;base64,iVBOR..."}}。アプリケーションにはアクセシビリティ監査が含まれ、モデルがaltテキストの改善を提案します。

エンタープライズ規模では、ドメイン固有のデータでファインチューニングを行います。/v1/fine_tuning/jobsにデータセットをアップロードし、エポックと学習率を指定します。トレーニング後、APIは専用のエンドポイントでカスタムモデルを提供し、レイテンシを30%削減します。

エッジコンピューティングは、Devstral Small 2のオンデバイスランタイムから恩恵を受けます。ONNXを介してデプロイし、オーバーフローするトラフィックのためにAPIフォールバックを統合します。Kilo CodeやClineのようなツールはこれを拡張し、Vibe CLIのロジックをVS Codeに組み込みます。

採用企業からの測定結果は、5倍の生産性向上を示しています。あるスタートアップは、Devstral 2の依存関係追跡のおかげで、数週間で10万行のモノリスをリファクタリングしました。

結論:Devstral 2 APIで今すぐコーディングを変革しましょう

Devstral 2は、その堅牢なモデルファミリー、直感的なVibe CLI、そしてアクセスしやすいAPIを通じて、AI支援型開発を再定義します。開発者は、迅速な修正から完全なリファクタリングまで、印象的なベンチマークとコスト削減に裏打ちされたこれらを活用しています。

概説された戦略を実行しましょう。Vibe CLIのインストールから始め、APIキーを保護し、Apidogを通じてテストします。正確なプロンプトやキャッシュされたコンテキストのような小さな最適化が、実質的な効率向上をもたらします。AIが進化するにつれて、Devstral 2はあなたを最前線に位置づけます。

実験する準備はできましたか?Mistralコンソールにアクセスし、Vibe CLIを起動し、Apidogを無料でダウンロードしてください。次のブレイクスルーがあなたを待っています。

ボタン

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる