このページはPR・広告を含みます

SmolVMはCelestoへ、移行で壊れる箇所と直し方を一次情報でひとつずつ総点検します

SmolVMはCelestoへ、移行で壊れる箇所と直し方を一次情報でひとつずつ総点検しますのイメージ画像

ニュースの概要

AIエージェント向けの実行環境「SmolVM」が、「Celesto」へ改名されました。開発元のCelestoAIは、リポジトリをCelestoAI/SmolVMからCelestoAI/celestoへ移し、Pythonのパッケージ名、CLI名、import名をすべて変えています。改名は三段階で進みました。ローカル用SDKのimport変更(PR #546)、破壊的なパッケージ改名を伴うv0.0.15a0の公開(PR #554)、名称変更の完了(PR #576)です。改名後の最初の版はcelesto-v0.0.15a0で、2026-09-20に公開されました。名前が似ていて紛らわしいのがsmol-machines/smolvmです。こちらは別のプロジェクトで、改名しておらず、今もv1.x系のリリースが続いています。改名の理由は、一次情報のどこにも書かれていません。

引用元: SmolVMからCelestoへの改名と移行の実務(GitHub (CelestoAI/celesto))

分析・見解

改名したのはCelestoAI版だけ、smol-machines版は今も続いている

まず押さえたいのは、「smolvm」という名前の二つのプロジェクトが別物だという点です。改名したのはCelestoAI版で、Python製のサンドボックスです。一方、smol-machines版はRustとlibkrunで作られた別のプロジェクトで、説明文も改名前のままです。2026-10-17時点の最新リリースはv1.30.0です。

Hacker Newsの紹介投稿でも差が見えます。CelestoAI版は2026-04-10に8点、smol-machines版は2026-04-18に499点でした。名前だけで判断すると取り違えやすいのが実情です。

3段階で進んだ改名、版番号の衝突がcelesto-の接頭辞を生んだ

改名は一度に終わったわけではありません。PR #546(2026-09-18取り込み)ではimportだけがcelestoに変わり、配布名はsmolvmのままでした。PR #554(2026-09-20取り込み)で、パッケージ名とCLIが変わる破壊的な改名が入り、v0.0.15a0として公開されました。旧SmolVMの履歴にすでにv0.0.15a0のタグがあったため、改名後の版にはcelesto-の接頭辞が付けられています。その後PR #576(2026-09-22取り込み)で、Rust側の基盤がcelesto-coreに、TypeScript版が@celestoai/celestoに変わり、名称変更が完了しました。

技術面では、APIの考え方も変わっています。以前は仮想マシン(SmolVM、SmolVMManager)を直接扱いましたが、改名後は「コンピュータ」を単位にします。lifetime=persistentで状態を残し、Computer.get()で再接続できます。

PyPIの名前が合流した意味と、まだ確かめられていない点

PyPIのcelestoは、0.0.14までは別リポジトリCelestoAI/sdkのクラウド向けSDKでした。0.0.15a0以降は、ローカルで動く旧SmolVMが同じ名前で配られています。ローカル実行とクラウドSDKが一つの配布名に合流した形です。

これが意図した統合かどうかは、一次情報では確かめられませんでした。改名の理由、GitHub上で実際に名前を変えた日時、旧名をいつまで受け付けるかも未確認です。推測で埋めず、判断の根拠にしない姿勢が必要です。

VMの部品から、エージェント用コンピュータの基盤へ変わった

改名前の説明は「ハイパーバイザを同じAPIで扱えるサンドボックス」でした。改名後のREADMEは、AIエージェントのために安全で状態を残せるコンピュータを、ローカルでもクラウドでも提供すると説明しています。既定の実行先もv0.1.1でローカルに変わりました。ハイパーバイザ(Firecracker、QEMU、libkrun)は変わっていません。基盤の技術は連続していて、変わったのは売り方と使う単位です。ここを読み違えると、移行の優先順位を誤ります。既存記事(20260920-01)は起動時間を「数ミリ秒」と書いていますが、公式の表記は約500ms(README)、ドキュメントでは約413msです。数字を引用するなら、出典と一緒に示すべきです。

ビジネスへの影響

移行で最初に壊れるのは、パッケージ名とimportの指定

互換用の別名が用意されていないため、移行は作業として扱うべきです。pip install smolvmのまま更新すると、PyPIの最終版0.0.36で止まります。逆に配布名だけをcelestoに入れ替えて、import smolvmを残すと、importが失敗します。依存関係の宣言を書き換えるところから始めてください。

CLIも同様で、smolvmコマンドは削除されました。smolvm ... はcelesto computer ... に置き換えます。celesto sandboxは残っていますが、新しく書くコードはcomputerに揃えてください。

見落としやすい三つの点、環境変数・イメージ・既定の実行先

環境変数はSMOLVM_*からCELESTO_*に改めます。旧名は移行期間中も読まれますが、警告が出ます。いつまで受け付けるかは未確認なので、旧名に頼る設計は今のうちに外してください。

自作のゲストイメージは作り直しが必要です。0.0.15a0より前のイメージは旧来の通信方式のままだからです。さらにv0.1.1以降は、実行先を指定しないとローカルで起動します。クラウドを前提にしたコードには、provider="cloud"を明示してください。利用状況の送信はv0.1.2から始まりました。停止するにはcelesto config telemetry off、CELESTO_NO_TELEMETRY=1、DO_NOT_TRACK=1のいずれかを使います。

取り違えを防ぐため、リポジトリURLと版の固定を社内資料に書く

社内資料には、必ずリポジトリのURLまで書いてください。CelestoAI版はgithub.com/CelestoAI/celesto、smol-machines版はgithub.com/smol-machines/smolvmです。版も固定します。2026-10-17時点の最新公開版は0.1.4で、0.1.5はリリース用PR #667が未取り込みです。

旧クラウドSDK(0.0.14以前)を使っていたチームは、更新で互換性が崩れるかを自分で検証してください。導入企業の実例は見当たらなかったので、社内の試用結果を根拠にするのが現実的です。