세션 관리
에이전트는 세션을 검사하고, 통신하고, 생성할 수 있습니다. 이 도구들은 세션 간 워크플로우, 백그라운드 작업 위임, 채널 간 메시징을 가능하게 합니다 -- 모두 write-down 시행 하에.
도구
sessions_list
현재 세션에 보이는 모든 활성 세션을 나열합니다.
매개변수를 받지 않습니다. 결과는 taint 수준으로 필터링됩니다 -- PUBLIC 세션은 CONFIDENTIAL 세션 메타데이터를 볼 수 없습니다.
sessions_history
ID로 세션의 메시지 기록을 가져옵니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
session_id | string | 예 | 기록을 검색할 세션 ID |
대상 세션의 taint가 호출자의 taint보다 높으면 접근이 거부됩니다.
sessions_send
현재 세션에서 다른 세션으로 콘텐츠를 보냅니다. Write-down 시행 대상입니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
session_id | string | 예 | 대상 세션 ID |
content | string | 예 | 보낼 메시지 내용 |
Write-down 검사: 호출자의 taint가 대상 세션의 분류 수준으로 흐를 수 있어야 합니다. CONFIDENTIAL 세션은 PUBLIC 세션에 데이터를 보낼 수 없습니다.
sessions_spawn
자율 작업을 위한 새 백그라운드 세션을 생성합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
task | string | 예 | 백그라운드 세션이 수행해야 할 작업 설명 |
생성된 세션은 독립적인 PUBLIC taint와 자체 격리된 워크스페이스로 시작합니다. 자율적으로 실행되고 완료 시 결과를 반환합니다.
session_status
특정 세션의 메타데이터와 상태를 가져옵니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
session_id | string | 예 | 확인할 세션 ID |
세션 ID, 채널, 사용자, taint 수준, 생성 시간을 반환합니다. 접근은 taint 게이팅됩니다.
message
채널과 수신자에게 메시지를 보냅니다. 정책 hook을 통한 write-down 시행 대상입니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
channel | string | 예 | 대상 채널 (예: telegram, slack) |
recipient | string | 예 | 채널 내 수신자 식별자 |
text | string | 예 | 보낼 메시지 텍스트 |
summarize
현재 대화의 간결한 요약을 생성합니다. 인계 노트 작성, 컨텍스트 압축 또는 다른 채널로 전달할 요약 생성에 유용합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
scope | string | 아니오 | 요약할 범위: session (기본값), topic |
simulate_tool_call
도구를 실행하지 않고 정책 엔진의 결정을 미리 보기 위해 도구 호출을 시뮬레이션합니다. Hook 평가 결과(ALLOW, BLOCK 또는 REDACT)와 평가된 규칙을 반환합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
tool_name | string | 예 | 시뮬레이션할 도구 호출 |
args | object | 아니오 | 시뮬레이션에 포함할 인수 |
simulate_tool_call을 사용하여 도구 호출이 허용될지 실행 전에 확인하십시오. 부작용 없이 정책 동작을 이해하는 데 유용합니다. :::
사용 사례
백그라운드 작업 위임
에이전트는 현재 대화를 차단하지 않고 장시간 실행 작업을 처리하기 위해 백그라운드 세션을 생성할 수 있습니다:
사용자: "경쟁사 가격을 조사하고 요약을 정리해줘"
에이전트: [작업으로 sessions_spawn 호출]
에이전트: "해당 조사를 위한 백그라운드 세션을 시작했습니다. 곧 결과가 나옵니다."세션 간 통신
세션은 서로 데이터를 보낼 수 있어 한 세션이 생산한 데이터를 다른 세션이 소비하는 워크플로우를 가능하게 합니다:
백그라운드 세션이 조사 완료 → 부모에게 sessions_send → 부모가 사용자에게 알림채널 간 메시징
message 도구를 사용하면 에이전트가 연결된 모든 채널에서 능동적으로 연락할 수 있습니다:
에이전트가 긴급 이벤트 감지 → message({ channel: "telegram", recipient: "owner", text: "알림: ..." })보안
- 모든 세션 작업은 taint 게이팅됩니다: taint 수준 이상의 세션을 보거나, 읽거나, 전송할 수 없습니다
sessions_send는 write-down 방지를 시행합니다: 데이터가 더 낮은 분류로 흐를 수 없습니다- 생성된 세션은 독립적인 taint 추적으로
PUBLICtaint에서 시작합니다 message도구는 전달 전PRE_OUTPUT정책 hook을 통과합니다- 세션 ID는 LLM 인수가 아닌 런타임 컨텍스트에서 주입됩니다 -- 에이전트가 다른 세션을 가장할 수 없습니다
보안 Write-down 방지는 모든 세션 간 통신에 시행됩니다. CONFIDENTIAL로 taint된 세션은 PUBLIC 세션이나 채널에 데이터를 보낼 수 없습니다. 이것은 정책 계층에 의해 시행되는 하드 경계입니다. :::
