One of the most telling symptoms of architectural drift is when the same object has three names. In many AI-native codebases right now, you will find tasks, runs, issues, threads, and chats all referring to roughly the same thing: a unit of interaction between a human and an AI system.
The right word is session. A session is a container for work. It can include multiple tasks. It can span multiple interactions. It can be multiplayer — more than one person contributing to the same session. It can be paused, resumed, forked.
Sessions work because they do not prescribe what happens inside them. A session might be a code review. It might be a research task. It might be a conversation where someone asks a question, gets an answer, and then pivots to something completely different. Calling it a task implies a single unit of work with a completion state. Calling it a thread implies rapid back-and-forth. Calling it a chat undersells the work being done.
A session is just a session. You had a session. You got work done. Maybe you will come back to it tomorrow.
If you treat the agent as its own primitive, and you treat the session as the universal container, you can invoke any agent inside any session. You start a session. You are writing code. You realize you need a security review. You select the security agent from a dropdown. That single message runs with the security agent's prompt, tools, model, and configuration. The next message goes back to your default. This is not a new session. This is not a new tab. You are composing agents within a single workflow, the same way you might call a function from a different library.
Sources
Related Essays
The Agent Is the Primitive, Not the Automation
Automations bundle trigger, prompt, tools, and model into one flat object. That works at five. It falls apart at fifty. The agent has to become its own primitive.
Agents Are Software, Not Prompts
The industry treats agents as a new category. They are not. Agents are software, and the same engineering principles that have always mattered still apply.
Automating Knowledge Work Is Software Engineering
Automating your GTM motion, vendor onboarding, or SKU rationalization is software engineering. The end user being internal does not change the discipline required.
Key takeaways
- When the same object has three names, your architecture is drifting.
- A session is a container for work — multiplayer, pausable, forkable, agnostic about what happens inside.
- With the agent as primitive and the session as container, you compose agents within a single workflow.
FAQ
Why call it a session instead of a task or a thread?
Task implies a single unit of work with a completion state. Thread implies rapid back-and-forth. Chat undersells the work. Session is neutral — it does not prescribe what happens inside. Code review, research, a quick question that pivots into something else — all sessions.
What does it look like to switch agents inside a session?
You are writing code. You realize you need a security review. You select the security agent from a dropdown. That single message runs with the security agent's prompt, tools, model, and configuration. The next message goes back to your default. No new tab, no new session.