VS CodeでさくらのAI Engineを使う方法 Kimi-K2.6をCustom Endpointとして追加する

公開日: 更新日:

2026年5月、さくらのAI Engineで preview/Kimi-K2.6 の提供が始まり、あわせてOpenAI互換およびAnthropic互換のAPIも利用できるようになりました。これにより、対応クライアントから直接さくらのAI Engineを呼び出しやすくなっています。

本記事では、VS CodeからさくらのAI Engineを利用することに絞って、設定例と動作確認の流れを整理していきます。とくに chatLanguageModels.jsonstreaming 設定が、表示の安定性に大きく影響する点を、Chat Debugとログを使って説明します。

目次

この記事のポイント

  • さくらのAI Engineは、2026年5月時点でOpenAI互換およびAnthropic互換のAPIに対応しています。
  • VS Code 1.122 以降では Chat: Manage Language Models からカスタムモデルを追加できます。
  • Kimi-K2.6 では streaming: false を明示しないと、応答がチャットに表示されないことがあります。
  • Chat Debug・出力パネル・ログファイルで、API 到達と表示失敗を切り分けできます。

1. はじめに

さくらのAI Engineは、国内で扱いやすい生成AI向けAPI基盤として以前から気になっていましたが、2026年5月に新しい動きがありました。まず、2026年5月12日に preview/Kimi-K2.6 のパブリックプレビュー提供が始まりました。Kimi-K2.6は思考プロセス(reasoning)を出力する推論モデルであり、ストリーミング時は delta.content の前に delta.reasoning が届く構造になっています。また、無償プランでは月3,000リクエストまで利用できます。

このたび「さくらのAI Engine」において、「Kimi-K2.5」の提供を終了し、新たに「Kimi-K2.6」パブリックプレビュー の提供を開始いたしました。

無償プランは、1ヶ月あたり3,000リクエストまで利用可能です。

〖さくらのAIEngine〗「Kimi-K2.6」パブリックプレビュー提供開始のお知らせ | さくらのクラウドニュース

続いて、2026年5月20日にResponses APIとMessages APIの提供開始が案内されました。これにより、OpenAI互換とAnthropic互換の両方の入り口が用意され、既存のツールやエディタから接続しやすくなっています。

「さくらのAI Engine」において、OpenAI互換およびAnthropic互換の2つのAPIが新たにご利用いただけるようになりました。

また、Messages APIに対応した「Claude Code」などのツールから、「さくらのAI Engine」を直接ご利用いただけます。

「さくらのAI Engine」Responses API・Messages API の提供開始 | さくらのクラウドニュース

今回は、このうちOpenAI互換の入口を使い、VS Codeのカスタムモデルとして preview/Kimi-K2.6 を追加する手順をまとめます。

2. 前提情報

VS Codeでは、標準のモデルに加えて、独自のAPIキーを使うカスタムモデルを追加できます。Microsoft公式ドキュメントでは、言語モデルの追加・編集や、モデル設定ファイルの管理方法が案内されています。

そのため、さくらのAI EngineのようにOpenAI互換のAPIを提供しているサービスであれば、設定さえ合えばVS Codeから利用できます。

なお、2026年5月公開のVS Code 1.122では、Chat: Manage Language Models から言語モデルを管理しやすくなりました。まずはこの画面からカスタムモデルを追加し、必要に応じて chatLanguageModels.json を編集します。

前提条件

  • VS Code 1.122 以降で、チャット機能が利用できること
  • さくらのAI Engine のAPIキーを取得済みであること
  • 2026年6月2日時点で、筆者の環境(macOS、VS Code 1.122 系)で動作確認していること

3. VS Codeでの設定手順

まず、コマンドパレットから Chat: Manage Language Models を開きます。

VS Codeのコマンドパレットで Chat: Manage Language Models を検索している画面
コマンドパレットから Chat: Manage Language Models を開きます

Language Models画面が開いたら、Add Models... から Custom Endpoint を選択します。

VS Codeの Language Models 画面で Add Models から Custom Endpoint を選択している画面
Add Models... から Custom Endpoint を選択します

その後、APIキーの入力を求められます。続いてAPI Typeを選択する画面が表示されるので、今回はOpenAI互換の入口として Chat Completions を選びます。今回は、Claude Code連携向けの Messages ではなく、OpenAI互換のChat Completionsを選ぶことにしました。

