Gemini 4 Argon을 OpenCode에 연결하기: 설정과 현재 제한
OpenCode의 네이티브 Google 프로바이더로 Gemini 4 Argon을 설정합니다. 검증 버전과 서명된 기록 처리, 이어서 생성의 미해결 제한을 설명합니다.
Markdown으로 읽기Gemini 4 Argon은 OpenCode의 네이티브 Google 프로바이더를 통해 설정할 수 있습니다. 확인해야 할 부분은 첫 답변이 나온 뒤의 동작입니다. 클라이언트가 서명된 파트를 보존하고, 도구 결과를 올바르게 반환하며, 이어서 생성 응답을 인식할까요? OpenCode v1.19.0을 오프라인에서 확인한 결과, 텍스트와 도구 메시지는 처리했지만 긴 출력의 이어서 생성과 스트림 중단 처리에는 미흡한 부분이 있었습니다.
이 가이드는 시작용 설정과 검증 결과가 뒷받침하는 범위를 정확히 설명합니다. SeedRouter와 완전히 연동된 코딩 에이전트가 실제 요청으로 검증되었다는 뜻은 아닙니다. 턴마다 직접 한 번씩 요청을 보내는 더 간단한 클라이언트가 필요하다면 Python 대화 튜토리얼을 사용하세요.
OpenCode에서 Gemini 4 Argon 설정하기
opencode --version으로 설치된 버전을 확인하세요. 아래 결과는 2026년 10월 14일에 테스트한 공개 빌드 v1.19.0에 해당합니다. 더 새로운 빌드는 별도 검증이 필요합니다. 개발 브랜치에 기능이 있다는 사실만으로 설치된 릴리스가 이를 지원한다고 볼 수는 없습니다.[1]
첫 확인에는 빈 프로젝트 디렉터리를 만들고 OpenCode 설정 파일을 그 안에 내려받으세요. 연결 설정 부분은 다음과 같습니다.
{
"provider": {
"google": {
"npm": "@ai-sdk/google",
"options": {
"apiKey": "{env:SEEDROUTER_API_KEY}",
"baseURL": "https://api.seedrouter.ai/v1beta"
},
"models": {
"gemini-4-argon": {
"name": "Gemini 4 Argon",
"reasoning": true,
"tool_call": true,
"limit": { "context": 1048576, "output": 4096 },
"options": {
"thinkingConfig": { "thinkingLevel": "low", "includeThoughts": true }
}
}
}
}
}
}OpenCode는 설정 파일의 환경 변수 치환을 지원합니다.[2] 셸에서 SEEDROUTER_API_KEY를 설정하고 그 값을 프로젝트에 커밋하지 마세요. 내려받은 파일은 google/gemini-4-argon을 선택하고 공유와 자동 업데이트를 끄며, read 도구만 허용합니다. 기존 저장소에서 사용하기 전에 이 권한을 검토하세요. reasoning과 tool_call 플래그는 클라이언트의 동작을 나타내며, 특정 계정이나 서비스가 모든 작업을 지원한다는 증거는 아닙니다.
출력 값 4096은 이 설정에서 의도적으로 정한 초기 예산이며, Argon의 공식 최댓값이 아닙니다. 사고도 이 예산을 사용합니다. 컨텍스트, 출력, 이어서 생성 규칙은 API 참조 문서를 확인하세요.
짧은 요청 하나로 시작하기
설정과 현재 요금을 검토한 뒤 다음을 실행합니다.
OPENCODE_CONFIG="$PWD/gemini-4-argon-opencode.json" \
OPENCODE_DISABLE_MODELS_FETCH=1 \
OPENCODE_DISABLE_AUTOCOMPACT=1 \
opencode run --model google/gemini-4-argon \
"Explain a mutex in one sentence. Do not use tools."자신의 키로 실행하면 실제 모델 요청이 발생합니다. OpenCode는 실패 시 재시도하거나 에이전트 실행 중 추가 요청을 보낼 수 있습니다. 이 명령이 비용을 호출 1회분으로 제한해 준다고 보장할 수는 없습니다. 답변이 미완성이거나 요청이 반복되면 프로세스를 중지하세요. 엄격하게 수동 제어하려면 Python 예제를 대신 사용하세요.
네이티브 요청 경로는 gemini-4-argon:streamGenerateContent?alt=sse로 끝나야 합니다. 테스트한 빌드에서 Google 프로바이더는 x-goog-api-key에 인증 정보를 담아 전송했습니다. 이는 일반 API 튜토리얼에서 Bearer 헤더를 쓰는 cURL 예제와 다릅니다. 범용 OpenAI 프로바이더를 선택해도 같은 네이티브 요청이 만들어지지는 않습니다.
오프라인 검사로 확인한 내용
테스트에는 배포된 CLI, 로컬 모의 API, 더미 인증 정보를 사용했습니다. 8개 시나리오에서 총 17회의 루프백 요청을 보냈습니다. 모델이 응답을 생성하지 않았으며, 보고된 토큰 값도 인위적으로 설정한 것입니다. 이 관찰 결과는 클라이언트 동작을 설명하며, 모델 품질이나 실제 과금을 보여 주는 것은 아닙니다.
| 시나리오 | v1.19.0에서 관찰한 동작 |
|---|---|
| 네이티브 텍스트 스트림 | 분리된 텍스트 이벤트를 합쳐 예상한 답변 구성 |
| 대화의 두 번째 턴 | 테스트에 사용한 사고 서명과 텍스트 서명을 모델 파트에 보존 |
| 읽기 도구 호출 및 결과 반환 | 임시 테스트 파일을 읽고 내용을 functionResponse로 반환 |
MAX_TOKENS | 해당 테스트에서 추가 요청 없이 길이 제한으로 중지되었음을 보고 |
| HTTP 400 | 해당 테스트에서 재시도 없이 오류와 함께 종료 |
| HTTP 429 | 다음 모의 응답이 성공하는 조건에서 1회 재시도 |
테스트는 thinkingConfig가 전송되었음을 확인합니다. 실제 서비스가 이 설정을 반영했는지는 입증하지 못합니다. 마찬가지로 합성 서명을 기록을 통해 전달했다는 사실만으로 실제 서명이 후속 요청에서 받아들여진다고 볼 수는 없습니다.
긴 출력에 추가 확인이 필요한 이유
Argon의 CONTINUATION 응답에는 원래 요청과 함께 최상위 continuationToken의 최신 값이 필요합니다. 해당 생성을 재개할 때 부분 출력을 일반 대화 기록에 추가해서는 안 됩니다.[3]
이번 모의 테스트에서 OpenCode v1.19.0은 CONTINUATION을 알 수 없는 값으로 분류했습니다. 다음 요청은 토큰을 빠뜨리고 부분 답변을 기록에 추가했습니다. 일부 출력 후 종료 이벤트 없이 스트림이 끝난 경우에도 클라이언트는 일반 요청을 추가로 보냈습니다. 모의 서비스는 6회 호출 후 해당 시나리오를 중단했습니다. 6회가 클라이언트의 재시도 한도로 확인된 것은 아닙니다.
따라서 이 설정은 Argon에서 긴 출력을 이어서 생성하는 검증된 해결책이 아닙니다. 짧은 답변을 성공적으로 받았다고 해서 이런 문제가 해결되는 것은 아닙니다. 긴 코딩 작업에 사용하기 전에 실제로 사용할 클라이언트와 동일한 버전으로 관련 검사를 반복하세요.
OpenCode 설정 관련 질문
실제 도구 사용과 과금 검증도 포함되어 있나요?
아닙니다. SeedRouter의 기본 텍스트 스트리밍에는 별도의 로컬 종단 간 검증 통과 결과가 있지만, 이번 OpenCode 검사는 모의 응답을 사용했습니다. 실제 도구 선택, 서명, 미디어, 계정 권한, 과금은 각각 별도 확인이 필요합니다.
OpenAI 호환 설정을 대신 사용해도 되나요?
그 경우에는 프로토콜과 호환 범위가 달라집니다. 이 가이드는 네이티브 Gemini 콘텐츠와 서명을 확인합니다. Google의 긴 출력 문서는 이 기능의 지원 대상에서 OpenAI 호환 엔드포인트를 제외합니다.[3]
컨텍스트 자동 압축을 끄면 재시도도 중지되나요?
아닙니다. 압축과 요청 재시도는 별개의 동작입니다. 예제의 환경 변수 옵션만으로는 요청 횟수나 비용의 상한이 보장되지 않습니다.
다음에 검증할 항목 정하기
OpenCode에서 Gemini 4 Argon을 사용할 때는 짧은 텍스트 대화로 시작한 뒤, 작업에 필요한 구체적인 도구와 기록 동작을 검증하세요. 이어서 생성과 스트림 중단은 별도의 인수 테스트 사례로 다루세요. 클라이언트 설정과 함께 모델 페이지와 네이티브 API 참조 문서를 참고할 수 있도록 준비하면 프로토콜 세부 사항과 현재 요금을 쉽게 확인할 수 있습니다.
출처
[1] OpenCode v1.19.0 릴리스와 프로바이더 구현.
[2] OpenCode 설정: 환경 변수.



