← Back to context

Comment by nikkwong

2 days ago

You can’t easily snapshot the current state of an OS and restore to that state like with git.

Let's assume that you can. For disaster recovery, this is probably acceptable, but it's unacceptable for basically any other purpose. Reverting the whole state of the machine because the AI agent (a single tenant in what is effectively a multi-tenant system) did something thing incorrect is unacceptable. Managing undo/redo in a multiplayer environment is horrific.

Maybe not for very broad definitions of OS state, but for specific files/folders/filesystems, this is trivial with FS-level snapshots and copy-on-write.

I wonder if in the long run this will lead to the ascent of NixOS. They seem perfect for each other: if you have git and/or a snapshotting filesystem, together with the entire system state being downstram of your .nix file, then go ahead and let the LLM make changes willy-nilly, you can always roll back to a known good version.

NixOS still isn't ready for this world, but if it becomes the natural counterpart to LLM OS tooling, maybe that will speed up development.

Well there is cri-u for what its worth on linux which can atleast snapshot the state of an application and I suppose something must be similar available for filesystems as well

Also one can simply run a virtual machine which can do that but then the issue becomes in how apps from outside connect to vm inside

  • Filesystems like zfs, btrfs and bcachefs have snapshot creation and rollbacks as features.

At least on macOS, an OS snapshot is a thing [1]; I suspect Cowork will mostly run in a sandbox, which Claude Code does now.

[1]: https://www.cleverfiles.com/help/apfs-snapshots.html

  • Ok, you can "easily", but how quickly can you revert to a snapshot? I would guess creating a snapshot for each turn change with an LLM become too burdensome to allow you to iterate quickly.

    • For the vast majority, this won't be an issue.

      This is essentially a UI on top of Claude Code, which supports running in a sandbox on macOS.