18. 컴퓨터 엔지니어와 프롬프트 엔지니어

by New ERA Systems

프롬프트 엔지니어와 코딩을 하거나 프로그램의 구조를 설계하는 컴퓨터 엔지니어의 차이가 모호합니다. 제가 생각하기에는 컴퓨터 엔지니어의 일부가 AI의 프롬프트 엔지니어로 넘어와서 일하고 있는 것이 아닌가 생각됩니다. 즉, 프롬프트 엔지니어 < 컴퓨터 엔지니어 인듯 합니다.


앞으로 몇개의 포스트에서는 이 문제에 대한 이야기를 해보려고 합니다. 도대체 프롬프트 엔지니어는 누구이며, 어떤 사람이 잘 할수 있으며, 컴퓨터 프로그래머와는 무엇이 달라야 하는가 하는 문제를 말하는 것입니다.


AI의 할루시네이션을 최소화 하면서 구동시키기 위해서는 자연어 프롬프트가 좋을까요, 아니면 기계어 프롬프트가 좋을까요?

저의 생각을 먼저 말씀드리면 [별로 중요하지 않다] 입니다. 엄밀하게 말하면 기계어(json) 프롬프트가 더 좋을 겁니다. 아무래도 자연어로 프롬프트를 짜면 한번 기계어로 변환되는 과정을 거치면서 연산량이 증가하게 됩니다. 토큰을 몇개라도 더 아끼려면 기계어 프롬프트가 좋습니다.


만약 이말을 들은 컴퓨터 엔지니어들은 좋아할 것입니다. 역시 AI는 컴퓨터를 잘하는 사람들이 잘한다라고 생각할 겁니다. 그런데 역설적이게도 이것이 바로 컴퓨터 엔지니어들이 AI를 오해하는 가장 근본적인 이유이며, 앞으로 제가 주장 할 [컴퓨터 엔지니어가 주도적으로 AI 워크플로우와 프롬프트 설계를 하면 안되는 이유] 입니다.


AI는 확률적으로 답을 내는 병렬연산 기계입니다. AI가 진리라고 믿는 것은 학습한 데이터의 중간값일 뿐입니다. 즉, AI는 정답을 낼 수 없으며 자체적인 판단을 할 수 없습니다. 그런데 컴퓨터 학자/공학자들은 정답을 찾는 사람들 입니다. 참과 거짓을 가려내는 사람들 입니다. 작동되느냐 작동을 멈추느냐의 문제를 고민하는 사람들 입니다.


정답을 도출할 수 없는 기계에게 정답을 요구합니다. 모순입니다.


AI 는 작동을 하느냐 멈추느냐의 문제는 부차적인 문제 입니다. 차라리 할루시네이션이 어느 시점을 넘기는 즉시 작동을 멈출수만 있다면 이런 고민조차 필요가 없습니다. 작동을 멈추지 않고 엉뚱한 답을 도출하는데 그것이 참인지 거짓인지(정확히 말한다면 오차범위에서 얼마나 벗어 났는지) 모르기 때문에 그것이 문제인 겁니다. 도출된 결과물에 손가락이 6개가 되고 머리가 붙어 버렸는데 왜 그런지 알 수 없다는 것입니다. 잘됐다 잘못됐다의 문제가 아닌 것입니다. 참이다 거짓이다의 문제가 아닙니다. 틀렸다 맞았다의 문제가 아닙니다. 그저 허용한 편차를 벗어났는데 왜 그런지 모른다의 문제 입니다.


사람이 마직막 검수를 꼼꼼하게 해주지 않은 상태의 AI의 출력물은 그 어떤 것도 함부러 사용하면 안됩니다. 중간 재료로도 쓰이면 안됩니다. (이 부분에 대해선 차후에 다시 언급하도록 하겠습니다)

AI는 스스로 모순(할루시네이션)을 판단할 수 없습니다. 구조적으로 그렇다는 이야기 입니다.

작가의 이전글17. 의인화의 오류란 무엇인가