TUI는 메모리 효율성이 낮고 기본적인 사용자 인터페이스

개발자가 새로운 도구를 도입할 때 가장 먼저 체감하는 것은 익숙한 단축키와 즉각적인 반응 속도다. OpenCode(오픈코드, 오픈소스 코딩 에이전트) TUI(텍스트 사용자 인터페이스)는 이 지점에서 사용자 경험을 저해한다. 단순 텍스트 렌더링 과정에서 약 1GB RAM을 점유한다. 메시지 내용이나 AI의 생각 과정이 길어질수록 마크다운 재렌더링 시간이 늘어난다. 실제 렌더링에 수 초가 소요되며 이는 제곱 시간 복잡도로 보이는 성능 문제를 드러낸다. Shift+Enter를 이용한 줄바꿈이나 단어 단위 이동 단축키 등 개발 환경의 일반적인 관례조차 지원하지 않는다. 기본 조작 체계의 부재는 도구의 생산성을 직접적으로 떨어뜨린다.

시스템 구조상의 결함은 작업의 연속성을 끊는다. 사용자는 하위 에이전트와 직접 대화할 수 없다. 진행 중인 작업을 임의로 중단시키는 기능도 없다. 하위 에이전트가 도구 호출에 실패하면 시스템은 치명적 오류를 내뱉는다. 이 과정에서 그때까지 축적된 모든 작업 컨텍스트가 소멸된다. 단순한 도구 호출 실패가 전체 작업 데이터의 상실로 이어지는 구조다. 인터페이스의 조작 미숙이나 시스템 오류가 복구 불가능한 손실을 야기한다. 작업의 안정성보다 기능 구현에 치중한 설계의 한계다.

기술이 실제로 작동하는 방식

응답 생성에 최대 10분이 소요되는 지연 시간은 최신 하드웨어의 성능을 무색하게 만든다. M4 Max 환경에서도 이러한 현상이 발생한다. AGENTS.md 재로딩과 현재 날짜 삽입, 모드 전환이 프롬프트 캐시를 반복적으로 무효화한다. 프롬프트 캐시는 이전 입력값을 저장해 처리 속도를 높이는 장치다. 고정 거리 컨텍스트 가지치기 역시 캐시 미스를 유발하는 구조적 결함이다. 이로 인해 모델은 매번 전체 컨텍스트를 다시 처리해야 하는 비효율이 발생한다.

세션 압축과 가지치기 메커니즘은 중요한 설계 명세의 유실 위험을 초래한다. 가지치기는 메모리 효율을 위해 불필요한 데이터를 쳐내는 과정이다. PRUNE_PROTECT 기준인 4만 토큰보다 오래된 도구 결과는 시스템에서 삭제된다. 이 과정에서 초기에 읽어들인 핵심 설계 자료가 보호되지 않고 버려진다. 모델은 원래 명세를 참조하지 못한 채 코드를 작성하는 상황에 놓인다. 최선의 경우에도 4만 토큰의 캐시 미스가 발생하며 설계 일관성을 해친다.

확인해야 할 핵심 지점

깃허브 스타 수가 많으면 검증된 도구라고 믿는 개발자의 인식에는 비용이 따른다. OpenCode의 Bash 권한 필터는 단순 문자열 패턴과 Bash AST(추상 구문 트리, 소스 코드를 트리 구조로 표현한 것)에만 의존한다. 간접 실행이나 절대 경로를 사용하면 필터가 작동하지 않는다. 변수를 활용하거나 Python subprocess(파이썬 내 외부 명령 실행 기능)를 통해 명령을 내리는 방식도 막지 못한다. 리디렉션을 통한 외부 파일 접근과 영구 권한 획득 역시 쉽게 우회된다. 이는 실질적인 보안 장치가 아니라 사용자에게 잘못된 안도감을 주는 장치에 불과하다.

데이터 노출 위험은 기본 연결 구조에서 발생한다. 사용자 설정 없이도 원격 모델이 로컬 셸에 바로 연결될 수 있는 구조다. 설치 직후 문자 하나를 입력하고 엔터를 누르는 것만으로 연결이 시작된다. 에이전트는 현재 디렉터리를 glob(특정 패턴의 파일 목록을 검색하는 기능)하여 파일을 읽는다. 이렇게 수집된 로컬 데이터는 다음 POST 요청에 포함되어 원격 모델로 전송된다. 로컬 환경의 정보가 사용자 인지 없이 외부로 유출되는 경로가 기본적으로 열려 있다.

코딩 에이전트의 안전성을 판단할 때 문자열 필터링이나 도커(Docker, 애플리케이션 격리 실행 환경) 의존도는 핵심 지표가 아니다. OS 수준의 완전한 격리 여부를 기준으로 삼아야 한다. 단순한 패턴 매칭이나 셸 수준의 제한은 숙련된 우회 기법 앞에 무력하다. 시스템 자원에 직접 접근하는 에이전트일수록 격리 아키텍처의 구현 수준이 보안의 실질적 척도가 된다. 격리되지 않은 환경에서의 에이전트 권한은 곧 시스템 전체의 권한과 같다.

깃허브 스타 수는 도구의 완성도를 보장하지 않는다. OpenCode의 보안 필터는 단순 문자열 패턴 분석에 의존해 간접 실행과 리디렉션으로 쉽게 우회된다. AGENTS.md 재로딩과 4만 토큰 단위의 가지치기가 만드는 캐시 미스는 M4 Max 환경에서도 10분의 응답 지연을 초래한다.

코딩 에이전트 선택의 기준은 문자열 필터링이나 도커 의존도가 아닌 OS 수준의 격리 여부가 되어야 한다. 보안의 실체는 스타 수가 아니라 격리의 깊이에서 결정된다.