← ~/blog
2026. 03. 22. Creative Engine

한국어 도메인에 LLM을 맞춘다는 것

한국어 식문화 도메인에 LLM을 붙이는 일의 병목은 모델 선택이 아니라 코퍼스 품질이었다. 레시피 데이터를 정제·태깅·검증하고, LLM의 역할을 생성자에서 판단자로 옮긴 밥비서 도메인 적응의 기록.

한국어 도메인에 LLM을 맞춘다는 것

“좋은 모델만 고르면 될 줄 알았다”

도메인에 LLM을 붙이려는 팀이 가장 먼저 던지는 질문은 보통 “어떤 모델을 쓸까”다. 우리도 그랬다. 밥비서 초기에 우리는 “이번 주 식단 짜줘”에 가까운 일을 LLM에 통째로 맡겼다. 한국어 식문화라는 도메인을 모델이 알아서 채워줄 거라 기대했다.

기대는 빠르게 무너졌다. 출력은 그럴듯했지만 정합성이 흔들렸다. 같은 조건에 매번 다른 결과가 나왔고, 제철이 아닌 재료가 끼어들고, 한식·양식 구성이 들쭉날쭉했다. 비용과 속도도 제품이 매일 굴러가기엔 맞지 않았다. 문제는 모델이 약해서가 아니었다. 모델에게 먹일 한국어 식문화라는 도메인 자체가, 모델이 신뢰할 만한 형태로 정리돼 있지 않았다. 모델을 바꾸는 일로는 풀리지 않는 문제였다.

그때 우리가 배운 한 줄은 지금도 모든 도메인 작업의 출발점이다 — LLM을 도메인에 맞추는 일의 대부분은 모델이 아니라 데이터다.

모델보다 코퍼스 — 우리가 먼저 세운 것은 품질 게이트

그래서 우리는 모델 선택을 미루고, 레시피 코퍼스부터 손봤다. 중요한 건 구조다. 우리는 원천 데이터를 그대로 쓰지 않고, 정제 → 태깅 → 검증이라는 세 단계 게이트를 통과시켰다.

정제는 표기와 단위, 조리 표현이 제각각인 한국어 레시피를 일관된 형태로 정돈하는 단계다. 태깅은 그 레시피를 도메인이 실제로 쓰는 축 — 계절·제철, 조리 난이도, 한·양·일·중 같은 구성 — 으로 분류하는 단계다. 어떤 축으로 태깅하는지가 곧 도메인 지식이다. 검증은 정제·태깅을 통과한 레시피가 실제로 일관적인지, 들여도 되는지를 판정하는 마지막 관문이다.

원천 레시피
  → 정제(표기·단위·조리표현 일관화)
  → 태깅(계절·난이도·구성 등 도메인 축으로 분류)
  → 검증(일관성 판정) → 통과만 코퍼스로 승격

핵심은 마지막 화살표다. 검증을 통과하지 못한 출력은 코퍼스에 들이지 않는다. 모델을 고르는 일보다, 이 게이트를 운영하는 일이 결과를 갈랐다.

LLM을 생성자에서 판단자로 옮긴 이유

여기서 LLM의 자리가 바뀐다. 초기에 LLM은 결과를 만드는 생성자였다. 정합성·비용·속도·편차가 무너지자, 우리는 LLM을 생성하는 자리에서 빼냈다. 대신 구조화된 레시피 데이터를 미리 갖춰두고, LLM에게는 정제된 결과를 분류하고, 도메인 사실과 어긋나지 않는지 판단하고, 코퍼스에 들일 만한지 검증하는 게이트 역할을 맡겼다.

생성을 통째로 맡기지 않은 이유는 분명하다. 생성형 단독은 매 호출이 비용이고, 같은 입력에도 결과가 흔들리고, 틀려도 그럴듯해서 틀린 줄 모른다. 반대로 사람이 짠 규칙과 구조화 데이터는 일관적이지만, 한국어 식문화의 미묘한 경계 — 이 조합이 계절에 맞나, 이 표현이 같은 재료를 가리키나 — 를 일일이 규칙으로 적기엔 너무 넓다. 그 넓은 회색지대를 판단하는 일에 LLM은 강했다.

그래서 우리는 둘을 갈라 붙였다. 일관성이 필요한 곳에는 구조화 데이터와 규칙을, 판단이 필요한 회색지대에는 LLM을. 한 가지만 분명히 해둔다. 이 글의 LLM은 코퍼스를 짓고 검증하는 단계의 LLM이다. 사용자에게 나가는 식단을 짜는 코어 엔진은 별개이며, 그쪽은 LLM 없이 도는 결정론 알고리즘이다. 생성은 결정론이, 데이터 품질 판단은 LLM이 맡는다.

grounding이 없으면 검증도 없다

LLM을 판단자로 세우고 한 번 데었다. 판단을 그냥 믿으면, LLM은 그럴듯한 허구를 자신 있게 통과시킨다. 제철이 아닌 재료를 “괜찮다”고 하고, 도메인에 없는 조합을 매끄럽게 정당화한다. 출력이 유창할수록 틀린 판단을 잡아내기 어려웠다.

해법은 LLM을 더 똑똑한 모델로 바꾸는 게 아니라, 판단을 도메인 사실에 묶는(ground) 것이었다. 한국어 식문화에는 검증 가능한 사실이 있다 — 계절과 제철, 조리법의 경계, 끼니 구성의 상식. 우리는 LLM의 판단을 이 구조화된 사실 위에서만 받아들였다. 사실에 근거를 댈 수 없는 판단은, 아무리 그럴듯해도 게이트를 통과하지 못한다. grounding 없는 LLM 출력은 자산이 아니라 부채다 — 그럴듯한 허구가 코퍼스에 쌓이면, 그 위에 세운 모든 게 흔들리기 때문이다.

모델이 아니라, 데이터부터

LLM을 당신의 도메인에 붙이는 일의 8할은 모델이 아니라 데이터다. 도메인 코퍼스를 일관되게 정제·태깅·검증하는 품질 게이트를 세우고, LLM의 역할을 생성에서 판단으로 재배치하고, 그 판단을 도메인 사실에 grounding하는 일. 우리는 이걸 우리 제품에서 매일 운영하며 검증했다. 같은 게이트를 당신 도메인의 데이터에도 세울 수 있다 — partners@creativengine.ai.

#engineering #llm #domain-adaptation #bobbiso
← 목록으로