I Built ckpt: AIコーディングセッションのための自動チェックポイント

Dev.to / 2026/4/3

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • この記事では、AIコーディングエージェントのために、自動でチェックポイントを作成するCLIツール「ckpt」を紹介する。コードの変更ごとにスナップショットを取得し、完全な手順ごとのタイムラインを保持する。
  • ckptは内部でgitを利用している(隠しブランチと実際のコミット)。そのため `ckpt restore 3` のようなコマンドで任意のステップに即座に復元でき、トークンを大量に消費するやり直しループを回避できる。
  • IDEのチェックポイント機能とは異なり、ckptはAIエージェント自身が実行可能な形を重視して設計されている(例:エージェントが `ckpt restore` を実行できる)。これにより、人手を介さずに自己修正を行える。
  • ツールは分岐や実験もサポートしており、`ckpt try ... -r <step>` のようなコマンドや、`ckpt trydiff` による差分確認が可能だ。またログによってセッションをまたいだ永続的な履歴を維持する。
  • クイックスタートとしては、パッケージをグローバルにインストールし、AIエージェントのシステムプロンプトに `ckpt watch` を追加することで、コーディングセッション中にチェックポイントが自動で行われる。

AIエージェントにはCtrl+Zがありません。

彼らがあなたのコードを壊しても、元に戻してはくれません。すべてのファイルを読み直し、何がまずかったのかを考え、最初から書き直す——すでに正しくできていたコードに対しても、トークンを燃やしてしまいます。時には「修正」が別の何かを壊すこともあります。そしてそのサイクルが繰り返されます。

これが起きるのを見るのに疲れたので、ckptを作りました。

ckptとは?

ckptは、バックグラウンドで動作し、AIコーディングエージェントが行うあらゆる変更を自動でスナップショットしていくCLIツールです。各ステップの完全なタイムラインが手に入り、任意の時点へ即座に復元できます。

ckpt watch        # 監視を開始—AIの変更ごとに自動スナップショット
# ... エージェントに作業させてください ...
ckpt steps        # 何が起きたかをステップごとに確認
ckpt restore 3    # ステップ3に戻る
ckpt end          # 1つのきれいなgitコミットにまとめる

中身はただのgitです——隠しブランチ、実際のコミット、完了時にスクワッシュします。新しい形式も、データベースもありません。

問題

AIエージェントはコードを短時間で一気に編集します——一度に5、10、20ファイルです。何かが壊れたとき、あなたには次の2つの悪い選択肢しかありません:

  1. すべて元に戻す — 良い変更まで全部失う
  2. どの変更が壊したのかを手作業で突き止める — 辛くて遅い

エージェントが読み直して書き直すエラー修正サイクルのたびに、今の状態に戻るだけで500〜2000トークンかかります。ckptなら、ckpt restore 3はミリ秒で完了し、トークンはゼロです。

IDEのチェックポイントをそのまま使えばいいのでは?

Cursorにはタイムラインがあります。Kiroにはrevertがあります。でも決定的な違いがあります:

AIエージェントがckptを操作できる(あなただけではありません)。IDEのチェックポイントはUI上のボタンです。エージェントはそれをクリックできません。ckptなら、エージェント自身がckpt restore 3を実行します。人間が介在する必要がなく、自動で自己修正できるようになります。

ターミナルのエージェントには何もない。Claude Code、Codex、Aider—チェックポイントのサポートはゼロです。ckptは、ターミナルベースのエージェントで動く唯一のチェックポイントシステムです。

分岐。 ckpt try approach-a -r 2は現在の作業を保存し、ステップ2へ戻って、エージェントがまったく別のアプローチを試せるようにします。次にckpt trydiff approach-aで2つの差分を比較します。これをIDEでやることはできません。

永続的な履歴。 IDEのチェックポイントはセッションを閉じると消えます。ckpt logはすべてのセッションを恒久的に保持します。

クイックスタート

npm install -g @mohshomis/ckpt

AIエージェントのシステムプロンプトにこれを追加してください:

作業を始める前にckpt watchを実行してください。何かが壊れたら、手作業で書き直す代わりにckpt restore <step>を実行します。終わったらckpt endを実行してください。

何にでも対応

Kiro、Cursor、Claude Code、OpenAI Codex、GitHub Copilot、Windsurf、Aider——シェルコマンドを実行できるあらゆるエージェントに対応します。単なるCLIです。

リポジトリはオープンソース(MIT)です。フィードバックがほしいです——不足しているものは何でしょう?あなたのワークフローにとって、これをより有用にするには何が必要でしょうか?

GitHubロゴ mohshomis / ckpt

AIコーディングセッション用の自動チェックポイント。ステップごとの取り消し、分岐、復元——gitの上に追加。Kiro、Cursor、Claude Code、Codex、そして任意のAIエージェントで動作します。

ckpt

AIコーディングセッション用の自動チェックポイント。ステップごとの取り消し、分岐、復元——gitの上に追加します。

ckpt watch     # 監視を開始—AIの変更ごとに自動スナップショット
# ... Kiro / Cursor / Claude Code / Codexにやらせてください ...
ckpt steps     # 何が起きたかをステップごとに確認
ckpt restore 3 # ステップ3に戻る
ckpt end       # 1つのきれいなgitコミットにまとめる

The problem

AIエージェントはコードを短時間で一気に編集します——一度に5、10、20ファイルです。何かが壊れたとき:

  • すべて元に戻す(Kiro/Cursorのrevert)— 良い変更も全部失う
  • 手作業で突き止める — どの変更が壊したのかを特定するのはつらくて遅い

ステップごとの取り消しがない。タイムラインがない。最初の案を捨ててしまわずに、別のアプローチを試す方法がない。

How AI agents handle errors today (and why it's wasteful)

AIエージェントが何かを壊したとき、実際に起きることは次の通りです:

  1. The agent…




返却形式: {"translated": "翻訳されたHTML"}