업그레이드된 Claude 3.5 Sonnet 모델은 도구와 상호 작용하여 컴퓨터 데스크톱 환경을 조작할 수 있습니다.

컴퓨터 사용은 베타 기능입니다. 컴퓨터 사용은 표준 API 기능이나 채팅 인터페이스와는 다른 고유한 위험을 수반합니다. 이러한 위험은 인터넷과 상호 작용할 때 더욱 높아집니다. 위험을 최소화하기 위해 다음과 같은 예방 조치를 고려하십시오:

  1. 시스템 공격이나 사고를 방지하기 위해 최소 권한을 가진 전용 가상 머신 또는 컨테이너를 사용하십시오.
  2. 정보 유출을 방지하기 위해 계정 로그인 정보와 같은 민감한 데이터에 대한 모델의 액세스를 허용하지 마십시오.
  3. 악성 콘텐츠에 대한 노출을 줄이기 위해 인터넷 액세스를 허용된 도메인 목록으로 제한하십시오.
  4. 의미 있는 실제 결과를 초래할 수 있는 결정이나 쿠키 수락, 금융 거래 실행, 서비스 약관 동의와 같은 동의가 필요한 작업에 대해서는 사람의 확인을 받으십시오.

일부 상황에서 Claude는 사용자 지시와 상충되더라도 콘텐츠에 포함된 명령을 따를 수 있습니다. 예를 들어 웹페이지나 이미지에 포함된 Claude 지침은 사용자 지침을 무시하거나 Claude가 실수를 하게 만들 수 있습니다. 프롬프트 주입과 관련된 위험을 방지하기 위해 Claude를 민감한 데이터와 작업으로부터 격리하는 예방 조치를 취하는 것이 좋습니다.

마지막으로 제품에서 컴퓨터 사용을 활성화하기 전에 관련 위험을 최종 사용자에게 알리고 동의를 받으십시오.

컴퓨터 사용 참조 구현

웹 인터페이스, Docker 컨테이너, 예제 도구 구현 및 에이전트 루프가 포함된 컴퓨터 사용 참조 구현으로 빠르게 시작할 수 있습니다.

이 양식을 사용하여 모델 응답의 품질, API 자체 또는 문서 품질에 대한 피드백을 제공해 주시기 바랍니다. 여러분의 의견을 기다리고 있습니다!

Messages API를 사용하여 Claude에 컴퓨터 사용 도구를 제공하는 방법의 예시입니다:


컴퓨터 사용 작동 방식

1. Claude에 컴퓨터 사용 도구와 사용자 프롬프트 제공

  • API 요청에 Anthropic 정의 컴퓨터 사용 도구를 추가합니다.
  • 이러한 도구가 필요할 수 있는 사용자 프롬프트를 포함합니다(예: “내 데스크톱에 고양이 사진을 저장하세요.”).

2. Claude가 도구 사용을 결정

  • Claude는 저장된 컴퓨터 사용 도구 정의를 로드하고 도구가 사용자 쿼리를 도울 수 있는지 평가합니다.
  • 가능하다면 Claude는 적절한 형식의 도구 사용 요청을 구성합니다.
  • API 응답에 stop_reasontool_use로 표시되어 Claude의 의도를 나타냅니다.

3. 도구 입력 추출, 컴퓨터에서 도구 평가 및 결과 반환

  • 귀하 쪽에서는 Claude의 요청에서 도구 이름과 입력을 추출합니다.
  • 컨테이너 또는 가상 머신에서 도구를 사용합니다.
  • tool_result 콘텐츠 블록이 포함된 새로운 user 메시지로 대화를 계속합니다.

4. Claude가 작업을 완료할 때까지 컴퓨터 사용 도구를 계속 호출

  • Claude는 도구 결과를 분석하여 추가 도구 사용이 필요한지 또는 작업이 완료되었는지 결정합니다.
  • Claude가 다른 도구가 필요하다고 판단하면 tool_use stop_reason으로 다시 응답하고 3단계로 돌아가야 합니다.
  • 그렇지 않으면 사용자에게 텍스트 응답을 작성합니다.

사용자 입력 없이 3단계와 4단계를 반복하는 것을 “에이전트 루프”라고 합니다. 즉, Claude가 도구 사용 요청으로 응답하고 귀하의 애플리케이션이 해당 요청을 평가한 결과로 Claude에 응답하는 것입니다.


컴퓨터 사용 구현 방법

참조 구현으로 시작

참조 구현에는 컴퓨터 사용을 빠르게 시작하는 데 필요한 모든 것이 포함되어 있습니다:

이 문서를 읽기 전에 참조 구현을 먼저 시도해 보는 것이 좋습니다.

프롬프팅으로 모델 성능 최적화

