내 코딩 어시스턴트가 중국어를 입력했을 때 한국어로 답변한 이유

발행: (2026년 5월 15일 PM 10:30 GMT+9)
8 분 소요

출처: Towards Data Science

주로 코딩 어시스턴트와 중국어로 작업합니다. 하지만 엔지니어링 용어는 영어가 더 익숙하고(특히 파이썬, git 등에서 쓰는 용어) 중국어로 자연스럽게 번역하기 어려운 경우가 많습니다.

어제 나는 코딩 어시스턴트에게 중국어로 물었습니다.

“run.py有早停吗?我在恒源云上跑,发现没有触发”

즉, “run.py에 조기 종료가 구현돼 있나요? 공유 GPU 서비스에서 실행했는데 조기 종료가 트리거되지 않았어요.” 라는 뜻입니다. 평소처럼 기술 토큰인 run.py는 원래 영어 형태로 입력했습니다. 모델은 코드를 살펴보고 다음과 같이 답했습니다.


이미지 출처: 저자 – 코딩 어시스턴트가 한국어로 답변하는 스크린샷

모든 기술 토큰은 영어 그대로(run.py, config.py, train_unified)였지만, 설명 부분은 한국어로 전환되었습니다. 이는 특수한 경우가 아닙니다. 중국어와 영어 엔지니어링 용어를 섞을 때마다 한국어가 나타났습니다.


이미지 출처: 저자 – 또 다른 한국어 답변 스크린샷

이 현상이 언어적인 문제인지, 아니면 임베딩 공간의 더 깊은 구조 때문인지 궁금해졌습니다.

가설

임베딩 공간은 언어 자체보다는 작업 레지스터(예: 학술 글쓰기, 대화 텍스트, 코딩 어시스턴트의 경우 엔지니어링/코드)로 구조화됩니다. 세계 인구가 가장 많은 중국어는 엔지니어링 레지스터에 적합한 매체가 아니며, 기술 코퍼스에서도 표현이 제한적입니다.

이러한 상황에서는 review / branch / commit / PR / diff 같은 엔지니어링 토큰이 등장하자마자 텍스트가 “중국어” 특성을 잃고 엔지니어링 어트랙터 필드로 이동할 수 있습니다.

이를 검증하기 위해 실험을 진행합니다.

제어된 언어 드리프트

다음과 같이 영어 단어가 점차 중국어를 대체하는 제어된 문장 시퀀스를 구성했습니다.

  • Stage 0: 请帮我检查这个分支
  • Stage 1: 请帮我 review 这个分支
  • Stage 2: 请帮我 review 这个 branch
  • Stage 3: Please review this branch pull request commit
  • Stage 4: Please review this branch pull request commit code diff

각 문장의 임베딩을 구하고 코사인 유사도로 비교했습니다. 한국어와 영어 “클러스터”는 각각 대표적인 엔지니어링 관련 문장들의 평균 임베딩으로 정의했습니다. Δ(EN − KO)는 영어 유사도와 한국어 유사도 차이를 의미합니다.

StageKorean similarityEnglish similarityΔ (EN − KO)
00.47830.51410.0358
10.52350.57280.0492
20.54740.61400.0665
30.56160.73140.1698
40.54270.73980.1972

흥미로운 현상이 관찰되었습니다. 한국어 유사도가 먼저 상승하고 이후 영어 유사도가 이를 앞지렀습니다. 특히 영어 유사도의 성장 곡선이 비선형적이라, 점진적인 드리프트라기보다 위상 전이와 유사한 행동을 보였습니다.

PCA로 2차원에 투영한 결과, 초기 단계에서는 부드러운 궤적을 그리다가 Stage 2와 Stage 3 사이에서 급격한 방향 전환이 일어나고 이후 안정화되었습니다. 이는 임베딩이 선형적으로 이동하지 않고, 서로 다른 어트랙터 베이슨 사이를 전이한다는 것을 시사합니다.


이미지 출처: 저자 – PCA 공간에서의 제어된 드리프트 궤적

실제 모델 동작

앞서 소개한 문장을 다시 살펴보겠습니다.

A. “run.py有早停吗?我在恒源云上跑,发现没有触发”
 → “run.py에 조기 종료가 있나요? 공유 GPU 서비스에서 실행했는데 트리거되지 않았어요.”

B. “원인을 찾았습니다. 결론: run.py에는 실제로 조기 종료가 없습니다. config.py에 USE_EARLY_STOPPING = True” (한국어)

이를 다시 중국어로 번역하면:

C. “我找到了原因。结论:run.py实际上没有早停。config.py里有 USE_EARLY_STOPPING = True。”

각 문장의 임베딩 유사도를 코사인 유사도로 계산했습니다. 비교를 위해 세 개의 기준 클러스터를 정의했습니다: 일반 중국어 문장의 평균 임베딩(중국어 클러스터), 그리고 대응하는 영어·한국어 클러스터.

텍스트한국어 유사도영어 유사도중국어 유사도
A. (중국어 프롬프트)0.20030.26880.3134
B. (한국어 응답)0.27450.29830.1641
C. (번역된 중국어)0.16340.31060.2798

보시다시피, 한국어 응답을 다시 중국어로 번역해도 임베딩이 중국어 영역으로 돌아가지 않고, 오히려 영어 클러스터에 더 가깝게 이동합니다.

이는 번역이 언어 형태는 복원할 수 있어도 임베딩 위치는 회복하지 못한다는 점을 시사합니다.

결론

두 실험 모두 동일한 결론을 내립니다. 임베딩 공간은 언어 경계에 의해 조직되지 않으며, 작업 성격(특히 엔지니어링 영어)에 의해 구조화됩니다. 문장이 해당 영역에 들어가면 언어 형태가 바뀔 수 있지만, 임베딩 구조는 엔지니어링 베이슨에 머무르게 됩니다. 따라서 한국어

0 조회
Back to Blog

관련 글

더 보기 »