Source: https://aiprimetech.io/ko/docs/getting-started/first-request/ [홈](/ko/) / [문서](/ko/docs/) / 첫 요청 설명 # 첫 요청 설명 Messages 호출 하나를 줄별로 살펴보며 각 필드의 역할과 반환되는 내용을 설명합니다. 페이지 복사 [ Markdown으로 보기](/ko/docs/getting-started/first-request.md) [ ChatGPT에 질문](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/getting-started/first-request.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ Claude에서 질문](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/getting-started/first-request.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) 빠른 시작을 따라 하면 응답을 받을 수 있습니다. 이 페이지에서는 각 부분의 의미를 설명하므로, 다음 요청은 직접 작성할 수 있습니다. ## 요청 ``` Copycurl https://aiprimetech.io/v1/messages \ -H "x-api-key: $CLAUDEAPIKEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-sonnet-4-6", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}] }' ``` | 항목 | 필수 여부 | 역할 | model | 예 | 실행할 모델입니다. 다음에 있는 ID와 일치해야 합니다: /v1/models 정확히 일치해야 합니다. | max_tokens | 예 | 다음에 적용되는 엄격한 상한: 출력. 모델은 문장 중간이라도 이 한도에 도달하면 멈춥니다. 이는 목표치가 아니라 비용 제어 수단입니다. | messages | 예 | 지금까지의 대화이며, 오래된 항목부터 정렬됩니다. 각 항목에는 다음이 있습니다: role (user 또는 assistant) 및 content. | system | 아니요 | 전체 대화에 적용되는 지침입니다. 다음을 포함하는 메시지가 아니라 최상위 필드입니다: role: system. | temperature | 아니요 | 0–1. 값이 낮을수록 결과가 더 결정적입니다. 특별한 이유가 없다면 설정하지 마세요. | stream | 아니요 | true 은 단일 JSON 본문 대신 서버 전송 이벤트를 반환합니다. 다음을 참조하세요: [스트리밍](/ko/docs/api-reference/streaming/). ## 응답 ``` Copy{ "id": "msg_01ABC...", "type": "message", "role": "assistant", "model": "claude-sonnet-4-6", "content": [{"type": "text", "text": "Hello! How can I help?"}], "stop_reason": "end_turn", "usage": {"input_tokens": 9, "output_tokens": 12} } ``` - content 은 배열입니다, 문자열이 아닙니다. 텍스트는 다음 위치에 있습니다: content[0].text. 이를 문자열로 취급하는 것이 가장 흔한 클라이언트 버그입니다. - stop_reason 은 생성이 종료된 이유를 알려줍니다: end_turn (완료), max_tokens (설정한 상한에 도달하여 응답이 잘림), stop_sequence, 또는 tool_use. - usage 은 요금 청구의 기준입니다. 로그에 기록하세요. 비용을 귀속하는 데 신뢰할 수 있는 유일한 기준입니다. 만약 stop_reason 은 max_tokens, 응답이 잘린 것입니다. 다음 값을 높이세요: max_tokens 또는 더 짧은 응답을 요청하세요. 무작정 재시도하지 마세요. 잘린 출력에도 요금이 부과됩니다. ## 여러 턴의 대화 API는 상태를 저장하지 않습니다. 대화를 이어가려면 모델의 이전 응답을 포함한 전체 기록을 다시 전송해야 합니다: ``` Copy{ "model": "claude-sonnet-4-6", "max_tokens": 1024, "messages": [ {"role": "user", "content": "What is the capital of France?"}, {"role": "assistant", "content": "Paris."}, {"role": "user", "content": "And its population?"} ] } ``` 매 턴마다 기록을 다시 전송하므로 대화가 길어질수록 입력 토큰과 요금이 함께 늘어납니다. 긴 에이전트 세션의 비용이 커지는 이유입니다. [프롬프트 캐싱](/ko/docs/guides/prompt-caching/) 및 [컨텍스트 관리](/ko/docs/guides/context-management/) 둘 다 이 문제를 직접 해결합니다. [Messages API전체 필드 참조](/ko/docs/api-reference/messages/)[스트리밍토큰 단위 응답](/ko/docs/api-reference/streaming/)[Python SDKPython에서 동일한 호출 실행하기](/ko/docs/sdks/python/) [이전기본 URL](/ko/docs/getting-started/base-urls/)[다음API 개요](/ko/docs/api-reference/overview/)