LLM 코드 실수를 줄이는 4가지 교육 원칙
AI에게 코딩을 시켜본 경험이 있는가? 시키는 대로 했을 뿐인데, 왜 항상 만족스러운 결과가 나오지 않을까? 마치 학생이 질문의 요지를 파악하지 못하고 엉뚱한 답을 늘어놓는 상황과 놀랍도록 닮았다. AI의 코딩, 우리 학생들의 학습 과정과 닮았다 최근 AI 분야의 저명한 개발자 안드레이 카르파티의 통찰이 담긴 흥미로운 글을 읽었다. 그는 대규모 언어 모델(LLM)이 코드를 생성할 때 흔히 저지르는 실수들을 지적한다. 이를 요약하면 세 가지 문제로 요약된다. 첫째, AI는 스스로 잘못된 가정을 하고 이를 확인하지 않은 채 코드를 만들어낸다. 혼란스러워도 명확히 묻지 않고, 불일치를 드러내거나 절충안을 제시하지도 않는다. 둘째, 코드를 불필요하게 복잡하게 만든다. 추상화를 남용하고, 쓸모없는 코드를 정리하지 않으며, 100줄이면 될 것을 1,000줄로 늘린다. 셋째, 주어진 과제와 상관없는 기존 코드의 주석이나 구조를 마음대로 수정하거나 삭제하는 경우가 생긴다. 마치 학생이 본질을 놓친 채 과도하게 장황한 보고서를 쓰고, 불필요한 부분까지 손대어 오히려 완성도를 떨어뜨리는 모습과 흡사하다. 이러한 문제를 해결하고자 그는 LLM의 코드 생성 능력을 향상하는 네 가지 원칙을 제시한다. 코딩 전 사고: 생각하고 묻는다 첫 번째 원칙은 "코딩 전 사고(Think Before Coding)"이다. LLM은 종종 모호한 지시를 받으면 스스로 한 가지 해석을 택하고 그 방향으로만 진행한다. 이 원칙은 AI에게 가정을 명시적으로 밝히고, 불확실한 경우 추측 대신 질문하게 한다. 만약 여러 해석이 가능하다면, AI는 그 해석들을 제시하고 사용자에게 선택을 요구한다. 더 간단한 방법이 있다면 주저 없이 반대 의견을 내고, 혼란스러울 때는 무엇이 불분명한지 정확히 말하고 명확화를 요청한다. 우리 교육 현장에서도 학생들에게 문제 해결 전 자신의 가정을 밝히고, 궁금한 점을 질문하며, 더 나은 해결책을 탐색하게 하는 과정과 다르지 않다. 이는 메타인지를 훈련하는 핵심이다. 간결함의 미덕: 단순함이 최고이다
- JIN_KWAN_KIMJ
