기본 콘텐츠로 건너뛰기

라벨이 emuglConfig인 게시물 표시

AI와 함께 춤을.. 아니, 코딩을.. (5) - 에이전트 팀으로 컨텍스트 압축 해결하기

지난 포스팅에서 개발 환경을 모노레포로 통합 하여, 동일한 Claude 세션 안에서 앱과 서버들을 한꺼번에 개발할 수 있게 했다고 이야기했다. 덕분에 명세 동기화 문제나 연동 디버깅의 번거로움이 크게 줄었다. 그런데 이렇게 앱과 여러 서버를 하나의 세션에서 다루다 보면, 또 다른 효율 저하 요인이 생긴다. 바로 컨텍스트 사이즈 제약 이다. 컨텍스트 압축이라는 새로운 문제 요즘은 Max 요금제 기준으로 기본 1MB 컨텍스트를 제공해서 예전만큼 빡빡하지는 않다. 하지만 불과 두어 달 전까지만 해도 컨텍스트 크기가 지금보다 훨씬 작았다(그래도 다른 서비스보다는 컸다). 그래서 한꺼번에 많은 코드를 분석시키고 대화를 조금만 이어가면, 빈번한 컨텍스트 압축 이 발생하곤 했다. 컨텍스트 압축이 일어나면 대화의 맥락이 흐려지기 시작한다. 방금 전까지 이해하고 있던 내용을 다시 설명해야 하거나, 이미 정한 구현 방향을 잊고 다른 길로 가기도 한다. 모노레포로 프로젝트를 합친 직후에 이 문제가 두드러지게 나타났다. 해결: 에이전트 팀 구성하기 이 문제를 줄이기 위해 Claude Code가 지원하는 서브에이전트(Sub-agent) 기능 을 적극적으로 활용하기로 했다. 앱과 각 서버를 담당할 전문 에이전트를 만들고, 이들을 총괄할 팀 리더 에이전트 를 따로 두는 방식이다. 말 그대로 "에이전트 팀"을 꾸리는 셈이다. 페르소나 구성은 대략 이렇게 잡았다. 팀 리더 └─ 제품 전체 기획 / 각 개발자에게 업무 지시 앱 개발자 └─ 모바일 앱 개발에 능숙한 개발자 서버#1 개발자 └─ Node.js 개발에 뛰어난 개발자 서버#2 개발자 └─ Python 개발자 이렇게 담당 프로젝트의 특성에 맞춰 각 에이전트의 페르소나를 정의한다. 테스터 에이전트를 따로 두는 분들도 있는데, 나는 별도로 분리하지 않았다. 서브에이전트 생성은 Claude Code에서 프롬프트로 설정할 수 있고, 추가한 뒤에는 세션을 새로 ...

Android Emulator closed because internal error:

  최근에 안드로이드 버전에 개발에 충실(?)했더니 iOS 개발 환경에 대한 관리를 소홀히 했었는데, iOS 버전 업데이트를 위해서 작업을 시작했더니, XCode, macOS 업데이트 등을 해야만 하는 상황이 다시 찾아왔습니다. XCode, macOS 업데이트를 하고 여러가지 추가적인 작업들을 어찌어찌  해줘서 iOS 개발 환경을 안정화시켰더니, 안드로이드 개발환경에서 애뮬레이터를 종료하면 아래와 같은 오류 리포트가 계속 출력되네요.. Android Emulator closed because internal error: emuglConfig_init: blacklisted=0 has_guest_renderer=1 아마 macOS 업데이트하면서 관련 드라이버들이 변경되면서 발생하는 문제로 보입니다. 해결은 Android Studio -> Preference -> Appearance & Behavior -> System Settings -> Android SDK 에서 SDK Tools 중 Android SDK Platform-Tools 최신 버전으로 업데이트해서 해결했습니다. 오류 내용을 구글에서 검색을 하면 그래픽 드라이버 업데이트, AVD를 코멘드로 실행하면서 -gpu host 옵션 주는 것 등이 있었으나 저에게는 해당사항이 없었습니다. 다음에 OS 업데이트 하면 또 발생할 수 있는 문제라서 그때 어렴풋이 기억이 나도록 흔적을 남깁니다.