目次を開く
Kimi-K2.7-Code をさくらのAI Engineで動かす — 差し替え1行と5つの落とし穴

Kimi-K2.7-Code をさくらのAI Engineで動かす — 差し替え1行と5つの落とし穴

さくらのAI Engineに Kimi-K2.7-Code が乗りました。手元の OpenAI SDK のコードは base_url の差し替えでそのまま向けられますが、modelKimi-K2.7-Code と書くと通りません。公式の告知に載っている文字列は、頭に preview/ が付いた preview/Kimi-K2.7-Code です。

プレビュー提供中のモデルには、この接頭辞が付きます。一方でマニュアルのサンプルコードは正式提供の gpt-oss-120b のままなので、サンプルだけを見て書くと最初の一投目で詰まります。ここを含めて、動かすまでに引っかかる箇所を先に潰しておきます。

この記事でわかること

  • さくらのAI Engineで Kimi-K2.7-Code を動かす最短手順と、正しいモデル名
  • 手元のコードを base URL の差し替えだけで OpenAI SDK から呼ぶ方法
  • 無料枠の月3,000リクエストでどこまで試せるか、そして thinking が課金に効いてくる理由
  • 速度と失敗率とコストを自分で測るための 実測テンプレ

なぜ今これか

コード生成モデルを使うとき、多くの人は OpenAI か Anthropic に API を投げています。ただ案件によっては、データを国内に置きたい、請求と権限を分けたい、特定ベンダーに寄せきりたくない、といった要件が先に立ちます。

さくらのAI Engine は2025年9月24日に一般提供が始まった推論API基盤で、GPUクラウドの高火力を土台にしています。同じタイミングで、さくらの生成AIプラットフォームは「さくらのAI」へ名称が変わり、AI Engine がその中核に据えられました。公式は、モデルの実行と通信をすべて国内クラウドで完結させ、外部へデータを送らないと明記しています。モデル提供元にもデータが渡らないため、学習に使われる心配もないという書き方です。社内のコードを丸ごと投げるコード生成用途では、ここが実質的な選定理由になります。

そのAI Engineに、Moonshot AI の Kimi-K2.7-Code が2026年7月28日からパブリックプレビューで乗りました。API は OpenAI 互換なので、既存の OpenAI SDK のコードをほぼそのまま国産クラウド上のモデルに向けられます。しかも Chat Completions は月3,000リクエストまで無償です。まず触るハードルはかなり低い。

さくらのクラウド上でAIを動かす話はさくらのクラウド シンプルAI(CR版)を申請から疎通まで最短で通すにもあります。合わせて読むと、申請まわりの温度感がつかめます。

準備。アカウントトークンを発行する

  1. コントロールパネルにアクセスして利用規約に同意し、プランを選ぶ
  2. 左メニューのアカウントトークンから作成に進み、トークン名を入れて発行する

トークンは <UUID>:<シークレット> というペアの形式で、作成時に一度しか表示されません。公式マニュアルにも、再度表示されないのでコピーして安全な場所に保存するようにと書かれています。ここでコピーし損ねると作り直しです。

ひとつ紛らわしいのが、さくらのクラウド本体のAPIで使うアクセストークンとシークレットとは別系統だという点です。インフラ管理側の鍵は AI Engine では使えません。AI Engine のコントロールパネルで発行したものを用意してください。

最短で叩く。curl

curl --location 'https://api.ai.sakura.ad.jp/v1/chat/completions' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer <UUID>:<シークレット>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "preview/Kimi-K2.7-Code",
    "messages": [
      {"role": "system", "content": "あなたは熟練のソフトウェアエンジニアです。"},
      {"role": "user", "content": "Pythonで、指定ディレクトリ配下の重複ファイルをハッシュで検出する関数を書いて。"}
    ],
    "temperature": 0.2,
    "max_tokens": 4000,
    "stream": false
  }'

エンドポイントは https://api.ai.sakura.ad.jp/v1/chat/completions、認証は Authorization: Bearer <アカウントトークン> だけです。OpenAI の Chat Completions を触ったことがあれば、見慣れた形のはずです。

max_tokens を4000にしてある理由は後述します。ここを小さくすると痛い目を見ます。

モデル名は preview/ 付き

