전문가 머릿속에서는 대체 무슨 일이 벌어지고 있을까
(stdy.blog)개요
- 미국의 심리학자 개리 클라인은 소방관, 응급실 간호사, 비행기 조종사 등 급박한 현장에서 전문성을 발휘해야 하는 사람들을 수십년간 연구한 '전문성 전문가'임
- 클라인은 전문가들에 대한 심층 인터뷰와 관찰을 통해, 문제 상황을 만났을 때 그들의 머릿속에서 무슨 일이 벌어지는지를 인식-행동 촉발 모델(RPD: Reconition-Primed Decision Model)로 추상화함. 수십년간 여러 연구에서 실제로 다양한 분야의 전문가들이 이렇게 행동하고 있음이 밝혀짐
- RPD 모델을 응용하면 전문가에게, LLM에게 잘 배울 수 있음
RPD 모델의 5단계
(RPD 도식은 원 블로그에 있습니다)
- 전문가가 문제 상황을 경험한다.
- 상황 속의 신호 몇 가지에 집중해 과거 경험과 패턴 매칭해본다.
- 매칭이 잘 되면 행동 전략(무엇을 목표로 어떤 행동을 해야 할지, 행동 결과가 어떻게 될지)이 대략 떠오른다. 잘 떠오르지 않으면 추가 정보를 수집하고, 다른 신호도 보면서 다시 매칭.
- 떠오른 행동 전략을 머릿속으로 시뮬레이션을 돌린다. 이걸로 문제 해결이 될까? 안 될 것 같으면 다음 행동 전략으로 넘어가 시뮬레이션을 돌린다.
- 이건 되겠다 싶은 게 있으면 이행한다. 그러면 상황이 바뀌고, 1로 돌아간다.
이는 우리가 전문성을 높이기 위해 전문가에게 뭘 배워야 하는지를 시사해주기도 함
- 전문가가 문제 상황 인식을 위해 어떤 신호들을 어떤 순서로 관찰하나?
- 특정 상황에서 문제 해결을 위해 어떤 행동 전략부터 사용하나?
- 다른 게 아니라 그걸 선택한 이유는? 시뮬레이션 어떻게 했지?
주니어로서 코드 리뷰에서 배우기
"변수명 XX가 너무 짧네요. 변수명은 이해할 수 있을 정도로 긴 게 좋습니다. YY로 바꿀까요?" 같은 코멘트를 받았다면, '넵' 하는 대신 RPD를 적용해 시니어를 괴롭혀보자
- 혹시 변수명이 짧아도 괜찮은 상황은 없을까요?
- 그럼 여기서는 변수명이 너무 짧다는 걸 어떻게 판단하셨어요?
- 변수명 XX를 그대로 가져간다면 이후 어떤 문제가 생길 것 같으신가요?
- YY라는 변수명은 어떻게 떠올리셨어요?
- 나중에 YY가 부적절해질 만한 상황이 있다면 뭘까요?
- 그땐 변수명을 어떻게 바꾸실 것 같으세요?
괴롭혀도 불평 않는 LLM에게 하기에도 좋은 질문이고, '이런 피드백을 받았는데 RPD를 이용해 이런 질문을 제안해달라'고 해도 좋음
추가 자료들
- 의심하는 대신 판단 기준을 알려주세요: RPD를 염두에 두며 시니어가 주니어를 성장시키려면 어떤 대화를 해야 할지에 대해 쓴 글
- 어떻게 그 판단을 할 수 있었을까: 문제를 보자마자 원인을 파악했던 디버깅 사례에서 제가 어떻게 그럴 수 있었는지 쓴 글. 여기서 다루는 CDM(Critical Decision Method) 또한 전문가의 머릿속을 탐구하기 위해 개리 클라인이 개발한 질문법임
- The RPD Model: Criticisms and Confusions: RPD 모델 발표 이후 받은 비판과, RPD에 대한 오해들에 대해 개리 클라인이 2021년에 직접 반박한 글
- Source of Power: How People Make Decisions: RPD에 대해 더 자세한 설명이 담긴 개리 클라인의 1999년 책
LLM 활용하기
LLM이 개리 클라인의 입장에서, RPD와 CDM(Critical Decision Method)을 활용해 좋은 질문을 구성해주는 프롬프트 템플릿을 만듦. 테스트해보니 질문 품질이 상당히 괜찮음
물론 현실에서는 시니어가 리뷰해줬을 때 "잠시만요" 하면서 LLM에게 물어보고 질문하기는 어려울 것. 그러니 장기적으로는 LLM이 생성해주는 질문들을 체화하여 스스로 생성해낼 수 있는 사람으로 성장하는 게 더 유리함