에이전트 샌드박스
샌드박스는 session-attached resource와 tool work를 위한 execution boundary입니다. 이 페이지가 답하는 질문은 다음과 같습니다.- execution hand는 실제로 무엇을 할 수 있는가
- mount boundary가 file / shell work에 어떤 제약을 거는가
- shell surface는 왜 이런 식으로 bounded되어 있는가
- sandbox와 tool은 무엇이 다른가
왜 이 추상화가 중요한가
sandbox는 교체 가능해야 합니다. 현재는 local-only지만, 이후에는:- remote container
- cloud worker
- 다른 isolated executor
provision과 execute만 의존하면, executor는 바뀌어도 contract는 유지됩니다.
현재 구현
현재 sandbox는:- local
- workspace-backed
- resource-aware
- provisioned mount 기준으로 path-scoped
현재 named action
대표 action은 다음과 같습니다.list_dirread_textwrite_textappend_textreplace_textmkdirstatfind_entriesglob_entriesgrep_textrun_commandrun_shellinspect_persistent_shellopen_persistent_shellexec_persistent_shellclose_persistent_shellinspect
Mount boundary
현재 action은 provisioned mount 안에서만 동작합니다. 예:/workspace/workspace/agent/runtime/memory/learnings/vaults/<name>
Runtime catalog
/workspace/.openboa-runtime/ 아래에는 현재 session을 file로 다시 읽을 수 있는 artifact가 materialize됩니다.
예:
- session/runtime posture
- managed tool contract
- permission posture
- environment / vault posture
- outcome / evaluation
- event feed / wake traces
- shell state / history / last output
Command hand와 persistent shell
현재 shell surface는 세 가지 층으로 나뉩니다.run_command- bounded non-shell command hand
run_shell- one-shot writable shell hand
- persistent shell actions
- session-scoped multi-step shell continuity
tools와의 관계
중요한 mental model은 다음과 같습니다.- tool
- intent와 policy를 설명
- sandbox
- current environment와 mount 안에서 bounded execution을 수행
current non-goal
현재 sandbox는 아직 다음을 목표로 하지 않습니다.- full PTY terminal emulator
- cloud container runtime
- full network policy engine
- multi-tenant production isolation layer