
코딩 어시스턴트 테스트: 일본어는 28% 짧아지고, 영어는 3% 길어짐
요약
코딩 어시스턴트의 답변 길이를 조절하는 프롬프팅 기술인 Genshijin과 Caveman의 효과를 테스트한 결과입니다. 일본어는 답변 길이가 짧아지는 효과가 있었으나, 영어는 오히려 길어지며 토큰 비용 측면에서 반드시 이득이 되지는 않는다는 점을 확인했습니다.
핵심 포인트
- Genshijin 사용 시 일본어 출력 길이는 약 28% 감소함
- 영어 답변은 오히려 약 3% 길어지는 경향을 보임
- 출력 토큰 감소가 반드시 전체 API 비용 절감으로 이어지지는 않음
- 프롬프팅 기술은 모델 교체가 아닌 스타일 제어 기술임
코딩 어시스턴트 테스트: 일본어는 28% 짧아지고, 영어는 3% 길어짐
결과
- 네 가지 답변 조건 하에서 일본어와 영어로 8개의 소프트웨어 엔지니어링 작업을 수행했으며, 각 조건당 3회씩 테스트했습니다.
- Genshijin은 일반적인 답변과 비교했을 때 일본어 출력 길이를 27.5% 줄였지만, 영어 출력은 2.5% 더 길게 만들었습니다.
- 제공업체가 보고한 입력(Input) 및 출력(Output) 사용량을 함께 가격으로 산정했을 때, Genshijin을 사용하면 쌍으로 된 작업당 일본어로는 중앙값 기준 $0.01016, 영어로는 $0.013105의 비용이 더 발생했습니다.
- 저의 권장 사항은 제한적입니다. 긴 일본어 설명이 필요한 경우에는 시도해 보되, 짧은 질문이나 영어 비중이 높은 작업에는 간단하고 간결한 지시어로 시작하십시오.
Codex는 OpenAI의 소프트웨어 개발 어시스턴트입니다. Genshijin은 더 짧은 답변을 요청하는 추가 지시 사항(Instruction)이며, 모델을 대체하는 것이 아닙니다. API 호출은 과금에 사용되는 작은 텍스트 단위인 토큰(Token) 단위로 입력과 출력을 계산합니다. 이 글은 일본어나 영어를 사용하면서 이러한 종류의 어시스턴트를 활용하고, 읽기 분량이나 토큰 기반 가격 책정된 사용량에 관심이 있는 개발자들을 위한 것입니다.
저는 Codex에 동일한 종류의 질문을 계속 붙여넣으며 동일한 현상이 발생하는 것을 관찰했습니다. 답변은 정확했습니다. 하지만 서문(Preamble)이 답변에 필요한 것보다 더 길었습니다. 문맥에 대한 몇 문장, 몇 개의 추가 불렛 포인트, 그리고 거의 같은 내용을 말하는 또 다른 단락이 이어졌습니다.
Genshijin은 그러한 낭비의 상당 부분을 제거할 수 있다고 말합니다. 해당 프로젝트의 README에는 이 기술이 토큰 사용량을 약 75% 절감한다고 명시되어 있습니다. 저는 그 헤드라인을 비용 절감 주장으로 곧바로 연결하고 싶지 않았기에, 동일한 작업을 192회 수행했습니다.
일본어 결과는 실제 효과가 있었으나 그 폭이 더 작았습니다. 영어 결과는 반대로 나타났습니다. 입력 사용량을 포함하면, Genshijin을 사용했을 때 두 언어 모두 API 환산 비용 중앙값이 더 낮아지지 않았습니다.
Genshijin이 실제로 바꾸는 것
Genshijin은 모델을 대체하지 않습니다. 이것은 스타일 기술(Style skill)입니다. 이 지시 사항은 모델에게 기술적인 내용은 유지하면서 일본어 경어, 완곡한 표현, 헤징(Hedging), 그리고 불필요한 조사(Particles)를 제거하도록 명령합니다.
Caveman은 영어 비교 대상입니다. 이는 또한 더 짧은 답변을 유도하기 위한 시스템 프롬프트 (System-prompt) 기술이기도 합니다. Caveman의 Honest Numbers 페이지에 따르면, 주입된 기술 규칙(skill rules)으로 인해 평균 출력량은 65% 감소하고 입력량 감소는 0%이며, 턴당 약 1,000~1,500개의 추가 입력 토큰 (input tokens)이 발생한다고 보고합니다. 또한 짧은 코딩 질문의 경우 결과적으로 손해(net-negative)가 될 수 있다고 명시합니다.
이러한 차이는 중요합니다. 하나의 기술이 답변은 더 짧게 만들면서 요청(request)은 더 크게 만들 수 있기 때문입니다. README에 기재된 75%라는 수치는 출력 동작 (output behavior)을 설명하는 것입니다. 이것이 Codex 구독 비용이 75% 감소한다는 의미는 아닙니다.
192회 실행 테스트
테스트 과제 세트는 React의 인라인 객체 속성 (inline object props), 인증 미들웨어 (authentication middleware)의 토큰 만료 경계, PostgreSQL 연결 풀 (connection-pool) 제한, rebase 대 merge, callback에서 async/await로의 변환, 모놀리스 (monolith) 대 마이크로서비스 (microservices), 작은 PR 보안 리뷰, 그리고 PostgreSQL의 분실된 업데이트 (lost-update) 경합 조건 (race condition)을 포함했습니다.
저는 동일한 의미를 가진 별도의 일본어 및 영어 네이티브 프롬프트를 작성했습니다. 그리고 다음 네 가지 조건을 비교했습니다:
| 조건 | 추가 지침 |
|---|---|
| normal | 스타일 지침 없음 |
| ... |
모든 과제와 조건은 세 번씩 실행되었습니다. 고정된 시드 (seed)를 사용하여 조건 순서를 무작위로 섞었습니다. 각 셀은 gpt-5.6-sol 모델, 낮은 추론 노력 (reasoning effort low), 그리고 읽기 전용 샌드박스 (read-only sandbox)를 사용하는 새로운 codex exec --ephemeral --json 세션을 사용했습니다. 프롬프트는 도구 사용을 금지하고 최종 답변만을 요구했습니다.
이것이 공정했을까요? 이는 벤치마크 내 비교 (within-benchmark comparison)를 위해 통제되었습니다. 즉, 모든 조건에 대해 동일한 8가지 과제의 의미, 3회의 반복, 고정된 모델 설정, 새로운 세션, 그리고 무작위화된 조건 순서가 사용되었습니다. 이것이 보편적인 추정치는 아닙니다. 8개의 과제가 모든 코딩 작업 부하를 대표할 수는 없으며, 일본어와 영어의 네이티브 프롬프트는 여전히 어구(wording) 면에서 차이가 있을 수 있습니다.
완료된 모든 턴(turn)에 대해 저는 input_tokens, cached_input_tokens, cache_write_input_tokens, output_tokens, 그리고 reasoning_output_tokens를 포함한 반환된 사용량 기록(turn.completed usage)을 저장했습니다. 192개의 셀 모두 최종 답변과 사용량(usage) 객체를 가지고 있었습니다. 도구 이벤트(tool event)로 인해 제외된 항목은 없었습니다.
저는 gpt-5.6-sol Standard 단기 컨텍스트(short-context)에 대해 현재의 OpenAI 가격 페이지를 사용했습니다: 입력 토큰 100만 개당 $5.00, 캐시된 입력(cached input) $0.50, 캐시 쓰기(cache writes) $6.25, 그리고 출력(output) $30.00입니다. 이 수치들은 API와 동일한 수준의 추정치이며, 저의 Codex 구독 청구서가 아닙니다.
출력은 일본어에서만 짧아졌습니다
중앙값(median) 출력 횟수는 다음과 같습니다:
| 언어 | normal | terse | caveman | genshijin |
|---|---|---|---|---|
| 일본어 | 708.5 | 281.5 | 636.5 | 483.5 |
| 영어 | 363.5 | 217.5 | 430.5 | 397.0 |
매칭되는 작업과 시행 간의 중앙값 차이를 의미하는 쌍체 중앙값(paired median)은, 일본어의 terse는 59.3% 더 짧았고 영어의 terse는 39.0% 더 짧았습니다. Genshijin은 일본어를 27.5% 감소시켰지만, 영어 출력은 2.5% 증가시켰습니다. Caveman은 일본어를 13.5% 감소시켰고 영어 출력은 26.1% 증가시켰습니다.
이것이 간결함 제어(concise control)가 중요한 이유입니다. 일본어에서는 간결하게 작성하라는 단순한 지시가 출력 길이 면에서 Genshijin을 이겼습니다. 영어에서는 이 작업 세트에서 어떤 기술도 normal 중앙값을 넘어서지 못했습니다.
이 테스트는 왜 언어 간에 차이가 발생했는지 증명할 수는 없습니다. 한 가지 그럴듯한 설명은 Genshijin이 일본어의 경어(honorifics), 완곡어법(cushioning), 그리고 중복되는 조사(redundant particles)를 명시적으로 타겟팅하는 반면, 영어는 제거해야 할 그러한 패턴이 더 적다는 것입니다. 이 설계가 프롬프트 어구(prompt wording)로부터 언어 특유의 스타일 효과를 분리해내지 못했기 때문에, 이는 여전히 가설로 남아 있습니다.
두 가지 직접적인 답변
왜 일본어는 짧아진 반면 영어는 길어졌을까요? 그 답은 인과적 발견이 아닌 하나의 가설입니다. Genshijin은 일본어의 경어(honorifics)와 완곡어법(cushioning)을 명시적으로 타겟팅하는 반면, 영어는 제거할 수 있는 그러한 패턴이 적습니다. 측정된 결과는 해당 설명과 일치하지만, 이 테스트가 그 메커니즘을 분리해낸 것은 아닙니다.
기술적 정확성과 중요한 경고가 보존되었을까요? 192개 셀 전체에 대해 알 수는 없습니다. 저는 두 개의 대표적인 출력물에서 rebase 경고와 만료(expiry) 비교를 시각적으로 확인했을 뿐, 모든 답변의 정확성을 점수화하지는 않았습니다.
대표 사례는 기계적으로 선택되었습니다
가장 보기 좋은 전후 사례를 고르는 것은 쉬우면서도 오해의 소지가 있습니다. 저는 감소 폭이 언어 중앙값(median)에 가장 가까웠던 Genshijin 실험을 선택했습니다.
일본어의 경우, 선택된 작업은 rebase 대 merge였으며, 실험 1번이었습니다. 일반적인 답변은 531개의 출력 토큰(output tokens)을 사용했습니다. Genshijin은 375개를 사용하여 29.4% 감소했습니다.
일반적인 답변은 공유 브랜치에는 merge를 사용해야 하고, 개인 브랜치에는 rebase를 사용할 수 있으며, --force-with-lease가 --force보다 안전하다는 점을 설명했습니다. Genshijin은 동일한 결정과 경고를 더 적은 단어로 유지했습니다. 승리는 중요한 주의 사항을 제거한 것이 아니라 압축(compression)을 통해 이루어졌습니다.
영어의 경우, 선택된 작업은 토큰 만료 경계 버그(token-expiry boundary bug)였으며, 실험 3번이었습니다. 일반적인 답변은 99개의 토큰을 사용했고 Genshijin은 100개를 사용했습니다. 둘 다 now >= expiresAt를 보여주었으며, Genshijin은 토큰 한 개 분량의 설명을 추가했습니다.
이 사례가 Genshijin이 항상 영어를 확장한다는 것을 증명하지는 않습니다. 이는 단순히 측정된 영어 중앙값에 가장 가까운 셀일 뿐입니다. 모든 출력물과 선택 근거는 실행 아티팩트(run artifact)에 저장되어 있습니다.
입력 사용량에 따라 판결이 달라집니다
일본어 출력은 짧아졌지만, 결합된 사용량 추정치는 더 저렴해지지 않았습니다.
| 언어 | 조건 | 중앙값 입력 토큰 (Median input tokens) | 중앙값 API 환산 비용 (Median API-equivalent cost) |
|---|---|---|---|
| Japanese | normal | 24,230 | $0.05599 |
| ... |
쌍체 중앙값 비용 차이(paired median cost difference)는 일본어의 경우 +$0.01016, 영어의 경우 +$0.013105였습니다. 이는 쌍체 통계(paired statistic)이므로, 반올림된 표의 중앙값을 단순히 뺀 값과 일치하지 않습니다.
캐시되지 않은(uncached) 추가 입력의 중앙값은 일본어 2,875.5 토큰, 영어 2,609 토큰이었습니다. 출력 토큰 100만 개당 $30를 기준으로 할 때, 캐시되지 않은 입력 계산 방식 하에서 손익분기점(break even)을 맞추려면 일본어는 약 479개, 영어는 약 435개의 출력 토큰을 절약해야 합니다. 측정된 출력 절약량은 일본어 196.5 토큰이었으며, 영어는 -9 토큰이었습니다.
캐시된 입력(cached input)이 항상 0이라고 가정하지는 않았습니다. 제공업체가 보고한 캐시 분할(cache split)은 일시적인 세션(ephemeral sessions)에 따라 달라졌습니다. 이 때문에 "이 기능은 항상 정확히 1,200 토큰을 추가한다"와 같은 고정된 주장은 여기서 정당화될 수 없습니다. 방어 가능한 주장은 더 좁은 범위로 한정됩니다: 이러한 조건 하에서, 절약된 출력은 기록된 사용량과 가격을 상쇄하지 못했으며, 쌍체 비용(paired cost)은 상승했습니다.
테스트가 품질에 대해 말해주는 것
192개의 모든 출력물은 비어 있지 않았고, 언어 신호(language signal)를 포함하고 있었으며, 모델이 도구(tool)를 실행했다는 결정론적 마커(deterministic marker)를 피했습니다. 이는 아티팩트 체크(artifact checks)이지, 맹목적인 품질 통과(blind quality pass)는 아닙니다.
선택된 예시들은 리베이스(rebase) 답변의 위험한 부분과 토큰 만료를 위한 올바른 비교 연산자를 보존했습니다. 이는 저장된 출력물로부터 얻은 관찰 결과이지, 100% 기술적 정확성에 대한 증거는 아닙니다. 완전한 품질 주장을 위해서는 조건 이름을 숨기고 정확성, 완전성, 코드 보존, 안전성 및 가독성을 평가하는 독립적인 판정관(independent judge)이 필요합니다. 토큰 수로는 그러한 판정관을 대신할 수 없습니다.
따라서 192개 셀 전체에서 기술적 정확성과 경고가 보존되었다고 결론 내릴 수는 없습니다. 증거는 오직 이 두 가지 대표적인 체크 항목만을 뒷받침합니다.
누가 사용해야 하는가
저는 긴 일본어 디자인 설명, 코드 리뷰, 리서치 노트 작성에 Genshijin을 사용해 볼 것입니다. 실제로 일본어 출력을 더 짧게 만들었고, 그 규칙은 일본어 모델 답변이 종종 포함하는 패딩(padding)의 종류를 겨냥합니다.
기본적으로 이것을 비용 절감이라고 부르지는 않겠습니다. 이 gpt-5.6-sol API 등가 계산에서는 두 언어 모두에서 중앙값 비용이 증가했습니다.
짧은 질문에는 '간결하게 답변해 주세요(Answer concisely).'로 시작하세요. 이 간결한 조건은 일본어 출력을 281.5 토큰, 영어 출력을 217.5 토큰으로 줄였고, 이에 따른 비용도 두 언어 모두에서 감소했습니다. 또한 요청에 들어가는 장치(machinery)가 적습니다.
영어 비중이 높은 작업의 경우, 일본어 결과를 가정하고 가져오지 마세요. Genshijin은 이 8가지 작업 세트에서 영어 출력을 2.5% 증가시켰고, Caveman은 이를 26.1% 증가시켰습니다. 사용자의 언어 혼합 비율, 프롬프트 길이, 캐시 상태가 중요합니다.
구독을 사용하는 경우, API 등가 비용 추정치가 월별 청구서 할인이랑 같지는 않습니다. 저는 여기서 읽는 시간을 측정하지 않았으므로, 그 잠재적 이점은 토큰 가격 절감과 별개로 유지하겠습니다.
제 평가 (My verdict)
README에 언급된 약 75% 수치는 보편적인 Codex 할인율이 아닙니다. 이 192회 실행 테스트에서 Genshijin은 일본어 출력을 27.5% 줄였고, 영어 출력은 2.5% 늘렸으며, 두 언어 모두에서 쌍을 이루는 API 등가 비용을 증가시켰습니다.
긴 일본어 답변에 선택적으로 사용하고, 실제로 수행하는 작업을 측정하세요. 짧은 질문, 영어 중심 세션 또는 토큰 기반 호출의 경우, 먼저 간단한 간결 지침(concise instruction)을 시도해 보세요. 지루하지만 유용한 결론은 이것입니다: 기술을 추가하기 전에 측정하세요.
출처 (Sources)
출처 (Sources)
- Genshijin repository
- Genshijin benchmark harness
- Caveman Honest Numbers
- OpenAI API pricing
- Zenn article introducing genshijin
측정 노트의 프로젝트 홈은 https://aniccaai.com/입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기

