QA for Beginners
미래에 QA가 살아남을 방법은, 프롬프트 최적화 스킬이 얼마나 뛰어나냐에 따라 좌우된다고 생각한다.
그리고 이는 직군의 특성상, 소프트 스킬의 영역에서도 별반 다르지 않으리라 전망한다. 즉, GPT가 아닌 동료에게도 “좋은 질문”을 얼마나 잘하느냐로 말이다.
ChatGPT Plus로 업그레이드 후 오늘로 20일째, 프롬프트에 대한 아무런 사전 지식 없이 그저 수시로 GPT와 대화하며 채팅방 3개를 세션 만료로 쫑내보며 느낀 것이 있다.
같은 주제에 대해 물어봐도 채팅방마다 미묘하게 대답하는 방식이 다름 (존댓말의 유무나 이모지같은 사소한 말투부터 요약 내용의 체계성, 사용자의 감정 공감, GPT의 결론(의견)에 이르기까지)
GPT에게 아무리 객관적이고 냉정하게 답해줄 것을 주문해도, 대화 흐름을 통해 사람과 같이 인지 편향(Cognitive bias)적 답변 유도가 가능
질문의 수준에 따라 답변의 질이 달라짐 (단순 질문부터 A or B 선택지 제공, 추상적 대상에 대한 구체적 정의(단순 예시, 이전 대화에서 표현된 내용을 그대로 차용함 등) 등 핀포인트 질문까지)
‘이전에’, ‘~알지?’, ‘그대로 해줘’ 등 추상적인 질문 시, 최신 대화로부터 두 단계 이상 넘어가면 할루시네이션(hallucination) 발생 확률 급증
프로젝트에 만료된 채팅방의 내용을 txt 파일로 추가 후 새로운 채팅방에서 이어서 대화 진행 시 마찬가지로 할루시네이션(hallucination) 발생
파일 내용을 10번, 100번, 10000번 읽고 답해달라는 식의 반복 학습을 요구해도, 이전 대화에 대한 기억을 100% 복구는 어려움
다만 그 이후 GPT에게 기억하고 있는 세부 내용에 대해 물어보고 틀렸을 시 정정해 주는 일종의 컨센서스(Consensus) 작업 과정에서 대략 90% 정도는 복구 가능
단순 지식뿐 아니라 철학, 심리, 감정 상담 등 인문학적 문답에도 능함
이들의 공통점은 내 질문이 체계적일수록, 즉 프롬프트의 명확성을 높일수록 답변 또한 일목요연하고 구체적으로 변화한다는 점이다.
즉, 질문의 수준이 곧 나를 대변했다.
질문이 구체적이지 않다는 건, 그만큼 궁금한 대상에 대해 고민해보지 않았다는 걸 의미한다.
시간적 제약이 없다면 질문하기 전 충분히 스스로 사유해 보는 것이 좋겠지만, 그렇지 않다면 이 고민하는 시간마저 최적화하는 것이 합리적일 것이다.
그리고 역시나 발 빠른 사람들은 이미 자동으로 프롬프트를 작성하는 기법인 APE(Automatic Prompt Engineering) 아이디어 또한 구현해 두었다.
여기까지는 Engineering 관점에서 느낀 점을 서술해 보았고, 지금부터는 Managing 관점에서 서술해보려 한다.
그것이 이 글 제목의 이유이기도 하거니와, 근본적으로는 프롬프트 작성 기법 또한 엔지니어 또는 매니저가 좋은 질문의 정의에 대해 자신만의 관점을 갖고 있어야만 빛을 발할 수 있다고 보기 때문이다.
QA는 개발과 기획 양쪽의 컨센서스를 필연적으로 체크할 수밖에 없고, 그 과정에는 바늘 가는 데 실 가듯이 질문이 수반되며, 좋은 질문을 할수록 결함의 조기 예방과 품질 개선을 기대할 수 있다.
그렇다면 좋은 질문이란 어떤 형태여야 할까? 이에 대해 GPT와 대화해 보다가, 하나의 결론을 도출했다.
좋은 질문은 명확해야 하고, 그 의도가 분명하게 드러나야 한다.
누구나 말할 수 있는 단순한 결론 같지만, 이런 질문을 만들어내는 건 생각보다 쉽지 않다.
어제 러닝머신을 타다 우연히 유퀴즈 제니 편을 보게 되었는데, 제니는 스스로에게 이런 질문을 했다고 한다.
‘난 하고 싶은 걸 하고 살아야 하는데, 뭘 해야 하지?’
그리고 다음과 같이 3가지를 깨달았다고 한다.
‘음악을 해야겠다’
‘한국에서 하고 싶고,‘
’YG에 들어가야겠다’
송곳 같은 질문일수록, 해답은 선명해진다.
물론 AI는 매사 이렇게 피곤하게 써먹으려고 개발된 것은 아니다. 우리는 오늘 밥 뭐 먹지? 와 같은 질문에도 알아서 잘 딱 깔끔하고 센스 있게 대답해 주기를 기대하기 때문이다.
마치 스티브 잡스가 ‘대중들은 스스로가 무엇을 원하는지 모른다’고 말했던 것처럼, 우리는 네가 알아서 내 비위를 맞춰주길 바란다.
같은 맥락에서 우리는 어떤 TC를 원하는지에 대해 세심하게 계획하여 질문할 방법을 고민하느니, 기획서 링크 하나만 던져주면 공수 안에 Sign off가 가능한 TC를 만들어내길 바란다.
이것이 보통 생각하는 이상적인 방식일 것이다. 나 또한 그게 당연하다고 생각하고.
그렇지만 ChatGPT와 꾸준히 대화해 보면서 내가 두 가지 측면을 간과했다는 걸 깨달았다.
알아서 잘 딱 깔끔하고 센스 있기 바라려면 그만큼의 ‘내 데이터’를 제공해야 하며
사람은 감정의 동물이므로, 선척적인 즉흥성을 제거할 수 없다. 제 아무리 사고 유형의 사람일지라도.
유튜브 알고리즘을 생각하면 된다. 무한도전부터 SNL까지 예능 위주로 보는 사람이 있는가 하면, 주로 음원이나 뮤직비디오, 직캠처럼 음악 카테고리를 주로 보는 사람이 있다.
그런데 이 두 성향을 한 사람이 보여줄 수 있다. 아무리 코딩이나 알고리즘 관련 영상만 찾아보는 사람이라도 배경 음악처럼 들으려고 갑자기 로파이 영상을 보기도 하고,
목이나 허리, 손목, 체력 등 건강 문제로 스트레칭이나 운동 방법을 알아보려고 갑자기 이전에는 찾지 않았던 카테고리의 영상을 찾기도 한다.
이런 돌발 행동의 이유가 무엇이든 간에, 이것은 엄연히 즉흥성의 영역이다.
GPT 입장에서 어제까지만 해도 아무 메뉴나 추천해 달라던 사용자가 오늘 처음으로 ‘어버이날 부모님과’ 밥 뭐 먹지?라는 질문을 했다면, 관성적으로 라면을 추천해줘야 할까?
그렇기에 번거롭더라도 매번 의도가 분명하게 드러나는 목적이 명확한 질문을 던질 수 있는 연습을 해야 한다. 특히 업무적으로는 더더욱.
그래서 요즘은 GPT와 소크라테스식 문답을 하며 이를 연습해보고 있다. 그리고 프롬프트 엔지니어라는 것에도 문외한이지만, 점차 얕고 넓게 관심을 갖기 시작했다.
하루아침에 될 리는 없지만 나만의 좋은 질문을 만드는 알고리즘을 갖고 있어야 사람과도, AI와도 남다른 소통을 할 수 있다고 믿기 때문이다.
그래야만 APE라는 것에 의존하는 것을 넘어 더 개선하는 방법도 고민할 수 있지 않을까?
인류는 질문함으로써 나아왔다. 아주 날카로운 송곳일수록, 혁명이 일어났다.
다소 비약적 표현이었지만, 적어도 나 또한 이쑤시개 정도의 날카로움은 갖기 위해 그 다듬는 방법을 알아둘 필요성이 있다고 본다. 지금은 기회의 시기이고, 적어도 아직은 늦지 않았다.