설치 직후 기본 설정에서 놓치기 쉬운 가지 세션 구성 실전 질문
OpenClaw ACP 세션 구성의 핵심은 총 5 가지 파라미터를 정확히 이해하는 것입니다. 첫째, runtime 은 반드시 'acp'로 지정하여 외부 코딩 도구와 연동해야 하고, 둘째 thread 옵션으로 Discord 나 Slack 스레드에 영구 바인딩할 수 있으며, 셋째 timeoutSeconds 로 실행 시간을 제한하여 비용과 자원 관리의 양립을 도모해야 합니다. 여기에 model 로 LLM 을 고정하고 attachments 로 작업 디렉토리를 마운트하면, ACP 세션의 격리성과 자동화된 결과 회수 체계가 완벽하게 작동합니다.
이 글의 핵심 주장과 근거
ACP 세션의 runtime 파라미터: subagent 와 acp 의 차이점은 무엇인가요?
OpenClaw 에서 ACP 세션을 생성할 때 가장 먼저 고려해야 할 것이 바로 runtime 파라미터입니다. 이 값은 세션이 어떤 환경에서 실행될지를 결정하며, 크게 두 가지 옵션인 subagent 와 acp 로 나뉩니다. subagent 는 기본적으로 독립적인 에이전트 세션을 의미하며, 코딩이나 복잡한 작업보다는 일반적인 질의응답이나 배경 작업에 적합합니다. 반면 acp 런타임은 실제 ACP 하니스 (Claude Code, Codex, Cursor 등) 를 실행하기 위한 전용 환경으로, 외부 코딩 도구를 호출해야 할 때 반드시 사용해야 합니다. 예를 들어 사용자가 'Cursor 로 이 코드 리팩토링해줘'라고 요청하면 runtime: 'acp'를 명시적으로 지정하지 않으면 해당 요청을 처리할 수 없습니다. 또한 acp 런타임은 에이전트 ID(agentId) 를 추가로 지정할 수 있어, 특정 코딩 에이전트를 고정하여 사용할 때 유용합니다.
세션 바인딩: thread 옵션의 역할과 Discord/Slack 연동 방법은?
ACP 세션을 생성할 때 thread 옵션은 해당 세션이 어떤 채팅 컨텍스트에 연결될지를 결정하는 핵심 파라미터입니다. 이 값을 true 로 설정하면, 생성된 세션이 현재 대화 중인 스레드나 채널에 영구적으로 바인딩됩니다. 이는 특히 Discord 나 Slack 과 같은 그룹 채팅 환경에서 매우 중요한데, 사용자가 특정 스레드에서 'Codex 로 PR 리뷰해줘'라고 요청하면 해당 요청과 모든 후속 대화가 그 스레드 내에서만 처리되기 때문입니다. 만약 thread 옵션을 false 로 두면 세션이 독립적으로 실행되어 대화 이력이 분리되므로, 그룹 채팅에서는 혼란을 야기할 수 있습니다. 또한 thread: true로 설정된 세션은 해당 채널의 메시지 히스토리를 자동으로 참조하므로, 이전 컨텍스트를 잃지 않고 연속적인 작업을 수행할 수 있습니다. 예를 들어 Discord 에서 #coding 스레드에서 생성된 ACP 세션은 그 스레드의 모든 메시지를 컨텍스트로 가져와서 작업합니다.
세션 실행 시간 제한: timeoutSeconds 는 왜 필요한가요?
timeoutSeconds 파라미터는 ACP 세션이 최대 얼마나 실행될 수 있는지를 초 단위로 제한하는 안전장치입니다. 기본값은 0 으로 무제한을 의미하지만, 이는 장기적인 백그라운드 작업이나 복잡한 코드 생성 시 메모리 누수나 무한 루프 발생 위험이 있습니다. 예를 들어 대규모 리팩토링 작업이나 데이터 마이닝 스크립트 실행 시 수시간이 걸릴 수 있는데, 이때 timeoutSeconds 를 3600(1 시간) 으로 설정하면 해당 시간 이후 자동으로 세션이 종료되어 시스템 자원을 보호할 수 있습니다. 또한 이 파라미터는 비용 관리에도 중요한데, ACP 호출은 대부분 유료 API 를 사용하므로 예상치 못한 장기 실행으로 인한 과금 방지를 위해 반드시 설정해야 합니다. 단, 너무 짧은 시간 (예: 60 초) 으로 설정하면 중간에 작업이 중단될 수 있으므로 작업의 복잡도를 고려하여 적절히 조정해야 합니다.
세션 모델 지정: model 파라미터로 특정 LLM 을 고정하는 방법은?
ACP 세션을 생성할 때 model 파라미터를 지정하면 해당 세션에서 사용할 언어 모델을 고정할 수 있습니다. 이는 특히 여러 모델을 오가며 작업할 때 일관성을 유지하기 위해 중요합니다. 예를 들어 'qwen3.5-35b-a3b'라는 모델은 비용 대비 성능이 뛰어나지만, 복잡한 추론 작업에는 'minimax-m2.7'이 더 적합할 수 있습니다. model 파라미터를 명시적으로 지정하지 않으면 시스템의 기본 모델 (default_model) 이 사용되는데, 이는 환경에 따라 달라질 수 있으므로 불확실성이 발생합니다. 또한 model 파라미터는 세션 생성 시 한 번만 설정되며, 이후에는 변경되지 않습니다. 따라서 작업 시작 전에 해당 작업에 최적화된 모델을 선택하는 것이 중요합니다. 예를 들어 코드 생성 작업에는 코딩 특화 모델 (codex, claude-code) 을, 일반적인 질의응답에는 경량 모델을 사용하는 것이 효율적입니다.
세션 컨텍스트 관리: attachments 와 attachAs 파라미터의 실전 활용법은?
attachments 와 attachAs 파라미터는 ACP 세션에 외부 파일이나 디렉토리를 마운트할 때 사용됩니다. 이는 특히 코드베이스 전체를 분석하거나 여러 파일을 동시에 편집해야 할 때 필수적입니다. attachments 배열에는 각 파일의 이름 (name) 과 내용 (content), 그리고 MIME 타입 (mimeType) 을 지정하며, attachAs 파라미터로 마운트 경로를 지정할 수 있습니다. 예를 들어 ~/projects/my-app 디렉토리를 /workspace 로 마운트하면 ACP 세션이 해당 경로의 모든 파일을 접근하고 편집할 수 있습니다. 이는 특히 대규모 리팩토링 작업에서 매우 유용한데, 에이전트가 전체 프로젝트 구조를 파악하고 일관된 변경을 적용할 수 있기 때문입니다. 또한 attachments 를 통해 작은 스크립트나 설정 파일을 직접 전달하여 즉시 실행할 수도 있습니다. 단, 민감한 정보 (비밀번호, API 키 등) 가 포함된 파일은 절대 마운트하지 않아야 하며, 반드시 보안 검토가 선행되어야 합니다. > 이 주제의 전체 맥락 방향성은 **바이브코딩에서 오픈클로까지** 원본 글에 세밀하게 정리되어 있습니다. 더 깊게 탐구하고 싶다면 관련 내부 대표 문서(Pillar/Entity)를 참조하세요.