冒頭に書いたとおり、パブリックプレビューのモデルには preview/ が付きます。7月28日の提供開始告知に、model パラメータへ指定する文字列として preview/Kimi-K2.7-Code が明記されています。

これはこのモデル固有の話ではなく、プレビュー全般の命名規則です。Anthropic互換のMessages APIで使えるモデルも preview/Kimi-K2.6 という表記になっています。逆に正式提供の gpt-oss-120bllm-jp-3.1-8x13b-instruct4 には接頭辞が付きません。プレビューか正式提供かで書き分けが要る、と覚えておけば迷いません。

裏を返すと、モデル名の正解はマニュアルではなく各モデルの提供開始告知にあります。新しいモデルを試すときは、まず告知ページを開くのが早い。

OpenAI SDK から使う。差し替えは2行

既存の Python コードなら、base_urlapi_key を差し替えるだけです。

from openai import OpenAI

client = OpenAI(
    base_url="https://api.ai.sakura.ad.jp/v1",   # ← ここだけ差し替え
    api_key="<UUID>:<シークレット>",              # ← アカウントトークン
)

resp = client.chat.completions.create(
    model="preview/Kimi-K2.7-Code",
    messages=[
        {"role": "system", "content": "あなたは熟練のソフトウェアエンジニアです。差分だけを返してください。"},
        {"role": "user", "content": "このReactコンポーネントのuseEffectの依存配列漏れを直して: ..."},
    ],
    temperature=0.2,
    max_tokens=4000,
)
print(resp.choices[0].message.content)

環境変数派なら OPENAI_BASE_URL=https://api.ai.sakura.ad.jp/v1OPENAI_API_KEY=<アカウントトークン> を設定すれば、OpenAI を前提にした多くのツールがそのまま向きます。

ただし Anthropic SDK 経由で使いたい場合は事情が変わります。Messages API で使えるモデルは現状 preview/Kimi-K2.6 だけで、K2.7-Code は含まれていません。さくらの7月28日の告知でも、対応APIは Chat completions と書かれています。Claude Code のようなAnthropic互換前提のツールから K2.7-Code を呼ぶ選択肢は、いまのところありません。

Kimi K2.7 Code はどういうモデルか

Moonshot AI の公式情報によると、K2.7 Code は総パラメータ1Tのミクスチャー・オブ・エキスパートです。384のエキスパートから8つを選び、トークンあたり32Bがアクティブになります。コンテキスト長は256Kトークン、ライセンスは Modified MIT License です。

性格としてはコーディング特化のagenticモデルです。K2.6比のベンチマークでは、Kimi Code Bench v2 が50.9から62.0へ、Program Bench が48.3から53.6へ伸びました。推奨設定は temperature 1.0、top_p 0.95 とされています。

ここで押さえておきたいのが、このモデルは非thinkingモードに対応しておらず、常に思考を有効にして動くという点です。K2.6と比べて thinking トークンの消費量は約30%減ったとされていますが、ゼロにはできません。この性質があとでコストと max_tokens の両方に効いてきます。

もう一点、さくらの告知はこのモデルを画像とテキストを組み合わせた理解と生成が可能なマルチモーダルモデルとして紹介しています。想定用途にはドキュメント理解や画像キャプション生成、マルチモーダルQAも挙がっています。コード特化だが画像も入る、という理解が正確です。

コスト感

Kimi-K2.7-Code の単価は次のとおりです。いずれも税込で、1万トークンあたりの金額です。

単価
Input0.52円 / 10,000トークン
Output5.04円 / 10,000トークン

加えて Chat Completions は月3,000リクエストまで無償です。基盤モデル無償プランと呼ばれています。個人の検証や社内の小さな自動化なら、無料枠だけで回り切ることも多いはずです。無償枠を超えた場合は自動で課金に切り替わるのではなく、レート制御がかかる形になります。

出力課金が入力の約10倍なので、コストは基本的に出力トークン量で決まると考えておくと見積もりしやすい。ざっくり、1回の生成で出力2,000トークンなら約1.0円。1日20回テストしても月あたり数百円のオーダーです。

ただしこの試算はそのままでは甘い。thinking の出力も課金対象だからです。K2.7-Code は思考を切れないので、画面に見えている回答が短くても、裏で消費したトークンぶんは請求に乗ります。体感の単価は「見えている回答の長さ」より高くなると思っておいてください。

