2010년대에는 기술적 공백이 있으면(가령 CSS를 못 짠다면) 실력 있는 동료에게 기대거나, 정확히 내 문제에 대한 답이 인터넷 어딘가에 있기를 바라는 수밖에 없었다. 오늘날에는 누구나 LLM(대형 언어 모델)에게 일을 맡겨서 그럭저럭 봐줄 만한 CSS를 쓸 수 있다. LLM은 모두를 제너럴리스트(generalist)로 만든다.
이 때문에 많은 사람들이 LLM과 함께 일하는 데는 아무런 스킬도 필요 없다고 생각한다. LLM이 내놓을 수 있는 결과물 — 박사급 수학, 꽤 훌륭하지만 가끔 촌스러운 컴퓨터 코드, 혹은 어색한 링크드인(LinkedIn)풍 글쓰기 — 을 원한다면 그냥 요청하면 된다는 것이다. 모두가 같은 모델과 대화하고 있으니, "숙련된 프롬프터"도 LLM을 처음 만지는 사람과 똑같은 결과를 얻는다는 것이다.
이건 틀렸다. 프롬프팅에서 가장 중요한 스킬은 프롬프팅하려는 대상 도메인에 대한 전문성이다.
이를 잘 보여주는 사례가 테런스 타오(Terence Tao)가 야코비안 추측(Jacobian Conjecture)의 최근 발견된 반례에 관해 ChatGPT와 나눈 대화다. 이건 내가 대화하는 ChatGPT와는 다른 존재다! 나는 토큰을 무제한으로 태워도 타오가 도달하는 곳에는 이를 수 없었다.
타오의 대화에서 좋은 프롬프팅에 관해 배울 점이 많다. 몇 가지 관찰 사항은 다음과 같다.
- 타오의 메시지는 매우 짧고 요점만 짚는다. 그는 모델에게 항목별로 일일이 답하지 않고, 핵심 요지에만 반응한다
- 모델의 출력은 내가 GPT-5.6 Sol과 수학에 관해 대화할 때보다 훨씬 간결하다. 전문성을 신호로 보냄으로써, 타오는 모델을 "아마추어에게 설명하는" 모드가 아니라 "수학자들끼리 대화하는" 모드로 밀어넣는다
- 타오는 모델의 응답이 틀린 것 같으면 반박하지만, 직접적으로 반박하지는 않는다. 대신 "이건 내가 기대했던 것보다 더 복잡해 보인다" 같은 식으로 말한다
- 타오는 스스로 여러 도약과 제안을 한다. 그는 다음에 어디로 갈지에 관한 모델의 조언을 거의 받아들이지 않는다
하지만 이런 팁을 따르기만 한다고 수학 문제에서 타오처럼 프롬프팅할 수 있는 건 아니다. 그의 기법의 핵심은 실제로 수학을 이해하는 데 있다. ChatGPT의 여러 문단짜리 응답에서 관련된 아이디어를 뽑아내고, 대안적인 접근이나 정식화를 제안하고, 무엇이 "이상해 보이는지" 짚어내는 것이다.
테런스 타오는 내가 프로그래머인 것보다 더 뛰어난 수학자다. 하지만 여기서의 아이디어 — 도메인 지식이 LLM을 더 잘 쓰게 해준다는 것 — 은 나도 내 업무에서 경험한 것이다. 자신의 코드베이스에 대해 좋은 이론(theory)을 갖고 있다면, 전혀 익숙하지 않을 때보다 LLM을 훨씬 더 강하게 밀어붙일 수 있다. 좋은 해법이 어떤 모습이어야 하는지에 대한 자신만의 감각이 있기 때문에, "아니, 여기서는 더 단순하게 할 수 있을 것 같은데"라거나, "그런데 우리 이미 X를 하고 있지 않나?"라거나, "이 문제를 우리에게 익숙한 이런 용어로 표현할 수 있을까?" 같은 말을 할 수 있다.
이는 내가 예전에 썼던 아이디어와 맞닿아 있다. 시스템 설계 문제는 일반 원칙이 아니라 구체적인 특수 사항들이 지배한다는 것이다. 물론 둘 다 유용하지만, 나는 소프트웨어 시스템에 대한 깊은 일반적 이해보다는 코드베이스에 대한 친숙함을 더 갖고 싶다. 대화에서 테런스 타오는 "여기서 X가 작동하나?"라거나 "Y와 Z가 주어졌을 때, 왜 A인가?" 같은 구체적인 질문을 많이 던진다. 나는 야코비안 추측에 대해서는 그런 질문을 할 수 없지만, 내가 GitHub에서 담당하는 시스템들에 대해서는 그런 질문을 할 수 있다.
도메인 지식이 전혀 없다면, 적어도 뭔가를 얻기 위해 LLM에 매달릴 수는 있다. 그것도 나쁘지 않다! 하지만 도메인 지식이 있다면, 원하는 방향으로 강하게 조종함으로써 같은 LLM에서 훨씬 더 많은 가치를 짜낼 수 있다. 우리 대부분은 이 두 가지 접근을 섞어서 쓸 수밖에 없을 것이다. 어떤 영역에서는 도메인 지식이 있지만 다른 영역에서는 없기 때문이다.
도메인 지식의 유용성은 모델이 더 강해지더라도 인간의 전문성이 계속 유용할 것임을 시사한다. 많은 작업에서 병목은 모델이 아니라 인간이다. 어려운 부분은 인간이 원하는 해법이 정확히 어떤 종류인지를 모델에게 전달하는 데 있기 때문이다. 정보는 이미 "모델 안에" 있지만, 그것을 끄집어내려면 아주 똑똑한 인간이 필요하다.
편집 노트
이 글은 해커뉴스(Hacker News)에서 많은 댓글을 받았다. 일부 댓글 작성자들은 전문성이 도움이 되고 전문성 부족이 해가 됐던 자신의 일화를 공유한다. 다른 댓글 작성자들은 그럴듯하지만, 자신들이 여전히 가치 있다고 안심시켜주는 견해에 대해 합리적인 의심을 품고 있다고 말한다. 나도 그 의견에 동의하지만, 우리가 이 주제를 제대로 연구할 즈음이면 지형이 또다시 우리 발밑에서 바뀌어 있을 것 같다고 생각한다. 몇몇 댓글 작성자는 OpenAI의 수학 프롬프트가 전문적이지 않았고, 따라서 전문성이 필요하지 않다고 지적한다. 이에 대해 나는, OpenAI에는 모델이 제안한 발견을 확인하고 걸러내는 전문 수학자 팀이 실제로 있으며, 현재로서는 그 단계를 건너뛸 수 없다고 답하고 싶다.
핵심 요약 (20줄)
- 2010년대에는 기술적 공백이 있으면 동료에게 의존하거나 인터넷에서 답을 찾아야 했지만, 지금은 LLM에게 위임하면 누구나 그럭저럭 쓸 만한 결과물을 낼 수 있다.
- 이 때문에 많은 사람들이 LLM 프롬프팅에는 특별한 스킬이 필요 없다고 오해한다.
- 저자는 이 통념이 틀렸으며, 프롬프팅에서 가장 중요한 스킬은 해당 도메인에 대한 전문성이라고 주장한다.
- 대표 사례는 수학자 테런스 타오가 야코비안 추측의 반례에 관해 ChatGPT와 나눈 대화다.
- 저자는 무제한 토큰을 써도 타오가 도달한 수준의 대화에 이르지 못했다고 말한다.
- 타오의 메시지는 짧고 요점만 짚으며, 모델의 응답에 항목별로 답하지 않고 핵심 요지에만 반응한다.
- 타오가 전문성을 드러내자 모델은 아마추어용 설명이 아니라 전문가 간 대화 모드로 전환되어 훨씬 간결하게 답했다.
- 타오는 모델 응답이 틀렸다고 느끼면 직접 반박하는 대신 "예상보다 복잡해 보인다"는 식으로 부드럽게 되짚는다.
- 타오는 다음 방향을 모델의 제안에 맡기지 않고 스스로 도약적인 제안을 한다.
- 이런 프롬프팅 방식을 따라 한다고 같은 성과를 낼 수 있는 건 아니며, 핵심은 수학을 실제로 이해하고 있다는 데 있다.
- 저자는 자신의 코드베이스에 대한 좋은 이해(theory)가 있을 때 LLM을 훨씬 강하게 밀어붙일 수 있었다고 밝힌다.
- 도메인 지식이 있으면 "더 단순화할 수 있다", "이미 X를 하고 있지 않나" 같은 구체적 피드백을 모델에게 줄 수 있다.
- 이는 시스템 설계 문제가 일반 원칙보다 구체적 특수 사항에 좌우된다는 저자의 기존 주장과 연결된다.
- 저자는 소프트웨어 시스템에 대한 일반적 이해보다 특정 코드베이스에 대한 친숙함을 더 중시한다.
- 도메인 지식이 없어도 LLM에 의존해 어느 정도 결과를 얻는 것 자체는 나쁘지 않다고 저자는 인정한다.
- 다만 도메인 지식이 있으면 같은 모델에서 훨씬 더 많은 가치를 뽑아낼 수 있다.
- 대부분의 사람은 영역별로 전문성이 있거나 없기 때문에, 두 접근 방식을 섞어 쓸 수밖에 없다.
- 저자는 모델이 강해질수록 병목은 모델이 아니라 인간이 될 것이라고 전망한다.
- 어려운 부분은 인간이 원하는 해법의 종류를 모델에게 정확히 전달하는 데 있으며, 정보는 이미 모델 안에 있지만 끄집어내려면 뛰어난 인간이 필요하다.
- 이 글은 해커뉴스에서 큰 반향을 얻었고, 저자는 OpenAI가 수학 발견 검증에 실제로 전문 수학자 팀을 두고 있다는 점을 들어 전문성 필요성을 재차 강조하며 글을 마친다.