CI에서 코딩 에이전트를 실행하면 코드 작성 능력만큼 실행 경계가 중요해진다. Docker Sandboxes는 GitHub Actions runner 안에서 에이전트 작업을 microVM으로 분리하는 경로를 제공한다. 목표는 에이전트가 테스트와 수정에 필요한 도구를 쓰되 runner·자격증명·워크플로를 무제한으로 건드리지 못하게 하는 것이다.
경계를 먼저 설계한다
컨테이너는 host kernel을 공유하지만 microVM은 더 강한 격리 계층을 제공한다. 그래도 network egress, GitHub token scope, mount, Docker socket, 패키지 설치 경로가 남아 있으면 영향 범위도 남는다.
| 제어점 | 권장 기본값 |
|---|---|
| 트리거 | 신뢰된 브랜치·라벨·사람 승인으로 제한 |
| GitHub token | 필요한 repository 권한만, PR 생성이면 최소 write 범위 |
| 작업 경로 | 대상 저장소와 임시 작업 디렉터리만 mount |
| 지시문 | 수정 가능한 경로·금지 파일·완료 기준을 명시 |
| 결과물 | 전체 로그, 테스트 출력, diff, draft PR로 사람이 검토 |
작업 지시를 테스트 계약으로 쓴다
“버그를 고쳐라” 대신 관찰 가능한 순서를 준다.
1. 요구사항과 관련 코드·테스트를 읽는다.
2. 기존 테스트를 수정 없이 실행한다.
3. 실패를 재현하는 회귀 테스트를 추가한다.
4. 요구사항을 만족하는 최소 수정만 한다.
5. 전체 테스트를 다시 실행하고 결과를 기록한다.dependency manifest·workflow·생성물은 건드리지 못하게 하고, 실행 명령과 결과를 PR 본문에 남기게 한다. sandbox 안의 OS·Docker 버전·네트워크 정책도 기록해 실제 실행 경계를 확인한다. secrets는 기본 전달하지 말고 꼭 필요할 때만 단기 작업 전용 credential을 준다.
관련 문서
- ai-agent-sandbox-platforms-tips — 에이전트 샌드박스 플랫폼 비교 기준
- agent-harness — 도구·승인 게이트·피드백 루프를 포함한 하네스 설계
- testsprite-cli — 코딩 에이전트 결과를 자동 검증하는 레이어
참고 자료
- Run AI Agents in GitHub Actions with Docker Sandboxes — Docker Blog (2026-08)