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