この数字が高いのか安いのかは、単体では判断できません。そこで提供中のモデルを全部並べてみます。

モデル提供区分入力出力
gpt-oss-120b正式提供0.15円0.75円
llm-jp-3.1-8x13b-instruct4正式提供0.15円0.75円
gemma-4-31B-itプレビュー0.24円0.96円
Qwen3.6-35B-A3Bプレビュー0.3円1.5円
Kimi-K2.6プレビュー0.6円3円
Kimi-K2.7-Codeプレビュー0.52円5.04円

いずれも1万トークンあたり、無料枠は月3,000リクエストで共通です。CPU実行の小型モデルまで含めて図にすると、差がはっきりします。

K2.7-Code は出力単価でプレビュー中の最高値です。入力は K2.6 より安いのに出力は1.7倍近い。長い生成を回す使い方ほど、他モデルとの差が開きます。

max_tokens を絞ると回答側が削られる

thinking が常時オンであることの実務的な影響がここに出ます。max_tokens が縛るのは出力トークンの総量で、思考もそこに含まれます。そして K2.7-Code は思考を切れません。つまり値を小さくすると、思考だけで予算を使い切り、可視の回答が削られるという筋道が成り立ちます。

短い応答が欲しいときほど max_tokens を絞りたくなりますが、このモデルでは逆効果になりえます。予算そのものは数千トークン確保しておいて、出力の長さはプロンプト側で指示するほうが安全です。この記事のサンプルを4000にしてあるのはそのためです。応答が短すぎる、あるいは途中で切れると感じたら、まずここを疑ってください。

自分の用途で測る

ここからが本題です。プレビュー中のモデルは、公開ベンチの順位より自分のプロンプトでの挙動のほうが当てになります。しかも K2.7-Code は thinking が常時オンなので、他モデルの感覚をそのまま持ち込むとコストの読みを外します。

そこで、そのままコピーして回せるベンチマークを置いておきます。汎用の数字を引用するのではなく、あなたの環境の数字を出すためのものです。

測る指標は次のものです。

  • レイテンシ。初回トークンまでと、全体の両方
  • スループット。tokens/sec
  • 失敗率。タイムアウトと5xxとレート制限の割合を、100回から500回の連続実行で
  • 実効コストusage の prompt と completion のトークン数から円換算
  • 実効コンテキスト長。Moonshot公式は256Kだが、AI Engine 側の上限は公表されていない
  • 生成品質。同一プロンプトを OpenAI や Anthropic と並べて、主観評価かテスト通過率で

スクリプトはこちらです。トークンを差し替えればそのまま動きます。

import time, statistics
from openai import OpenAI

client = OpenAI(base_url="https://api.ai.sakura.ad.jp/v1", api_key="<Token>")
N = 50
lat, ok, in_tok, out_tok = [], 0, 0, 0
for i in range(N):
    t = time.time()
    try:
        r = client.chat.completions.create(
            model="preview/Kimi-K2.7-Code",
            messages=[{"role":"user","content":"二分探索をPythonで。境界条件のテストも。"}],
            temperature=0.2, max_tokens=4000,
        )
        lat.append(time.time()-t); ok += 1
        in_tok += r.usage.prompt_tokens; out_tok += r.usage.completion_tokens
    except Exception as e:
        print("fail:", e)
print(f"成功率 {ok}/{N}  中央値レイテンシ {statistics.median(lat):.2f}s")
print(f"コスト概算 {(in_tok/10000*0.52)+(out_tok/10000*5.04):.1f}円")

completion_tokens には thinking のぶんも入るので、この概算は実請求に近い値になります。見えている回答の長さと突き合わせると、思考にどれだけ使っているかも見えてきます。ここが他モデルと一番ずれるところなので、最初に一度は確認しておく価値があります。

50回なら無料枠の3,000リクエストに対して十分な余裕があります。無償枠を超えても自動で課金に切り替わるのではなく、レートリミットがかかる形です。

比較対象を作るなら、同じスクリプトの base_urlmodel だけ差し替えて、普段使っているモデルにも同じプロンプトを流してください。差し替えが1行で済むのがこの構成の利点なので、そのまま横並びのベンチになります。

正直なところ

