Sign in to save your progressYou can keep reading without an account, but completed lessons won't be saved.
Sign in

중요 참고 사항: 텍스트 편집기 도구의 최신 도구 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 버전에 따라 달라지는 특정 도구 이름을 제공해야 합니다:

python
# Claude 3.7용
text_editor = "text_editor_20250124"

# Claude 3.5용  
text_editor = "text_editor_20241022"

또한 텍스트 편집기 매개변수를 받아들이고 이를 모델 구성에 포함하도록 채팅 함수를 수정해야 합니다.

도구 명령어

Claude가 텍스트 편집기를 사용하려고 할 때, 특정 명령어와 함께 도구 사용 요청을 다시 보냅니다:

여러분의 구현은 다섯 가지 명령어를 모두 처리해야 합니다. 다음은 이러한 요청을 처리하기 위한 기본 구조입니다:

python
def run_tool(tool_name, tool_input):
    if tool_name == "str_replace_editor":
        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 기반 개발 도구를 구축할 수 있으며, 코드 변경을 요청하면 파일 시스템에 직접 구현되도록 할 수 있습니다.