LLM은 전문가의 가치를 높인다
LLM은 누구나 평범한 수준의 결과물을 낼 수 있게 해주지만, 진정으로 뛰어난 결과를 이끌어내는 핵심은 결국 '도메인 지식(전문성)'입니다. 천재 수학자 테렌스 타오의 사례처럼, 전문가는 AI의 답변에서 핵심을 파악하고 논리적으로 압박하여 원하는 방향으로 모델을 강력하게 통제할 수 있습니다. 따라서 AI가 발전할수록 인간의 전문 지식은 더욱 중요해지며, 결국 AI 활용의 병목은 모델이 아니라 인간의 역량에 달려 있습니다.
2010년대에 기술적인 한계(예를 들어 CSS를 작성할 줄 모른다거나)가 있었다면, 능력 있는 동료에게 의존하거나 인터넷 어딘가에 내 문제에 대한 정확한 답이 있기를 바라는 수밖에 없었습니다. 오늘날에는 LLM에게 작업을 위임하기만 하면 누구나 그럴듯한 CSS 정도는 작성할 수 있습니다. LLM은 모든 사람을 제너럴리스트(일반적인 업무 수행자)로 만들어 줍니다.
이 때문에 많은 사람들이 LLM을 다루는 데 특별한 기술이 필요 없다고 생각합니다. LLM이 제공할 수 있는 결과물, 즉 박사 수준의 수학, 훌륭하지만 때로는 촌스러운 컴퓨터 코드, 혹은 어색한 링크드인 스타일의 글을 원한다면 그냥 모델에게 요구하기만 하면 됩니다. 모두가 같은 모델과 대화하기 때문에, 이른바 '프롬프트를 잘 다루는 사람'이 처음 LLM을 접하는 사람과 같은 결과를 얻는다고 믿어집니다.
하지만 이는 틀린 생각입니다. 프롬프트에서 가장 중요한 기술은 다름 아닌 '해당 분야의 전문성(도메인 지식)'입니다. 이를 잘 보여주는 예시로 테렌스 타오(Terence Tao)가 야코비안 추측(Jacobian Conjecture)에 대해 최근 발견된 반례를 주제로 ChatGPT와 나눈 대화가 있습니다.
이건 내가 평소에 대화하는 그 ChatGPT가 아닙니다! 나는 토큰을 무한대로 쏟아부어도 타오가 도달한 곳까지는 갈 수 없을 것입니다. 타오의 대화에서 좋은 프롬프트 엔지니어링에 대해 배울 점이 많습니다. 몇 가지 관찰 결과는 다음과 같습니다:
- 타오의 메시지는 매우 짧고 핵심을 찌릅니다. 그는 모델의 답변에 한 줄씩 대꾸하지 않고, 요지만 파악해 응수합니다.
- 내가 수학에 대해 GPT와 대화할 때보다 모델의 출력 텍스트가 훨씬 간결합니다. 전문성을 드러냄으로써, 타오는 모델을 '초보자를 위해 설명하는 모드'가 아닌 '수학자와 대화하는 모드'로 끌고 들어갑니다.
- 모델의 답변이 틀려 보일 때 반박하지만, 직접적으로 모순을 지적하지는 않습니다. 대신 "이게 내가 기대했던 것보다 좀 더 복잡해 보이네"와 같은 식으로 이야기합니다.
- 타오는 스스로 여러 비약과 제안을 합니다. 그는 모델이 다음에 무엇을 해야 하는지에 대해 조언하는 것을 거의 받아들이지 않습니다.
하지만 이러한 팁들을 그대로 따른다고 해서 여러분이 수학 문제에서 타오처럼 프롬프트를 작성할 수 있는 것은 아닙니다. 그의 기술의 핵심은 수학을 '진정으로 이해하고 있다는 점'입니다. 즉, ChatGPT의 여러 단락에 걸친 답변에서 관련 아이디어를 정확히 추출해 내고, 대안이나 접근법을 제안하며, 무엇이 '이상한지'를 식별해 냅니다.
테렌스 타오가 수학자로서 뛰어난 것처럼, 나는 프로그래머로서 꽤 괜찮은 편입니다. 그래서 여기서 말한 '도메인 지식이 LLM 사용을 훨씬 유능하게 만든다'는 아이디어는 내 일상에서도 똑같이 적용됩니다. 만약 자신의 코드베이스에 대한 구조적인 이해가 확실하다면, 전혀 모르는 상태일 때보다 LLM을 훨씬 더 강하게 밀어붙일 수 있습니다. 좋은 해결책이 어떤 모습일지 자신만의 명확한 직관이 있기 때문에 이렇게 말할 수 있는 것입니다. "아니, 여기는 더 단순하게 만들 수 있을 것 같은데", "우리 이미 X를 구현해 두지 않았나?", 또는 "이 문제를 우리가 익숙하게 쓰는 용어로 풀어낼 수 없을까?"라고 말입니다.
이는 내가 이전에 썼던 아이디어, 즉 시스템 설계 문제는 일반적인 원칙이 아니라 구체적인 세부 사항에 의해 지배된다는 생각과 맞닿아 있습니다. 물론 둘 다 유용하지만, 소프트웨어 시스템에 대한 포괄적인 이해보다는 내가 작업하는 코드베이스에 익숙한 것이 훨씬 낫습니다. 타오는 자신의 대화에서 "여기서 X가 통하나요?" 또는 "Y와 Z가 주어졌을 때, 왜 A인가요?"와 같이 매우 구체적인 질문을 많이 던집니다. 나는 야코비안 추측에 대해 저런 질문을 던질 수는 없지만, 내가 GitHub에서 소유하고 있는 시스템에 대해서는 그런 질문을 던질 수 있습니다.
도메인 지식이 없다면, 그저 LLM에 매달려 적어도 무언가라도 뽑아내야 합니다. 물론 이것도 나쁘진 않습니다! 하지만 도메인 지식이 있다면, LLM을 원하는 방향으로 강하게 조종하여 동일한 모델에서 훨씬 더 많은 가치를 짜낼 수 있습니다. 우리는 어떤 분야에는 전문성이 있고 어떤 분야에는 없기 때문에, 대부분 이 두 가지 접근 방식을 혼합해서 사용해야 할 것입니다.
도메인 지식이 유용하다는 사실은, 모델이 더욱 강력해지더라도 인간의 전문성은 계속해서 유용할 것임을 시사합니다. 많은 작업에서 인간이 모델이 아닌 병목 현상의 원인이 되는데, 왜냐하면 가장 어려운 부분은 '내가 원하는 해결책이 정확히 어떤 것인지를 모델에게 전달하는 것'이기 때문입니다. 정보는 이미 '모델 안'에 있지만, 그것을 끌어내기 위해서는 매우 똑똑한 인간의 통찰력과 전문성이 필요합니다.