Skip to Content
KoDevelopersToolsQwen Code Tools

Qwen Code 도구

Qwen Code는 모델이 로컬 환경과 상호 작용하고, 정보에 접근하고, 작업을 수행할 수 있도록 내장 도구를 제공합니다. 이 도구들은 CLI의 기능을 확장하여 텍스트 생성을 넘어 다양한 작업을 지원할 수 있게 해줍니다.

Qwen Code 도구 개요

Qwen Code에서 도구(tool)는 모델이 실행을 요청할 수 있는 특정 함수 또는 모듈입니다. 예를 들어, 모델에게 “my_document.txt의 내용을 요약해줘”라고 요청하면, 모델은 해당 파일을 읽어야 한다고 판단하고 read_file 도구 실행을 요청합니다.

핵심 컴포넌트(packages/core)는 이러한 도구를 관리하고, 정의(스키마)를 모델에 제시하고, 요청 시 실행한 후 결과를 모델에 반환하여 사용자 응답으로 처리합니다.

이 도구들은 다음과 같은 기능을 제공합니다:

  • 로컬 정보 접근: 도구를 통해 모델이 로컬 파일 시스템에 접근하고, 파일 내용을 읽고, 디렉토리를 나열하는 등의 작업을 수행할 수 있습니다.
  • 명령 실행: run_shell_command와 같은 도구를 사용하여 셸 명령을 실행할 수 있습니다(적절한 안전 조치 및 사용자 확인 포함).
  • 웹 상호 작용: 도구를 사용하여 URL에서 콘텐츠를 가져올 수 있습니다.
  • 작업 수행: 도구를 사용하여 파일을 수정하거나, 새 파일을 작성하거나, 시스템에서 다른 작업을 수행할 수 있습니다(역시 일반적으로 안전 장치가 포함됨).
  • 응답의 근거 확보: 도구를 사용하여 실시간 또는 특정 로컬 데이터를 가져옴으로써, 응답을 더 정확하고 관련성 있게 만들 수 있으며, 실제 컨텍스트에 기반할 수 있습니다.

Qwen Code 도구 사용 방법

Qwen Code 도구를 사용하려면 CLI에 프롬프트를 제공하면 됩니다. 과정은 다음과 같습니다:

  1. CLI에 프롬프트를 제공합니다.
  2. CLI는 프롬프트를 코어로 전송합니다.
  3. 코어는 프롬프트와 대화 기록과 함께 사용 가능한 도구 목록과 해당 설명/스키마를 구성된 모델 API로 전송합니다.
  4. 모델이 요청을 분석합니다. 도구가 필요하다고 판단하면, 응답에 특정 도구와 매개변수를 실행해 달라는 요청이 포함됩니다.
  5. 코어는 이 도구 요청을 받아 유효성을 검사하고(민감한 작업의 경우 일반적으로 사용자 확인 후) 도구를 실행합니다.
  6. 도구의 출력이 모델로 다시 전송됩니다.
  7. 모델은 도구의 출력을 사용하여 최종 답변을 작성하고, 이는 코어를 통해 CLI로 다시 전송되어 사용자에게 표시됩니다.

CLI에서 도구가 호출될 때, 그리고 성공 또는 실패했는지를 나타내는 메시지를 일반적으로 볼 수 있습니다.

보안 및 확인

파일 시스템을 수정하거나 명령을 실행할 수 있는 도구(write_file, edit, run_shell_command)를 비롯한 많은 도구는 안전을 고려하여 설계되었습니다. Qwen Code는 일반적으로 다음과 같이 동작합니다:

  • 확인 요구: 잠재적으로 민감한 작업을 실행하기 전에 사용자에게 어떤 작업이 수행될지 표시하며 확인을 요청합니다.
  • 샌드박스 활용: 모든 도구는 샌드박스에 의해 적용되는 제한을 받습니다(Qwen Code의 샌드박스 참조). 즉, 샌드박스에서 작동할 때 사용하려는 모든 도구(MCP 서버 포함)는 샌드박스 환경 _내부_에서 사용 가능해야 합니다. 예를 들어, npx를 통해 MCP 서버를 실행하려면 npx 실행 파일이 샌드박스의 Docker 이미지 내에 설치되어 있거나 sandbox-exec 환경에서 사용 가능해야 합니다.

도구가 진행되기 전에 확인 프롬프트를 항상 주의 깊게 검토하는 것이 중요합니다.

Qwen Code 도구에 대해 더 알아보기

Qwen Code의 내장 도구는 다음과 같이 분류할 수 있습니다:

또한 다음 기능이 포함되어 있습니다:

  • MCP 서버: MCP 서버는 모델과 로컬 환경 또는 API와 같은 다른 서비스 간의 브리지 역할을 합니다.
  • 샌드박스: 샌드박스는 모델과 변경 사항을 환경으로부터 격리하여 잠재적 위험을 줄입니다.
Last updated on