Verdent Docs
문제 해결

제한 사항 및 제약

Verdent의 제한 사항과 제약 이해하기

학습할 내용

파일 형식 제한, 도구 제약, 플랫폼별 고려 사항을 포함한 Verdent for VS Code의 알려진 제한 사항입니다.


알려진 제한 사항

바이너리 파일은 지원되지 않음

Verdent의 파일 도구는 텍스트 기반 형식에서만 작동합니다. 다음 항목은 편집할 수 없습니다.

형식 유형예시
이미지PNG, JPG, GIF, SVG (바이너리로서)
동영상MP4, AVI, MOV
컴파일된 코드EXE, DLL, SO
아카이브ZIP, TAR, GZ
Office 문서DOCX, XLSX, PPTX
PDFPDF 파일

해결 방법: 바이너리 파일은 코드에서 참조하거나 개념적으로 논의할 수 있지만, 수정하려면 외부 도구가 필요합니다.

file_read 줄 수 제한

제한 사항:

  • 큰 파일(>10,000줄)은 구간별로 읽어야 합니다
  • 큰 파일 전체를 읽으면 컨텍스트가 소진될 수 있습니다

해결 방법: 줄 범위를 사용합니다: file_read("file.js", start_line=100, max_lines=50)


bash 명령 시간 제한

제한 사항:

  • 최대 시간 제한: 120초(2분)
  • 오래 실행되는 작업은 자동으로 종료됩니다

해결 방법: 작업을 2분 안에 완료되는 더 작은 명령으로 나눕니다


검색 성능