ここまでの手順で動きますが、本番に載せる前に知っておいたほうがいいことがいくつかあります。

  • トークンは再表示されない<UUID>:<シークレット> の形式で一度きりなので、パスワードマネージャに即保存を。
  • モデル名はマニュアルではなく告知ページを見る。マニュアルのサンプルは正式提供の gpt-oss-120b のままで、プレビューモデルの識別子は各モデルの提供開始告知に書かれています。
  • API種別によって使えるモデルが違う。K2.7-Code は Chat Completions での提供です。Anthropic互換の Messages API は preview/Kimi-K2.6 のみ。Responses API での K2.7-Code 対応可否は公式に確認できませんでした。ちなみに Responses API 自体、画像入力とマルチターン会話には未対応です。
  • プレビューの条件は緩くない。公式は、予告なく提供を終了する場合があり、提供期間中も安定性や応答品質を保証せず、動作や仕様が変更となる可能性があると書いています。SLAの明示もありません。プロダクションに載せるなら、モデル差し替えを前提にした抽象化層を1枚挟んでおくのが無難です。
  • レート制限の具体値は非公開。無償枠を超えるとレートリミットがかかると書かれているだけで、RPM や TPM の数値は公開されていません。連続実行する前に小さく試してください。
  • さくら上での実効コンテキスト長も未公表。Moonshot公式は256Kですが、AI Engine 上で同じだけ入るかは確認できません。長いコンテキストを前提にするなら、測る項目に入れてください。
  • 品質と速度は自分の用途で測ってから。汎用ベンチの数字を当てにしすぎない。だからこの記事は実測テンプレを付けています。

エージェントとして常駐させる方向まで踏み込むなら、常駐AIエージェントの落とし穴3つで挙げた権限と監査とコストの話がそのまま効いてきます。

よくある質問

Q. モデル名を Kimi-K2.7-Code と書いたらエラーになりました

preview/ が抜けています。パブリックプレビューのモデルは preview/Kimi-K2.7-Code です。正式提供モデルには接頭辞が付かないので、そちらのサンプルを流用すると間違えます。

Q. 応答が短すぎる、途中で切れます

max_tokens が小さすぎる可能性があります。K2.7-Code は thinking を切れず、思考も出力トークンの予算を使います。まず4000程度まで上げて試してください。

Q. さくらのクラウドのAPIキーをそのまま使えますか

使えません。インフラ管理APIのアクセストークンとシークレットは別系統です。AI Engine のコントロールパネルでアカウントトークンを発行してください。

Q. Claude Code から使えますか

現状は使えません。Anthropic互換の Messages API に対応しているのは preview/Kimi-K2.6 で、K2.7-Code は Chat Completions での提供です。

Q. 無料枠だけでどこまで試せますか

Chat Completions は月3,000リクエストまで無償なので、100回規模の計測なら十分に収まります。API種別ごとに枠が違い、ベクトル埋め込みは月10,000リクエスト、音声の文字起こしと音声合成はそれぞれ月50リクエストです。枠を超えると課金ではなくレートリミットがかかります。

まとめ

  • さくらのAI Engine は OpenAI SDK の base_url を差し替えるだけで Kimi-K2.7-Code を叩ける
  • モデル名は preview/Kimi-K2.7-Code。プレビューモデルには接頭辞が付く
  • 月3,000リクエスト無料、出力は1万トークンあたり5.04円で、コストは出力量が主
  • thinking は常時オン。課金に乗るうえ、max_tokens を絞ると本文が空で返る
  • Anthropic互換の Messages API では使えない。Chat Completions での提供
  • 入門で止めず、自分の用途でレイテンシと失敗率とコストを実測するところまでやる

国産クラウド上でコード生成APIを、既存資産をほぼ壊さずに試せるのは大きい。まずは無料枠で、自分のプロンプトを1本流してみるところからどうぞ。


参考(一次情報)

Need Support?

この記事のテーマをそのまま実務に広げたいときのために、近い内容から相談しやすい窓口をまとめました。

Cloud Support

クラウド活用を実務に合わせて進める

Cloudflare、CDN、AWS、GCP、さくらのクラウドを含む設計や移行の相談先を探している場合は、要件整理から一緒に進められます。

AI Enablement

AI導入を小さく試して成果につなげる

生成AIの活用テーマ整理、業務への組み込み、社内定着までを見据えて相談したい方に向けたご案内です。

記事をシェアする