VS Codeで Custom Endpoint 追加時に API Type として Chat Completions、Responses、Messages から選択している画面
今回はOpenAI互換の入口として Chat Completions を選択します

必要に応じて chatLanguageModels.json が開くので、詳細設定を編集します。次の設定で利用できました。

VS Codeで chatLanguageModels.json を開き、さくらのAI Engine用の設定を記述している画面
VS Codeで chatLanguageModels.json を編集している画面
[
  {
    "name": "Sakura AI",
    "vendor": "customendpoint",
    "apiKey": "${input:chat.lm.secret.xxxxxxxx}",
    "apiType": "chat-completions",
    "models": [
      {
        "id": "preview/Kimi-K2.6",
        "name": "Kimi-K2.6",
        "url": "https://api.ai.sakura.ad.jp/v1",
        "toolCalling": true,
        "vision": true,
        "maxInputTokens": 128000,
        "maxOutputTokens": 16000,
        "streaming": false
      }
    ]
  }
]
筆者が動作確認した chatLanguageModels.json の設定例

重要なのは次の3点です。

  • urlhttps://api.ai.sakura.ad.jp/v1 を指定すること
  • モデルIDとして preview/Kimi-K2.6 を指定すること
  • streamingfalse にすること

apiKey は、VS Code側で管理しているシークレット入力を参照しています。記事中の xxxxxxxx はダミーです。デフォルトで設定されているはずですので、そのまま利用してください。

maxInputTokensmaxOutputTokens の値はVS Codeのデフォルトテンプレートを参考にした目安です。さくらのAI Engineの公式ドキュメントにモデルごとの正確なスペックが見当たらないため、実際の仕様と異なる可能性があります。

4. 動作確認と注意点

設定後、VS Codeのチャット画面でモデル一覧から Kimi-K2.6 を選択し、質問を送って応答を確認します。"streaming": false のとき、地理の短文質問に安定して答えられました。

4.1. streaming の設定

いちばん時間を使ったのは streaming の設定です。VS Codeが最初に生成する設定には streaming キーがなく、公式ドキュメントでは省略時のデフォルトは true です。

[
  {
    "name": "Custom Endpoint",
    "vendor": "customendpoint",
    "apiKey": "${input:chat.lm.secret.xxxxxxxx}",
    "apiType": "chat-completions",
    "models": [
      {
        "id": "",
        "name": "",
        "url": "",
        "toolCalling": true,
        "vision": true,
        "maxInputTokens": 128000,
        "maxOutputTokens": 16000
      }
    ]
  }
]
VS Codeが最初に生成した Custom Endpoint の設定例(streaming キーなし)

注意点

  • キーを省略すると、実質 stream: true でリクエストが送られます。
  • "streaming": false を明示すると、チャットと Chat Debug の両方に応答が記録されました。
  • streaming: true では、API は成功しても UI に表示されないことがあります(後述)。

4.2. 同一質問での比較(富士山)

切り分けのため、富士山の高さを尋ねる同じ質問で、streaming だけを変えて比較しました。いずれもAgentはオフ、codebase検索の追加もしていません。

