대규모 코드베이스 작업
대규모 코드베이스를 탐색하고 작업하기 위한 전략
대규모 코드베이스에서 작업하려면 컨텍스트 제한을 관리하고 생산성을 유지하기 위한 구체적인 전략이 필요합니다. 이 가이드는 Verdent for VS Code을 사용해 대규모 프로젝트를 효율적으로 탐색하고, 이해하고, 수정하기 위한 실용적인 워크플로를 제공합니다.
코드베이스 탐색에 Explorer 에이전트 사용하기
대규모 코드베이스를 처음 접했고 특정 기능이 어디에 구현되어 있는지 찾아야 한다고 가정해 보겠습니다.
넓은 범위의 탐색 질문을 합니다
Where is user authentication handled in this codebase?Verdent은 코드베이스 검색에 특화된 토큰 효율적인 전문가인 Explorer 에이전트에 자동으로 위임합니다.
Explorer가 효율적으로 검색합니다
Explorer 에이전트는:
- 파일 이름과 경로를 검색합니다
- 키워드로 코드 내용을 grep합니다
- 아키텍처 패턴을 분석합니다
- 파일 경로와 코드 스니펫이 포함된 결과를 반환합니다
검색을 좁힙니다
Show me all files that import the authentication moduleExplorer는 후속 검색을 수행해 결과를 좁힐 수 있습니다.
복잡한 검색을 병렬화합니다
포괄적으로 탐색하려면 Verdent에서 여러 Explorer 에이전트를 병렬로 실행할 수 있습니다:
- Explorer 1: 인증 로직 찾기
- Explorer 2: 권한 부여 로직 찾기
- Explorer 3: 세션 관리 찾기
병렬 검색을 통해 결과가 더 빠르게 도착합니다.
팁:
- Explorer 에이전트는 메인 컨텍스트를 채우지 않고도 대규모 코드베이스에서 효율적으로 작동합니다
- 여러 Explorer 에이전트가 서로 다른 측면을 동시에 검색할 수 있습니다
- 패턴 매칭과 아키텍처 탐색에는 Explorer를 사용합니다
- 결과에는 컨텍스트를 위한 파일 경로와 관련 코드 스니펫이 포함됩니다
작업을 관리 가능한 단위로 나누기
대규모 코드베이스에서 작업 중이며 여러 파일에 걸친 기능을 추가해야 한다고 가정해 보겠습니다.
자연스러운 작업 경계를 식별합니다
모든 것을 한 번에 요청하는 대신:
Phase 1: Add the data models for the notification system먼저 독립적으로 완결되는 하나의 컴포넌트에 집중합니다.
단계를 완전히 완료합니다
Phase 2로 넘어가기 전에 테스트까지 포함해 Phase 1을 완전히 진행합니다. 이렇게 하면 깔끔한 체크포인트가 만들어집니다.
진행 상황을 커밋합니다
git add .
git commit -m "feat: add notification data models"커밋하면 안전하게 되돌릴 수 있는 지점이 만들어집니다.
다음 단계를 위해 컨텍스트를 비웁니다
복잡한 작업에서는 다음 단계로 넘어가기 전에 컨텍스트를 비웁니다. 이렇게 하면 Verdent이 최고 성능을 유지할 수 있을 만큼 충분한 컨텍스트 용량을 확보할 수 있습니다.
Phase 2: Build the notification API endpoints using the data modelsPhase 2에만 집중하는 새 컨텍스트로 새 세션을 시작합니다.
팁:
- 자연스러운 중단 지점은 컨텍스트 소진을 방지합니다
- 각 단계는 독립적으로 테스트할 수 있어야 합니다
- 단계 사이에 커밋하면 안전하게 실험할 수 있습니다
- 새 세션은 컨텍스트를 깔끔하고 집중된 상태로 유지합니다
대규모 변경에 Plan Mode 활용하기
대규모 코드베이스에서 수십 개 파일에 흩어진 기능을 리팩터링해야 한다고 가정해 보겠습니다.
Plan Mode에서 시작합니다
Switch to Plan Mode: Refactor the payment processing logic to use a new payment provider across all filesPlan Mode을 사용하면 파일 수정에 컨텍스트를 소비하지 않고 읽기 전용 분석을 수행할 수 있습니다.
Explorer로 영향을 받는 모든 파일을 찾습니다
Use the Explorer agent to find all files that reference payment processing업데이트가 필요한 모든 위치를 빠짐없이 찾을 수 있습니다.
포괄적인 플랜을 검토합니다
Verdent은 다음을 보여주는 플랜을 제시합니다:
- 변경이 필요한 모든 파일(25개 파일 식별)
- 메인 컨텍스트에 포함할 최소 파일 집합
- 작업 순서
- 변경 간 의존성
접근 방식을 확정하기 전에 검토합니다.
실행을 승인합니다
플랜이 만족스러우면 실행을 승인합니다. Verdent이 변경을 체계적으로 진행합니다.
팁:
- Plan Mode은 실행 전에 최소 파일 집합을 식별하는 데 도움이 됩니다
- Explorer는 대규모 리팩터링에서 누락되는 파일이 없도록 보장합니다
- 플랜은 컨텍스트가 소비되기 전에 범위를 명확히 보여줍니다
- 문서화와 팀 리뷰를 위해 플랜을 파일로 저장합니다
여러 파일에 걸쳐 조율된 변경 적용하기
대규모 코드베이스 전반의 50개 이상 파일에서 사용되는 함수를 이름 변경해야 한다고 가정해 보겠습니다.
Explorer로 모든 사용 위치를 찾습니다
Use the Explorer agent to find all files that use the calculateTotal function업데이트가 필요한 모든 파일을 식별합니다.
Plan Mode에서 범위를 검토합니다
In Plan Mode: Rename calculateTotal to computeFinalTotal across all files변경하기 전에 전체 범위를 확인합니다.
누락된 파일이 없는지 확인합니다
Verdent은 업데이트가 필요한 52개 파일을 모두 보여줍니다. 목록을 검토해 완전한지 확인합니다.
조율된 변경을 실행합니다
플랜을 승인합니다. Verdent이 모든 파일을 체계적으로 업데이트해 어디서나 일관되게 이름이 변경되도록 합니다.
테스트를 실행해 확인합니다
Run the full test suite to verify all references were updated correctly테스트는 놓친 참조를 잡아냅니다.
팁:
- Explorer는 대규모 변경에서 누락되는 파일이 없도록 보장합니다
- Plan Mode은 실행 전에 전체 범위를 보여줍니다
- 체계적인 업데이트는 모든 파일에서 일관성을 유지합니다
- 대규모 리팩터링 후에는 포괄적으로 테스트합니다
여러 파일에 걸친 조율된 변경은 단계별로 진행할 때 더 안전합니다. 한 계층을 업데이트하고, 검증한 다음, 의존하는 계층으로 넘어갑니다.
자주 묻는 질문
컨텍스트 제한에 가까워지고 있다는 것을 어떻게 알 수 있나요?
응답 시간이 느려지거나, 세션이 여러 시간 동안 실행되거나, 큰 파일이 많이 로드되는 경우가 신호입니다. 세션 길이와 파일 수를 모니터링하세요. 성능 저하가 느껴지면 현재 작업을 완료하고, 진행 상황을 커밋한 다음, 깨끗한 컨텍스트로 새 세션을 시작합니다.
Verdent이 수십 개 파일을 한 번에 수정하도록 해도 안전한가요?
네, 올바르게 사용하면 안전합니다. 항상 Plan Mode을 사용해 먼저 전체 범위를 검토하고, 포괄적인 테스트 커버리지가 있는지 확인하며, 단계 사이에 자주 커밋하세요. 이렇게 하면 변경 사항을 점진적으로 검증하고 필요할 때 쉽게 되돌릴 수 있습니다.
Explorer 에이전트를 언제 사용하고, 파일을 직접 로드해야 하는 때는 언제인가요?
메인 컨텍스트를 소비하지 않고 탐색과 검색 작업을 할 때 Explorer 에이전트를 사용합니다. 파일을 수정해야 할 때만 @-멘션으로 파일을 직접 로드합니다. Explorer는 "다음 조건에 맞는 모든 파일 찾기..." 같은 질문에 적합하고, @-멘션은 "이 특정 파일 업데이트" 작업에 적합합니다.
대규모 코드베이스 작업에는 어떤 모델 프리셋이 가장 적합한가요?
복잡한 다중 파일 작업과 리팩터링에는 Performance 프리셋을 사용합니다. 간단한 검색과 탐색 작업에는 Efficiency 프리셋을 사용합니다. Performance는 조율된 변경에 더 많은 추론 능력을 제공하고, Efficiency는 탐색에 더 빠르고 비용 효율적입니다.