최고 품질의 출력을 얻는 방법은 다음과 같습니다:

  1. 간단하고 잘 정의된 작업을 지정하고 각 단계에 대한 명시적 지침을 제공합니다.
  2. Claude는 때때로 결과를 명시적으로 확인하지 않고 작업의 결과를 가정합니다. 이를 방지하려면 Claude에게 각 단계 후에는 스크린샷을 찍고 원하는 결과가 달성되었는지 주의 깊게 평가하세요. 생각을 명시적으로 보여주세요: "X 단계를 평가했습니다..." 올바르지 않다면 다시 시도하세요. 단계가 올바르게 실행되었음을 확인한 후에만 다음 단계로 진행해야 합니다.라고 프롬프트하는 것이 좋습니다.
  3. 일부 UI 요소(드롭다운 및 스크롤바 등)는 마우스 움직임으로 조작하기 어려울 수 있습니다. 이런 경우가 발생하면 모델에 키보드 단축키를 사용하도록 프롬프트하는 것이 좋습니다.
  4. 반복 가능한 작업이나 UI 상호 작용의 경우 성공적인 결과의 예시 스크린샷과 도구 호출을 프롬프트에 포함하세요.
  5. 로그인이 필요한 경우 <robot_credentials>와 같은 xml 태그 안에 사용자 이름과 비밀번호를 프롬프트에 제공하세요. 로그인이 필요한 애플리케이션에서 컴퓨터 사용을 하면 프롬프트 주입의 결과로 인해 잘못된 결과가 발생할 위험이 높아집니다. 로그인 자격 증명을 모델에 제공하기 전에 프롬프트 주입 완화 가이드를 검토하시기 바랍니다.

반복적으로 명확한 문제 세트가 발생하거나 Claude가 완료해야 할 작업을 미리 알고 있는 경우 시스템 프롬프트를 사용하여 작업을 성공적으로 수행하는 방법에 대한 명시적인 팁이나 지침을 Claude에게 제공하세요.

시스템 프롬프트

Anthropic 정의 도구가 Anthropic API를 통해 요청되면 컴퓨터 사용 전용 시스템 프롬프트가 생성됩니다. 이는 도구 사용 시스템 프롬프트와 유사하지만 다음과 같이 시작합니다:

사용자의 질문에 답변하기 위해 사용할 수 있는 일련의 기능에 액세스할 수 있습니다. 이에는 샌드박스 컴퓨팅 환경에 대한 액세스가 포함됩니다. 현재는 아래 기능을 호출하는 것 외에는 파일을 검사하거나 외부 리소스와 상호 작용할 수 없습니다.

일반 도구 사용과 마찬가지로 사용자가 제공한 system_prompt 필드도 여전히 존중되며 결합된 시스템 프롬프트 구성에 사용됩니다.

Anthropic 정의 도구 이해

베타 버전이므로 이러한 도구 정의는 변경될 수 있습니다.

Claude가 컴퓨터를 효과적으로 사용할 수 있도록 일련의 도구를 제공했습니다. Anthropic 정의 도구를 지정할 때 descriptiontool_schema 필드는 필요하지 않거나 허용되지 않습니다.

Anthropic 정의 도구는 사용자가 실행해야 합니다

Anthropic 정의 도구는 Anthropic에서 정의했지만 도구 결과를 명시적으로 평가하고 Claude에 tool_results를 반환해야 합니다. 다른 도구와 마찬가지로 모델이 자동으로 도구를 실행하지는 않습니다.

현재 3가지 Anthropic 정의 도구를 제공하고 있습니다:

  • { "type": "computer_20241022", "name": "computer" }
  • { "type": "text_editor_20241022", "name": "str_replace_editor" }
  • { "type": "bash_20241022", "name": "bash" }

type 필드는 유효성 검사를 위해 도구와 해당 매개변수를 식별하고, name 필드는 모델에 노출되는 도구 이름입니다.

모델에 이러한 도구 중 하나를 사용하도록 프롬프트하려면 name 필드를 명시적으로 참조할 수 있습니다. name 필드는 도구 목록 내에서 고유해야 합니다. 동일한 API 호출에서 Anthropic 정의 도구와 동일한 이름의 도구를 정의할 수는 없습니다.

Anthropic 정의 도구 이름과 동일한 이름의 도구를 정의하는 것은 권장하지 않습니다. 이러한 이름으로 도구를 재정의할 수는 있지만(도구 목록 내에서 도구 이름이 고유한 경우), 그렇게 하면 모델 성능이 저하될 수 있습니다.

다른 도구와 컴퓨터 사용 결합

일반 도구 사용과 Anthropic 정의 컴퓨터 사용 도구를 결합할 수 있습니다.

사용자 정의 컴퓨터 사용 환경 구축

참조 구현은 컴퓨터 사용을 시작하는 데 도움이 되도록 만들어졌습니다. 여기에는 Claude가 컴퓨터를 사용하는 데 필요한 모든 구성 요소가 포함되어 있습니다. 그러나 필요에 따라 사용자 정의 컴퓨터 사용 환경을 구축할 수 있습니다. 다음이 필요합니다:

  • Claude와 컴퓨터 사용이 가능한 가상화 또는 컨테이너화된 환경
  • Anthropic 정의 컴퓨터 사용 도구 중 하나 이상의 구현
  • Anthropic API와 상호 작용하고 도구 구현을 사용하여 tool_use 결과를 실행하는 에이전트 루프
  • 사용자 입력을 받아 에이전트 루프를 시작할 수 있는 API 또는 UI

