에이전트 세션
Session은 현재 Agent 레이어의 primary runtime object입니다.
기억해야 할 한 가지가 있다면 이것입니다.
- agent definition은 durable하다
- environment는 reusable하다
- 실제로 running object가 되는 것은 session이다
- session은 무엇을 소유하는가
- wake semantics는 무엇인가
- 무엇이 session마다 분리되는가
- 같은 Agent의 여러 session 사이에 무엇이 공유되는가
Session이 소유하는 것
session은 다음을 소유합니다.sessionIdagentIdenvironmentId- append-only event stream
- isolated runtime memory directory
- attached resource list
- stop reason과 status
- delegated child session일 때의
parentSessionId
- broader domain truth
- 같은 Agent의 다른 session
Status model
현재 status는:idlerunningreschedulingterminated
idlerequires_actionreschedulingterminated
requires_action은 custom tool result나 managed tool confirmation처럼 외부 입력이 더 필요한 상황을 다룹니다.
Event model
각 session은 append-onlyevents.jsonl을 가집니다.
현재 event family는 다음과 같습니다.
user.messageuser.define_outcomeuser.interruptuser.tool_confirmationuser.custom_tool_resultsession.status_changedsession.status_idlespan.startedspan.completedagent.messageagent.tool_useagent.custom_tool_use
저장 구조
session.json- canonical durable state
events.jsonl- append-only journal
runtime/- session-local continuity
wake-queue.jsonl- bounded revisit scheduling
Session isolation
한 Agent 아래에 여러 session이 동시에 존재할 수 있습니다. 이때 session마다 분리되는 것은:- event history
- runtime memory
- pending custom-tool request
- pending tool-confirmation request
- wake queue
- workspace substrate
- agent definition
- agent-level learning
- vault reference
Wake semantics
public orchestration seam은 단순합니다.- session load
- pending event 확인
- pending work나 due revisit가 있으면
- one bounded harness cycle 실행
Proactive revisit
session은 단순 passive container가 아닙니다. 현재 runtime에서는 session이 스스로 later revisit를 요청할 수 있습니다. 즉 proactive는 hidden background trick이 아니라 session runtime model 안의 explicit continuation입니다.Learning과 session state의 차이
session은 continuity를 위한 local state도 만들고, reusable learning도 만들 수 있습니다. 구분은:- session-local continuity
- checkpoint, session-state, working-buffer
- agent-level learning
- lesson, correction, error capture
- shared memory promotion
- selected durable learning을
MEMORY.md로 승격
- selected durable learning을
CLI와 managed tool
session은 CLI와 managed tool 양쪽에서 navigation됩니다. 대표적으로:session_listsession_get_snapshotsession_get_eventssession_get_tracesession_run_childsession_describe_context
설계 원칙
새 기능을 추가할 때 먼저 이 질문을 해야 합니다. “이 기능은 session에 속하는가, 아니면 Agent 바깥 레이어에 속하는가?” 다음 성격이면 보통 session에 속합니다.- transient runtime continuity
- pending execution work
- bounded pause/resume
- per-thread execution history