텍스트 에디터 도구
Claude는 Anthropic이 정의한 텍스트 에디터 도구를 사용하여 텍스트 파일을 보고 수정할 수 있으며, 이를 통해 코드나 다른 텍스트 문서를 디버깅하고, 수정하고, 개선하는 데 도움을 줄 수 있습니다. 이를 통해 Claude는 단순히 변경 사항을 제안하는 것이 아니라 파일과 직접 상호작용하여 실질적인 도움을 제공할 수 있습니다.
텍스트 에디터 도구 사용 전
호환되는 모델 사용
Anthropic의 텍스트 에디터 도구는 Claude 3.5 Sonnet과 Claude 3.7 Sonnet에서만 사용할 수 있습니다:
- Claude 3.7 Sonnet:
text_editor_20250124
- Claude 3.5 Sonnet:
text_editor_20241022
두 버전 모두 동일한 기능을 제공합니다 - 사용하는 버전은 작업 중인 모델과 일치해야 합니다.
사용 사례 평가
텍스트 에디터 도구를 사용하는 경우의 예시:
- 코드 디버깅: Claude가 구문 오류부터 논리적 문제까지 코드의 버그를 식별하고 수정하도록 합니다.
- 코드 리팩토링: Claude가 대상을 정한 수정을 통해 코드 구조, 가독성 및 성능을 개선하도록 합니다.
- 문서 생성: Claude에게 코드베이스에 독스트링, 주석 또는 README 파일을 추가하도록 요청합니다.
- 테스트 생성: Claude가 구현 내용을 이해하여 코드의 단위 테스트를 생성하도록 합니다.
텍스트 에디터 도구 사용하기
Messages API를 사용하여 텍스트 에디터 도구(str_replace_editor
)를 Claude에 제공합니다:
텍스트 에디터 도구는 다음과 같은 방식으로 사용할 수 있습니다:
텍스트 에디터 도구와 사용자 프롬프트 제공
- API 요청에 텍스트 에디터 도구 포함
- “코드의 구문 오류를 수정할 수 있나요?”와 같이 파일을 검사하거나 수정해야 할 수 있는 사용자 프롬프트 제공
Claude가 도구를 사용하여 파일이나 디렉토리 검사
- Claude는 무엇을 봐야 할지 평가하고
view
명령을 사용하여 파일 내용을 검사하거나 디렉토리 내용을 나열 - API 응답에는
view
명령이 포함된tool_use
콘텐츠 블록이 포함됨
view 명령 실행 및 결과 반환
- Claude의 도구 사용 요청에서 파일 또는 디렉토리 경로 추출
- 파일의 내용을 읽거나 디렉토리 내용을 나열하여 Claude에 반환
tool_result
콘텐츠 블록이 포함된 새로운user
메시지로 대화를 계속하여 결과를 Claude에 반환
Claude가 도구를 사용하여 파일 수정
- 파일이나 디렉토리를 검사한 후, Claude는 변경을 위해
str_replace
명령을 사용하거나 특정 줄 번호에 텍스트를 추가하기 위해insert
를 사용할 수 있음 - Claude가
str_replace
명령을 사용하는 경우, 이전 텍스트와 이를 대체할 새 텍스트가 포함된 적절한 형식의 도구 사용 요청을 구성
편집 실행 및 결과 반환
- Claude의 도구 사용 요청에서 파일 경로, 이전 텍스트 및 새 텍스트 추출
- 파일에서 텍스트 대체 수행
- 결과를 Claude에 반환
Claude가 분석 및 설명 제공
- 파일을 검사하고 가능한 편집을 한 후, Claude는 발견한 내용과 변경한 내용에 대한 완전한 설명을 제공
텍스트 에디터 도구 명령
텍스트 에디터 도구는 파일을 보고 수정하기 위한 여러 명령을 지원합니다:
view
view
명령을 사용하면 Claude가 파일의 내용을 검사하거나 디렉토리의 내용을 나열할 수 있습니다. 전체 파일을 읽거나 특정 범위의 줄을 읽을 수 있습니다.
매개변수:
command
: “view”여야 함path
: 볼 파일이나 디렉토리의 경로view_range
(선택사항): 볼 시작 및 끝 줄 번호를 지정하는 두 개의 정수 배열. 줄 번호는 1부터 시작하며, 끝 줄의 -1은 파일 끝까지 읽는다는 의미입니다. 이 매개변수는 디렉토리가 아닌 파일을 볼 때만 적용됩니다.
str_replace
str_replace
명령을 사용하면 Claude가 파일의 특정 문자열을 새 문자열로 대체할 수 있습니다. 이는 정확한 편집을 하는 데 사용됩니다.
매개변수:
command
: “str_replace”여야 함path
: 수정할 파일의 경로old_str
: 대체할 텍스트(공백과 들여쓰기를 포함하여 정확히 일치해야 함)new_str
: 이전 텍스트 대신 삽입할 새 텍스트
create
create
명령을 사용하면 Claude가 지정된 내용으로 새 파일을 생성할 수 있습니다.
매개변수:
command
: “create”여야 함path
: 새 파일을 생성할 경로file_text
: 새 파일에 쓸 내용
insert
insert
명령을 사용하면 Claude가 파일의 특정 위치에 텍스트를 삽입할 수 있습니다.
매개변수:
command
: “insert”여야 함path
: 수정할 파일의 경로insert_line
: 텍스트를 삽입할 줄 번호(파일 시작 부분은 0)new_str
: 삽입할 텍스트
undo_edit
undo_edit
명령을 사용하면 Claude가 파일에 대한 마지막 편집을 취소할 수 있습니다.
매개변수:
command
: “undo_edit”여야 함path
: 마지막 편집을 취소할 파일의 경로
예시: 텍스트 에디터 도구로 구문 오류 수정하기
이 예시는 Claude가 텍스트 에디터 도구를 사용하여 Python 파일의 구문 오류를 수정하는 방법을 보여줍니다.
먼저, 애플리케이션이 Claude에 텍스트 에디터 도구와 구문 오류를 수정하라는 프롬프트를 제공합니다:
Claude는 먼저 텍스트 에디터 도구를 사용하여 파일을 볼 것입니다:
그러면 애플리케이션이 파일을 읽고 그 내용을 Claude에 반환해야 합니다:
줄 번호
위 예시에서 view
도구 결과에는 각 줄 앞에 줄 번호가 붙은 파일 내용이 포함됩니다(예: “1: def is_prime(n):”). 줄 번호는 필수는 아니지만, view_range
매개변수를 사용하여 파일의 특정 섹션을 검사하고 insert_line
매개변수를 사용하여 정확한 위치에 내용을 추가하는 데 필수적입니다.
Claude는 구문 오류를 식별하고 str_replace
명령을 사용하여 수정할 것입니다:
그러면 애플리케이션이 편집을 수행하고 결과를 반환해야 합니다:
마지막으로, Claude는 수정에 대한 완전한 설명을 제공할 것입니다:
텍스트 에디터 도구 구현하기
텍스트 에디터 도구는 type: "text_editor_20250124"
로 식별되는 스키마 없는 도구로 구현됩니다. 이 도구를 사용할 때는 다른 도구와 달리 입력 스키마를 제공할 필요가 없습니다. 스키마는 Claude의 모델에 내장되어 있으며 수정할 수 없습니다.
에디터 구현 초기화
파일 읽기, 쓰기 및 수정과 같은 파일 작업을 처리하는 헬퍼 함수를 만듭니다. 실수로부터 복구할 수 있도록 백업 기능 구현을 고려하세요.
에디터 도구 호출 처리
명령 유형에 따라 Claude의 도구 호출을 처리하는 함수를 만듭니다:
보안 조치 구현
유효성 검사와 보안 검사를 추가합니다:
- 디렉토리 순회를 방지하기 위해 파일 경로 유효성 검사
- 변경하기 전에 백업 생성
- 오류를 우아하게 처리
- 권한 검사 구현
Claude의 응답 처리
Claude의 응답에서 도구 호출을 추출하고 처리합니다:
텍스트 에디터 도구를 구현할 때 다음 사항을 명심하세요:
- 보안: 이 도구는 로컬 파일시스템에 접근할 수 있으므로 적절한 보안 조치를 구현하세요.
- 백업: 중요한 파일을 편집하기 전에 항상 백업을 생성하세요.
- 유효성 검사: 의도하지 않은 변경을 방지하기 위해 모든 입력의 유효성을 검사하세요.
- 고유 매칭: 의도하지 않은 편집을 방지하기 위해 대체가 정확히 한 위치에서만 일치하는지 확인하세요.
오류 처리
텍스트 에디터 도구를 사용할 때 다양한 오류가 발생할 수 있습니다. 다음은 이러한 오류를 처리하는 방법에 대한 지침입니다:
구현 모범 사례 따르기
가격 책정 및 토큰 사용량
텍스트 에디터 도구는 Claude와 함께 사용되는 다른 도구와 동일한 가격 구조를 사용합니다. 사용 중인 Claude 모델을 기준으로 표준 입력 및 출력 토큰 가격을 따릅니다.
기본 토큰 외에도 텍스트 에디터 도구에는 다음과 같은 추가 입력 토큰이 필요합니다:
도구 | 추가 입력 토큰 |
---|---|
text_editor_20241022 (Claude 3.5 Sonnet) | 700 토큰 |
text_editor_20250124 (Claude 3.7 Sonnet) | 700 토큰 |
도구 가격 책정에 대한 자세한 정보는 도구 사용 가격 책정을 참조하세요.
텍스트 에디터 도구를 컴퓨터 사용과 통합
텍스트 에디터 도구는 컴퓨터 사용 도구와 다른 Anthropic 정의 도구와 함께 사용할 수 있습니다. 이러한 도구들을 결합할 때는 다음 사항을 고려해야 합니다:
- 적절한 베타 헤더 포함(컴퓨터 사용과 함께 사용하는 경우)
- 도구 버전을 사용 중인 모델과 일치시키기
- 요청에 포함된 모든 도구에 대한 추가 토큰 사용량 고려
컴퓨터 사용 컨텍스트에서 텍스트 에디터 도구 사용에 대한 자세한 정보는 컴퓨터 사용을 참조하세요.
변경 로그
날짜 | 버전 | 변경 사항 |
---|---|---|
2025년 3월 13일 | text_editor_20250124 | 독립형 텍스트 에디터 도구 문서 소개. 이 버전은 Claude 3.7 Sonnet에 최적화되어 있지만 이전 버전과 동일한 기능을 가지고 있습니다. |
2024년 10월 22일 | text_editor_20241022 | Claude 3.5 Sonnet과 함께 텍스트 에디터 도구 최초 출시. view , create , str_replace , insert , undo_edit 명령을 통해 파일을 보고, 생성하고, 편집하는 기능을 제공합니다. |
다음 단계
텍스트 에디터 도구를 더 편리하고 강력하게 사용하는 방법에 대한 아이디어입니다:
- 개발 워크플로우와 통합: 텍스트 에디터 도구를 개발 도구나 IDE에 통합
- 코드 리뷰 시스템 만들기: Claude가 코드를 검토하고 개선하도록 하기
- 디버깅 어시스턴트 만들기: Claude가 코드의 문제를 진단하고 수정하는 데 도움을 주는 시스템 만들기
- 파일 형식 변환 구현: Claude가 파일을 한 형식에서 다른 형식으로 변환하는 데 도움을 주도록 하기
- 문서화 자동화: Claude가 자동으로 코드를 문서화하는 워크플로우 설정
텍스트 에디터 도구로 애플리케이션을 구축하면서, 여러분이 Claude의 기능을 활용하여 개발 워크플로우와 생산성을 향상시키는 방법을 보게 되어 기대됩니다.
Was this page helpful?