예제는 엔드포인트
https://api.apiyi.com와 귀하의 APIYI 토큰을 사용합니다. 참조되는 모델: gpt-5.4-mini, deepseek-v4-pro, gemini-3.5-flash, claude-sonnet-4-6.핵심 원칙: 히스토리를 직접 유지
한 문장으로 요약됩니다: 모델은 상태를 가지지 않으며, 여러분(클라이언트)이 히스토리를 유지하고 매 턴마다 그 전체를 다시 전송합니다.OpenAI 호환 모드(모델 전반에서 작동)
가장 범용적인 접근 방식은 엔드포인트/v1/chat/completions입니다. 기록은 messages 배열에 저장되며, 각 항목에는 role(system / user / assistant)가 포함됩니다. model 문자열을 바꾸면 같은 코드로 다른 모델을 구동할 수 있습니다(gpt, deepseek, claude, gemini…).
추론 모델의 기록 처리
deepseek-v4-pro 같은 추론 모델은 추가 reasoning_content(사고의 흐름) 필드를 반환합니다.
추론 모델 응답 파싱에 대한 자세한 내용은 추론 모델 출력를 참조하십시오.
OpenAI 네이티브 형식 (Responses API)
엔드포인트/v1/responses. 멀티턴의 경우, 전체 기록을 input 배열로 전달합니다(각 항목에 role / content 포함) — 호환 모드와 동일한 자체 관리 방식입니다:
Gemini 네이티브 형식
엔드포인트/v1beta/models/{model}:generateContent. 기록은 contents 배열에 있습니다. 역할은 user / model입니다(assistant가 아니며), 각 항목의 content는 parts에 들어갑니다.
Gemini 3 시리즈 응답은 각 부분에
thoughtSignature를 부착합니다. 일반 텍스트 멀티턴에서는 text만 다시 전달해도 컨텍스트를 유지하기에 충분하며(토큰도 더 적게 듭니다); function calling처럼 엄격한 추론 연속성이 필요한 경우에만 thoughtSignature를 원문 그대로 되돌려 보내야 합니다 — 공식 SDK가 이를 자동으로 처리합니다. Gemini Native Calls 및 함수 호출을 참조하십시오.Anthropic 네이티브 형식
엔드포인트/v1/messages. 히스토리는 역할이 user / assistant인 messages 배열에 있습니다. content는 일반 문자열일 수 있습니다. 참고로 max_tokens는 필수입니다.
네 가지 형식 비교
자주 묻는 질문
대화가 길어질수록 비용이 더 많이 들까요?
대화가 길어질수록 비용이 더 많이 들까요?
몇 턴까지 유지해야 합니까? 컨텍스트 윈도우를 초과하면 어떻게 됩니까?
몇 턴까지 유지해야 합니까? 컨텍스트 윈도우를 초과하면 어떻게 됩니까?
정해진 규칙은 없지만, 이력이 길수록 비용이 더 많이 들고 모델의 컨텍스트 윈도우를 초과할 수 있습니다. 일반적인 전략은 다음과 같습니다. (1) 슬라이딩 윈도우 — 최근 N턴만 유지합니다. (2) 요약 압축 — 이전 턴을 시스템 prompt의 한 단락으로 압축합니다. (3) 시스템 지시문과 가장 최근 턴은 항상 유지합니다. 사용 사례에 필요한 “메모리” 양과 균형을 맞추십시오.
시스템 / 시스템 지시문은 어디에 넣습니까?
시스템 / 시스템 지시문은 어디에 넣습니까?
OpenAI 호환 및 Anthropic에서는 대화의 앞부분에 넣습니다(호환 방식은
role:"system"를 사용하고, Anthropic은 최상위 system 필드 또는 첫 번째 메시지를 사용합니다). Gemini에서는 config.system_instruction를 사용하십시오. 시스템 지시문은 한 번만 설정하면 되므로 매 턴 다시 추가할 필요가 없습니다.추론 모델의 thinking (reasoning_content)을 다시 전달해야 합니까?
추론 모델의 thinking (reasoning_content)을 다시 전달해야 합니까?
아니오. thinking은 한 턴의 중간 산출물입니다. 이력에는 최종
content만 보관하십시오(Gemini의 경우 text만 보관합니다). thinking을 다시 전달하면 tokens를 낭비하고 일부 상위 시스템에서는 이를 거부합니다. function-calling에서의 Gemini thoughtSignature는 예외이며, 공식 SDK가 자동으로 처리합니다.서버가 대화를 기억해서 이력을 다시 전송하지 않아도 됩니까?
서버가 대화를 기억해서 이력을 다시 전송하지 않아도 됩니까?
APIYI에서는 이것이 권장되지 않습니다. OpenAI Responses의
previous_response_id는 게이트웨이를 통해 동작한다고 보장되지 않습니다(테스트 결과: 메모리 없음). 모든 곳에서 클라이언트 측 자체 관리 이력을 사용하십시오. 이것이 모든 모델에서 가장 안정적이고 일관적입니다.관련 링크
- 호출 기본: OpenAI 호환 모드 · OpenAI 네이티브 호출 · Gemini 네이티브 호출 · Claude API 기본
- 응답 파싱: OpenAI 응답 처리 · 추론 모델 출력 · Claude 스트리밍 및 응답 · Gemini 스트리밍 및 응답
- 모델 및 요금: 모델 및 요금 개요
- token 가져오기 / 관리:
https://api.apiyi.com/token