제한 사항:

  • 넓은 glob 패턴(**/*)은 수천 개의 결과를 반환할 수 있습니다
  • 정규식 검색은 리터럴 문자열 검색보다 느립니다

해결 방법: 구체적인 패턴을 사용하고 불필요한 디렉터리는 제외합니다

컨텍스트 소진

문제: 긴 세션이나 복잡한 작업 중에는 AI의 컨텍스트 창이 가득 차서 이전 대화를 참조하는 능력이 제한될 수 있습니다.

완화 전략:

  • 탐색 연구에는 서브에이전트를 사용합니다(결과만 메인 컨텍스트를 사용합니다)
  • 줄 범위로 파일을 전략적으로 읽습니다
  • 전체 내용을 읽기 전에 grep_file를 사용합니다
  • 백그라운드 작업을 Explorer 서브에이전트에 위임합니다

500줄을 넘는 파일은 컨텍스트 공간을 보존하기 위해 항상 줄 범위를 사용합니다.


Verdent이 할 수 없는 일

직접 시스템 관리는 불가

할 수 없는 일:

  • VS Code 설정을 프로그래밍 방식으로 수정
  • VS Code 확장을 자동으로 설치
  • 시스템 수준 구성을 변경
  • VS Code 또는 시스템 서비스를 다시 시작

범위: Verdent은 시스템 관리 수준이 아니라 VS Code 워크스페이스 내에서 작동합니다.

자율 실행 불가

Manual Accept Mode 제어:

  • 사용자는 Manual Accept Mode에서 도구 실행을 승인해야 합니다
  • 승인 없는 자동 백그라운드 작업은 없습니다
  • VS Code이 닫혀 있으면 명령을 실행할 수 없습니다

목적: 모든 작업에 대한 안전성과 사용자 제어입니다.

Verdent은 사용자 승인 없이 백그라운드에서 명령을 실행할 수 없습니다. 모든 작업에는 Manual Accept Mode에서 명시적인 동의가 필요합니다.

실시간 모니터링 불가

할 수 없는 일:

  • 실행 중인 프로세스를 지속적으로 모니터링
  • 파일 시스템 변경을 실시간으로 추적
  • 시스템 이벤트에 대한 알림
  • 로그 파일을 지속적으로 스트리밍

대안: 외부 모니터링 도구에는 MCP 연동을 사용합니다.

MCP 없이 네트워크 작업 불가

내장 제한 사항:

  • 임의의 HTTP 요청을 만들 수 없습니다(특정 페이지에는 web_fetch를 사용)
  • 직접 데이터베이스 연결은 없습니다(MCP 필요)
  • 클라우드 서비스에 직접 접근할 수 없습니다(MCP 필요)
  • 실시간 API 연동은 없습니다(MCP 필요)

해결 방법: 외부 시스템 접근을 위해 MCP 서버를 구성합니다.


플랫폼별 제한

운영체제 차이

bash 도구 동작:

플랫폼참고
macOS/Linuxbash/zsh전체 bash 기능
WindowsPowerShell일부 bash 명령은 사용할 수 없으므로 PowerShell 대응 명령을 사용합니다
WSLbashWSL 환경에서 Linux 명령이 작동합니다

경로 처리:

  • Windows는 백슬래시(\)를 사용하고, Unix는 슬래시(/)를 사용합니다
  • 크로스 플랫폼 프로젝트에서는 파일 경로를 조정해야 할 수 있습니다

VS Code 버전 요구 사항

최소 요구 사항:

  • VS Code 버전 호환성(현재 최소 버전은 확장 마켓플레이스에서 확인)
  • 컨텍스트 캐싱을 위한 충분한 디스크 공간

구체적인 버전 요구 사항은 VS Code 마켓플레이스 목록에서 관리됩니다. 현재 호환성은 확장 세부 정보를 확인합니다.


워크스페이스 제약

단일 워크스페이스 집중:

  • Verdent은 한 번에 하나의 VS Code 워크스페이스 내에서 작동합니다
  • 열려 있는 여러 VS Code 창에 걸쳐 동시에 파일을 수정할 수 없습니다
  • 멀티 루트 워크스페이스는 지원되지만 컨텍스트는 현재 활성 워크스페이스로 제한됩니다

일반적인 제한 사항의 해결 방법

바이너리 파일 수정

제한 사항: 이미지, PDF 또는 컴파일된 바이너리를 편집할 수 없습니다

해결 방법:

  • bash 명령에서 외부 도구를 참조합니다: bash("convert input.png -resize 50% output.png")
  • 외부 도구가 실행할 수 있는 스크립트를 생성합니다
  • 바이너리 파일 작업을 위한 수동 단계를 문서화합니다

예시:

# Image conversion
bash("convert input.png -resize 50% output.png")

# PDF to text
bash("pdftotext document.pdf output.txt")

큰 파일 처리

제한 사항: 10,000줄을 넘는 파일은 컨텍스트 창에 부담을 줍니다

해결 방법:

  • 줄 범위를 사용합니다: file_read("large.log", start_line=1000, max_lines=100)
  • 먼저 검색합니다: 관련 구간을 찾으려면 grep_content("ERROR", glob="large.log")를 사용합니다
  • 더 쉽게 관리할 수 있도록 파일을 더 작은 모듈로 나눕니다

항상 먼저 grep_content를 사용해 관련 구간을 식별한 다음, 해당하는 특정 줄 범위만 읽습니다.

컨텍스트 창 소진

제한 사항: 긴 대화는 컨텍스트 창을 채웁니다

해결 방법:

  • 코드베이스 조사에는 Explorer 서브에이전트에 위임합니다
  • 격리된 검증 작업에는 Verifier 서브에이전트를 사용합니다
  • 별개의 작업은 새 대화로 시작합니다
  • 세션 간 진행 상황을 추적하려면 todo_update를 사용합니다

모범 사례: 백그라운드 조사를 서브에이전트에 위임해 메인 컨텍스트를 실제 개발 작업에 보존합니다.

플랫폼별 명령 차이

제한 사항: bash 명령은 Windows와 Unix 간에 다릅니다

해결 방법:

  • 크로스 플랫폼 도구를 사용합니다: 원시 bash 대신 npm scripts
  • 조건부 명령: bash("if [[ \"$OSTYPE\" == \"linux-gnu\"* ]]; then ...; fi")
  • 플랫폼 참고 사항이 포함된 프로젝트별 AGENTS.md

예시:

# Cross-platform
bash("npm run build")

# Platform-specific conditional
bash("if [[ \"$OSTYPE\" == \"linux-gnu\"* ]]; then make; else nmake; fi")

향후 개선 사항

제한 사항은 계속 해결되고 있습니다. 확장된 기능, 증가한 한도, 새로운 연동에 대한 업데이트는 Verdent 릴리스 노트를 확인합니다.


함께 보기