Sessions seeded from client-supplied history #2679
Replies: 1 comment
|
We are building curtis — a BYOK, polyglot session-finishing agent (registry PR #721, open) — and the OP describes the architecture our product is pointed at: client owns the transcript, agents run turns without owning session state. Today's adapter uses agent-persisted sessions (
Last design note: stateless agents have to reconstruct causality from history, so explicit message ordering matters once parallel tool calls interleave — worth settling in the RFD rather than leaving to convention. |
Uh oh!
There was an error while loading. Please reload this page.
session/loadandresumereplay what the agent stored. That fits an editor, where the agent owns the conversation. It doesn't fit a host that owns the conversation and uses an agent to run one turn of it.That's how we run agents. The host keeps the conversation, the files and the record of every tool call, and each turn goes to a pooled agent that may never have seen the session before. Today the only way to hand it the earlier messages is a transcript pasted into the prompt, which flattens tool calls and their results into text, or an agent-specific
_metakey. We use both, and both cost us: the transcript loses structure the model should see, and the_metakey works with one agent.What we'd want is a
historyonsession/new: earlier messages in ACP's own content blocks, tool calls and results included, behind a capability the agent advertises. The agent treats it as the start of the session and stores nothing it wasn't asked to. A client with no history sends nothing, so nothing changes for editors.Questions before anyone writes an RFD:
All reactions