Can someone explain how these durable agents handle state present on the VMs/Sandboxes ? I get it that the agent state can be recreated from checkpoints/logs, but what about the state present on the runners (i.e. container, VMs, Sandboxes, etc). How are both states kept in sync ?
Like if I have a web-app running on the runner and the agent is navigating the web UI and then the runner (or the agent) crashes. When the agent is recreated back from the checkpoints (or a new runner is launched), it will think it has already navigated to page N, but in reality the browser on the runner might be on page 0.
With the one I’ve made, it’s best effort. We record whether or not tool calls have succeeded and if the agent dies without knowing whether or not the call succeeded, then when we resurrect it we tell it the state is unknown and it can either inspect the resource or try again depending on the side effects.
pulkitsh1234 · · focus · HN ↗
Like if I have a web-app running on the runner and the agent is navigating the web UI and then the runner (or the agent) crashes. When the agent is recreated back from the checkpoints (or a new runner is launched), it will think it has already navigated to page N, but in reality the browser on the runner might be on page 0.
jmtulloss · · focus · HN ↗