컴퓨터 사용 제한 사항 이해

컴퓨터 사용 기능은 베타 버전입니다. Claude의 기능은 최첨단이지만 개발자는 다음과 같은 제한 사항을 인지해야 합니다:

  1. 대기 시간: 현재 인간-AI 상호 작용을 위한 컴퓨터 사용 대기 시간이 일반적인 인간 주도 컴퓨터 작업에 비해 너무 느릴 수 있습니다. 속도가 중요하지 않은 신뢰할 수 있는 환경에서의 사용 사례(예: 백그라운드 정보 수집, 자동화된 소프트웨어 테스팅)에 초점을 맞추는 것이 좋습니다.
  2. 컴퓨터 비전 정확도 및 신뢰성: Claude는 특정 좌표를 출력하거나 작업을 생성할 때 실수하거나 허구를 만들어낼 수 있습니다.
  3. 도구 선택 정확도 및 신뢰성: Claude는 작업을 생성하거나 문제를 해결하기 위해 도구를 선택할 때 실수하거나 예상치 못한 작업을 수행할 수 있습니다. 또한 특정 애플리케이션이나 여러 애플리케이션과 상호 작용할 때 신뢰성이 낮아질 수 있습니다. 복잡한 작업을 요청할 때는 모델에 주의 깊게 프롬프트하는 것이 좋습니다.
  4. 스크롤 신뢰성: 현재 경험에서 스크롤 기능은 신뢰할 수 없으며, 모델이 페이지 맨 아래까지 스크롤하지 않을 수 있습니다. 키스트로크(PgUp/PgDown)를 통해 스크롤과 유사한 동작을 개선할 수 있습니다.
  5. 스프레드시트 상호 작용: 스프레드시트 상호 작용을 위한 마우스 클릭은 신뢰할 수 없습니다. 셀 선택이 예상대로 작동하지 않을 수 있습니다. 이는 모델에 화살표 키를 사용하도록 프롬프트하여 완화할 수 있습니다.
  6. 소셜 및 커뮤니케이션 플랫폼에서의 계정 생성 및 콘텐츠 생성: Claude는 웹사이트를 방문할 수 있지만 소셜 미디어 웹사이트 및 플랫폼에서 계정을 생성하거나 콘텐츠를 생성 및 공유하거나 인간을 가장하는 행위는 제한하고 있습니다. 이 기능은 향후 업데이트될 수 있습니다.
  7. 취약점: 프롬프트 주입이나 탈옥과 같은 취약점은 베타 컴퓨터 사용 API를 포함한 최첨단 AI 시스템에서 지속될 수 있습니다. 일부 상황에서 Claude는 사용자 지시와 상충되더라도 콘텐츠에 포함된 명령을 따를 수 있습니다. 예를 들어 웹페이지나 이미지에 포함된 Claude 지침은 사용자 지침을 무시하거나 Claude가 실수를 하게 만들 수 있습니다. 다음을 권장합니다: a. 최소 권한을 가진 가상 머신이나 컨테이너와 같은 신뢰할 수 있는 환경에서만 컴퓨터 사용을 허용 b. 엄격한 감독 없이 민감한 계정이나 데이터에 대한 컴퓨터 사용 액세스를 허용하지 않음 c. 애플리케이션에서 컴퓨터 사용 기능을 활성화하거나 필요한 권한을 요청하기 전에 관련 위험을 최종 사용자에게 알리고 동의를 받음
  8. 부적절하거나 불법적인 작업: Anthropic 서비스 약관에 따라 컴퓨터 사용을 사용하여 법률이나 Anthropic 수용 가능한 사용 정책을 위반해서는 안 됩니다.

Claude의 컴퓨터 사용 작업 및 로그를 주의 깊게 검토하고 확인하세요. 완벽한 정밀도나 민감한 사용자 정보가 필요한 작업에는 인간의 감독 없이 Claude를 사용하지 마세요.


가격

Claude Tool Use API 요청의 가격 책정 방식에 대한 자세한 설명은 도구 사용 가격 문서를 참조하세요.

컴퓨터 사용 요청은 다른 Claude API 요청과 마찬가지로 가격이 책정됩니다.

또한 컴퓨터 사용을 가능하게 하는 특수 시스템 프롬프트를 자동으로 포함합니다.

모델도구 선택시스템 프롬프트 토큰 수
Claude 3.5 Sonnet (새 버전)auto
any, tool
466 토큰
499 토큰

기본 토큰 외에도 Anthropic 정의 도구에 대해 다음과 같은 추가 입력 토큰이 필요합니다:

도구추가 입력 토큰
computer_20241022683 토큰
text_editor_20241022700 토큰
bash_20241022245 토큰