중요 참고 사항: 텍스트 편집기 도구의 최신 도구 ID는 다음 AWS 문서에서 확인할 수 있습니다: https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-anthropic-claude-messages-tool-use.html#model-parameters-anthropic-anthropic-defined-tools(새 탭에서 열림)
텍스트 편집기 도구(Text Editor Tool)는 Claude에 파일 시스템 접근 및 텍스트 편집 기능을 제공하는 내장 기능입니다. 스키마와 구현을 모두 직접 작성해야 하는 다른 도구와 달리, Claude는 이미 텍스트 편집기 작업을 요청하는 방법을 알고 있으므로 여러분은 그 요청을 처리하기만 하면 됩니다.
텍스트 편집기 도구가 하는 일
이 도구는 Claude에게 소프트웨어 엔지니어처럼 파일 및 디렉터리를 다룰 수 있는 능력을 부여합니다:
- 파일 또는 디렉터리 내용 보기
- 파일 내 특정 범위의 줄 보기
- 파일 내 텍스트 교체
- 새 파일 생성
- 특정 줄 번호에 텍스트 삽입
작동 방식
텍스트 편집기 도구는 JSON 스키마만 Claude에 내장되어 있다는 점에서 커스텀 도구와 다릅니다. 실제 구현은 여러분이 직접 제공해야 합니다.

커스텀 도구를 만들 때는 양쪽 모두를 작성합니다 - Claude에 도구에 대해 알려주는 스키마와 실제로 작업을 수행하는 함수입니다. 텍스트 편집기 도구의 경우 Claude가 이미 스키마를 가지고 있지만, 파일을 보거나 편집하거나 생성하라는 Claude의 요청을 처리하는 함수는 여러분이 작성해야 합니다.
도구 설정하기
텍스트 편집기 도구를 사용하려면 사용 중인 모델에 맞는 도구 버전을 제공해야 합니다:
# Claude 4 이상 모델의 경우
text_editor = "text_editor_20250728"
# 이전 Claude 모델의 경우
text_editor = "text_editor_20250124"이 레슨의 나머지 부분에서는 Claude 4 이상 버전을 사용합니다. text_editor_20250124에서는 도구 이름이 대신 str_replace_editor이며, undo_edit 명령도 존재합니다.
또한 텍스트 편집기 매개변수를 받아들이고 이를 모델 구성에 포함하도록 채팅 함수를 수정해야 합니다.
도구 명령
Claude가 텍스트 편집기를 사용하려고 할 때, 특정 명령과 함께 도구 사용 요청을 보냅니다:

여러분의 구현은 view, str_replace, create, insert의 네 가지 명령을 모두 처리해야 합니다. 다음은 이러한 요청을 처리하기 위한 기본 구조입니다:
def run_tool(tool_name, tool_input):
if tool_name == "str_replace_based_edit_tool":
command = tool_input.get("command", "")
if command == "view":
path = tool_input.get("path", "")
return text_editor_tool.view(path)
elif command == "str_replace":
path = tool_input.get("path", "")
old_str = tool_input.get("old_str", "")
new_str = tool_input.get("new_str", "")
return text_editor_tool.str_replace(path, old_str, new_str)
# ... 기타 명령어 처리예시: 파일 분석
실제로 이 도구가 어떻게 작동하는지 살펴보겠습니다. Claude에게 "./main.py 파일의 코드에 대한 한 문장 설명을 작성해줘"라고 요청하면 다음과 같은 일이 일어납니다:

Claude는 {"command": "view", "path": "./main.py"}와 함께 도구 사용 요청을 보냅니다. 여러분의 서버는 TextEditorTool 클래스를 사용하여 파일을 읽고 그 내용을 반환합니다. 그런 다음 Claude는 읽은 코드를 바탕으로 분석을 제공합니다.
실용적인 활용
텍스트 편집기 도구는 본질적으로 Claude를 다음과 같은 작업을 할 수 있는 코드 어시스턴트로 만들어줍니다:
- 기존 코드를 읽고 분석 제공
- 새 파일 및 함수 생성
- 기존 코드 수정
- 테스트 파일 설정
- 여러 파일에 걸친 코드 리팩토링
예를 들어, Claude에게 "main.py에 5번째 자릿수까지 원주율을 계산하는 함수를 작성하고, 이를 테스트할 test.py 파일을 만들어줘"라고 요청할 수 있습니다. Claude는 기존 파일을 읽고, 새 함수를 추가하고, 테스트 파일을 생성하고, 포괄적인 테스트를 작성합니다 - 이 모든 것이 텍스트 편집기 명령을 사용하여 자동으로 이루어집니다.
이를 통해 통합 AI 기능을 갖춘 최신 코드 편집기와 유사한 AI 기반 개발 도구를 구축할 수 있으며, 코드 변경을 요청하면 파일 시스템에 직접 구현되도록 할 수 있습니다.