項目 streaming: false streaming: true(またはキー省略)
チャット UI 「標高は 3,776メートル」などと表示 Sorry, no response was returned.
Chat Debug の Response Assistant 本文あり
Metadata の otherOptions "stream":false "stream":true
API(Trace ログ) success successdelta.content に回答あり)
streaming false で富士山の高さの質問に VS Code チャットが応答している画面
streaming: false のとき(左の CHAT DEBUG にも copilotLanguageModelWrapper が記録)
streaming true で同じ富士山の質問に no response と表示されている画面
streaming: true のとき(同じ質問で Sorry, no response was returned.

Chat Debugのエクスポートログでも、stream: true のときは usage.completion_tokens がありました。一方、Response のAssistant本文は空でした。

出力パネル(Trace)では delta.reasoning のあと delta.content で「3,776メートル」が届いているのに、チャットに載らない例も確認しています。

4.3. モデル別のストリーム構造と原因

つまり、さくらのAI Engineが応答していないのではなく、VS Code 側がストリーミング応答を表示用テキストに組み立てられていないのが原因です。プレイグラウンドのレスポンスタブで3モデルの実際のストリームを確認したところ、次のパターンが確認できました。

モデル ストリームの構造 VS Code での挙動
Kimi-K2.6 delta.reasoning チャンク多数 → delta.content 基本的に表示失敗
gpt-oss-120b delta.reasoning_content チャンク多数 → delta.content 不定期に表示失敗
Qwen3-Coder delta.content のみ(標準仕様) 安定して表示成功

Kimi-K2.6とgpt-oss-120bはreasoningモデルです。フィールド名は reasoningreasoning_content で異なります。どちらも標準仕様にないフィールドを先に送出します。

VS Code側がこれらを処理できないため、表示に失敗します。

さくらのAI Engineのプレイグラウンド(secure.sakura.ad.jp/ai/playground/)で、stream: true のまま同じ質問を送信しました。正常に応答が返ることも確認しています。

API自体は stream: true に対応しており、問題がVS Code側の処理にあることを裏付けています。

4.4. streaming: true 時のその他のエラー

状況によっては、次のような表示になることもありました。

状況 チャット画面 補足
通常チャット・短文1回 Sorry, no response was returned. 上記の富士山の例
Agent モードでツール呼び出しが続く Rate limit exceeded HTTP 429。無償枠の使い切りとは限らない

今回のケースでは Rate limit exceeded は、連続実行を疑うべきです。同じAPIキーで streaming: false にすると応答できたため、まず streaming を確認するのが切り分けしやすかったです。

4.5. デバッグ方法

画面のエラーだけでは判断しづらいため、次の方法を用途に応じて使い分けました。

方法 開き方 向いていること 見るポイント
Chat Debug チャットの ...Show Chat Debug View。左の CHAT DEBUG からリクエストを選択。Export Log Entry.copilotmd を保存可能 実際の stream 値と Response の有無 Metadata の otherOptionsusage、Assistant 本文
出力パネル 表示 → 出力 → チャネル GitHub Copilot Chat。事前に Developer: Set Log LevelTrace 再現直後のリアルタイム確認 delta.reasoningdelta.content429
ログファイル macOS 例: ~/Library/Application Support/Code/logs/<最新>/window*/exthost/GitHub.copilot-chat/GitHub Copilot Chat.log 過去リクエストの追跡 success と UI 表示の食い違い
Chat Diagnostics コマンドパレット → Developer: Chat Diagnostics 接続・認証の総合診断 ネットワークや拡張の状態

スクショを取り直すときは、Developer: Reload Window のあと New Chat で1本ずつ試すと、CHAT DEBUGの木が混ざりにくくなります。Agent利用時は Show Agent Debug Logs も併用してください。

詳細は Troubleshoot AI in Visual Studio CodeDebug chat interactions を参照してください。

切り分けの順番(筆者のおすすめ)

  1. chatLanguageModels.json"streaming": false を明示する。
  2. Agent をオフにし、短文を1回だけ送って再現する。
  3. Chat DebugotherOptionsResponse を確認する。
  4. 不明なときは 出力パネル または ログファイル の Trace を追う。
  5. Rate limit exceeded のときは、連続リクエストを疑う。

この点は、2026年6月2日時点の筆者の検証結果です。今後VS Code側やさくらのAI Engine側の仕様が更新される可能性もあります。動作しない場合は、まず streaming の設定を確認してください。

なお、さくらのAI Engineには、ZedやOpenCodeでの利用例も公開されています。VS Code以外のツールを試したい場合は、次の資料も参考になります。

5. まとめ

2026年5月以降、さくらのAI EngineはOpenAI互換およびAnthropic互換のAPIを利用できるようになりました。

VS Codeでも chatLanguageModels.json から preview/Kimi-K2.6 を試せます。

設定の骨格はシンプルですが、streaming: false の明示が実用上いちばん重要でした。

Kimi-K2.6やgpt-oss-120bなどのreasoningモデルは、標準仕様にないフィールドを先に送出します。対象は delta.reasoningdelta.reasoning_content です。VS Codeがこれらを処理できないため、表示に失敗します。

streaming: false にすると、VS Codeはレスポンス全体を受け取ってから表示するため、この問題を回避できます。

表示がおかしいときは、Chat DebugとGitHub Copilot Chatのログで「APIは成功しているか、VS Codeに届いているか」を切り分けてみてください。

小巻旭洋のプロフィール写真

小巻 旭洋

2014年からフリーランスとして活動し、2016年に株式会社フルーデンスを設立する。FileMaker開発歴は約10年。多数の企業システム構築を手がけ、特にデータベース設計と、JavaScript連携、Web連携、パフォーマンス最適化を専門としています。2025年から、Web業務システム・アプリ開発をメインに開発をしています。