# 메세지 토큰 수 계산

## UI 소개

{% tabs %}
{% tab title="데이터플로우" %}

<figure><img src="https://1362923181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5PH5ktGI0BWG6g9fvtcn%2Fuploads%2F0PTiWG7v531y1oOzOwpu%2FScreenshot%200007-01-24%20at%203.35.11%E2%80%AFPM.png?alt=media&#x26;token=3169aa5d-e6d3-406e-b134-ca0825a6ec29" alt="" width="485"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

<table><thead><tr><th width="173" align="center">항목명</th><th width="288" align="center">항목소개</th><th align="center">비고</th></tr></thead><tbody><tr><td align="center">사용 모델 선택 </td><td align="center">메세지를 생성할 모델 선택</td><td align="center">지원모델 확인 <a href="https://docs.anthropic.com/en/docs/about-claude/models">[공식문서]</a></td></tr><tr><td align="center">메세지 내용 입력</td><td align="center">메세지 대화 내용</td><td align="center">상세내역 하단 참조</td></tr><tr><td align="center">시스템 프롬프트</td><td align="center">모델의 역할 지정 (선택)</td><td align="center"></td></tr><tr><td align="center">사용자 지정 도구 설정</td><td align="center">프롬프트 명령에 제공할 수 있는 도구 정의 (선택)</td><td align="center">상세내역 하단 참조</td></tr><tr><td align="center">사용할 사용자 지정 도구 지정</td><td align="center">도구 사용 방식 지정 (선택)</td><td align="center">상세내역 하단 참조</td></tr></tbody></table>

## 메세지 내용 구성

메세지 내용은 메세지의 배열 형태로 구성되어 있으며 메세지의 구조는 다음과 같습니다.

<table><thead><tr><th width="173" align="center">항목명</th><th width="288" align="center">항목소개</th><th align="center">비고</th></tr></thead><tbody><tr><td align="center">content</td><td align="center">메세지 내용</td><td align="center"></td></tr><tr><td align="center">role</td><td align="center">메세지의 주체 또는 역할</td><td align="center"><ul><li>user: 사용자가 AI에게 보내는 메시지나 질문을 나타냅니다. 이는 AI가 응답해야 할 실제 입력 내용입니다.</li><li>assistant: AI 모델이 생성한 응답을 나타냅니다. 이는 user의 입력에 대한 AI의 답변입니다.</li></ul></td></tr></tbody></table>

### 메세지 내용 예시

```
[
  { 
    "role": "user",              // 사용자의 질문 
    "content": "안녕하세요"
  },
  {
    "role": "assistant",         // AI의 응답 예시
    "content": "반갑습니다 무엇을 도와드릴까요?"
  },
  {
    "role": "user", 
    "content": "자동화 워크플로우에 대한 설명을 영어로 설명해줄래요?"
  },
]
```

## 도구 지정 및 선택

### 도구 지정

<table><thead><tr><th width="173" align="center">항목명</th><th width="288" align="center">항목소개</th><th align="center">비고</th></tr></thead><tbody><tr><td align="center">name</td><td align="center">도구명 지정</td><td align="center"></td></tr><tr><td align="center">description</td><td align="center">도구에 대한 설명 (선택)</td><td align="center"></td></tr><tr><td align="center">input_schema</td><td align="center">JSON 형태로 구성되며 모델에서는 tool_use 컨텐츠 블록을 통해 반환</td><td align="center"></td></tr></tbody></table>

### 도구 지정 예시&#x20;

```
[
  {
    "name": "날씨 예보",  // 도구명
    "description": "특정 지역에 대해 날씨 예보를 알려줌", // 도구 설명 
    "input_schema": {   // 스키마 지정
      "type": "object",
      "properties": {
        "city": {
          "type": "string",        // 속성 데이터형태 
          "description": "도시 이름" // 속성 설명 
        },
        "days": {
          "type": "number",
          "description": "예보 일수"
        }
      },
      "required": ["city"]        // 필수 속성 이름 
    }
  }
]
```

### 도구 선택&#x20;

모델이 제공된 도구들을 어떻게 사용할지 결정하는 파라미터입니다.

<table><thead><tr><th width="173" align="center">항목명</th><th width="288" align="center">항목소개</th><th align="center">비고</th></tr></thead><tbody><tr><td align="center">auto</td><td align="center">모델이 상황에 맞게 자동 선택</td><td align="center"></td></tr><tr><td align="center">any</td><td align="center">제공된 도구 중 자유롭게 선택</td><td align="center"></td></tr><tr><td align="center">tool</td><td align="center">특정 도구만 사용하도록 강제</td><td align="center"></td></tr></tbody></table>

### 도구 선택 예시&#x20;

```
// auto 또는 any 선택시 
{
   "type": "auto" // 또는 any 
}

// 특정 도구만 사용하려면 
// 도구 지정에서 get_stock_price 란 도구를 지정했을 때 
{
  "type": "tool",
  "tool": {
    "name": "get_stock_price" // get_stock_price 도구만 사용
  }
}
```

## 실행 결과

| 데이터 값         | 데이터 내용      |
| ------------- | ----------- |
| input\_tokens | 메세지 요청 토큰 수 |
