연구실 LLM-Wiki 다음 단계로 만든 50여 개의 연구실 루프
연구실 안에서 벼리와 각자의 LLM-Wiki를 만들어 쓰는 이야기를 블로그에 쓰고 강연에서 한 뒤로 다음에는 무엇을 하고 있는지 묻는 분들을 자주 만난다. 읽은 논문을 마크다운 노트로 남기는 일은 위키로 하고 있지만 대학 연구실에는 논문 읽기 말고도 매주 반복되는 일이 많다. 공동연구자가 보낸 분석 질문 메일에 답해야 하고 연구재단이나 학교에서 오는 연차보고서와 행정 서류도 준비해야 한다. 대학원생이 새로 그린 그림과 수정한 논문을 가져오면 같이 검토해야 하고 외국 연구자와 Zoom 미팅을 마치고 나면 다음에 할 일이 남는다. 학회 발표 요청이나 저널의 논문 심사 요청도 매주 들어온다. 이런 일은 매번 다른 메일과 파일로 시작하지만 먼저 찾아보아야 할 기록과 일하는 순서는 거의 같다. 그때마다 새 대화창에서 AI에게 배경을 처음부터 설명하면 지난번에 정한 기준이나 예전에 확인한 파일을 안 보고 넘어가기 쉽다. 그래서 우리 연구실은 논문을 모으는 위키를 만든 뒤 매주 반복되는 연구와 행정 순서를 하나씩 루프로 적기 시작했다.
지금 연구실 폴더에는 모든 일에 공통으로 쓰는 루프 두 개와 일별 루프 55개를 합쳐 57개의 루프가 있다. 매일 들어오는 메일과 Slack 메시지, 회의 기록을 보다가 같은 종류의 일이 다시 나오면 그때마다 순서를 적어 번호를 붙였다. 이렇게 모인 루프는 공동연구, 연구과제, 논문 쓰기, 데이터 분석, 문헌 조사, 논문 심사, 학회 발표, 학생 지도, 수업, 연구실 행정의 열 가지 주제로 나뉜다. 공동연구와 연구과제 루프에는 외부 연구자의 첫 연락에 답장을 준비하고 미팅 시간을 정하거나 연차보고서 양식 확인, 발표 슬라이드 준비, 학교 사이트 승인 순서가 들어 있다. 논문 루프에는 학생이 써 온 글 검토부터 저널 제출 준비, 리뷰어 코멘트 답변, 논문 그림과 표 만들기, 학생이 그린 그림이 원자료에서 똑같이 다시 그려지는지 확인하는 순서가 적혀 있다. 프로젝트와 분석 루프에는 코드를 짜기 전에 분석 설계를 먼저 검토하는 일, 새로 나온 결과를 확인하는 일, 외부 데이터를 내려받아 정리하는 일, 서버 오류를 고치는 일을 담았다. 문헌 조사에서는 새로 나온 논문을 지금 하고 있는 연구와 이어 주고 논문 심사에서는 심사를 맡을지와 마감 일정을 확인하며 비공개 논문이 외부 모델로 넘어가지 않게 막는다. 학회 답장, 세미나 슬라이드 준비, 학생 미팅 기록, 졸업생이 하던 분석 넘기기, 수업 과제 피드백, 출장 신청이나 영수증 정리도 각각 다른 루프로 적혀 있다. 연구실에서 한 주 동안 하는 일을 이렇게 적어 놓으면 머릿속으로만 기억하던 기준을 AI가 읽고 순서대로 따라 한다.
각 루프에는 AI가 가장 먼저 읽어야 할 파일과 순서대로 해야 할 일, 사람에게 물어보고 멈춰야 하는 때가 적혀 있다. 새 메일이나 미팅 기록, 수정한 논문 파일이 들어오면 AI는 맞는 루프를 고른 뒤 그 과제나 연구의 지난 기록부터 찾아 읽는다. 누구와 왜 시작한 연구인지, 지난 미팅에서 무엇을 결정했는지, 지금 어느 버전의 데이터를 쓰는지를 기존 노트에서 먼저 확인한다. 이미 적혀 있는 사실은 나에게 다시 묻지 않고 비어 있는 내용만 물어서 채운 뒤 정해진 다섯에서 여덟 단계를 순서대로 한다. 예를 들어 연구 미팅이 끝나면 AI가 미팅 정리 루프에 따라 회의 기록 전체를 읽고 그 프로젝트 노트와 할 일 목록을 고친 뒤 벼리에서 더 찾아볼 질문을 적는다. 학생이 논문에 넣을 그림을 보내오면 그림 확인 루프에 적힌 순서대로 공유 폴더의 요약 통계 표와 코드를 실행해 똑같은 그림이 다시 그려지는지부터 본다. 같은 숫자와 그림이 다시 나오는 것을 확인한 뒤에야 글자 크기나 색, 설명이 읽기 좋은지 보고 논문 작업 표를 고친다. 답장 글 작성, 예전 기록 확인, 가능한 미팅 날짜 정리는 AI가 먼저 해 놓지만 외부로 메일을 보내거나 학교 사이트에서 최종 제출을 누르는 일, 다음 분석 방향을 고르는 일은 내가 확인한 뒤에야 한다.
모든 규칙을 AI 하나에 다 넣으면 설명이 너무 길어지기 때문에 우리 연구실은 하는 일에 따라 여러 Slack 봇과 내 컴퓨터에 루프를 나눴다. 한 봇은 한 시간마다 새로 들어온 메일과 할 일 목록을 확인해서 간단한 답장 글을 만들고 연구나 학생 지도 일은 다른 봇에게 넘긴다. 논문 검토와 분석 결과 확인은 연구를 맡은 봇이 하고 학생 미팅 기록이나 졸업생 연구 넘기기, 공동연구 연락은 다른 봇이 한다. 학회 발표 준비, 연구실 안내, 벼리에서 논문 찾는 일도 역할에 따라 나누어서 각 봇은 자기가 맡은 폴더와 기록만 읽는다. 학교 사이트 승인이나 발표 슬라이드 수정, 그림 코드 재현처럼 내가 화면을 직접 보면서 바로 판단해야 하는 루프는 내 컴퓨터에서 실행한다. 각 봇은 맡은 단계를 마친 뒤 어떤 파일을 읽고 무엇을 고쳤는지 기록으로 남기고 내가 결정할 질문 하나와 답장 글을 Slack에 올린다. 이렇게 만든 루프를 몇 주 동안 실제 일에 써 보면서 쌓인 기록을 다시 읽어 보니 처음 적을 때는 몰랐던 빠진 단계와 겹치는 부분이 보였다. AI가 기존 기록을 안 읽고 넘어가거나 끝난 기준을 잘못 잡아서 내가 지적하면 어느 단계가 비어 있었는지 찾아 루프의 규칙을 바로 고치는 공통 루프도 함께 만들었다. 예상대로 나온 분석 결과를 볼 때와 예상과 다른 결과를 볼 때처럼 실제 순서가 거의 같은 루프는 하나로 합쳤고 특허 검토나 추천서 작성처럼 몇 주 동안 한 번도 쓰지 않은 루프 열다섯 개는 따로 빼서 평소 목록을 간단하게 줄였다.
연구실에서 반복되는 일의 순서를 이렇게 루프로 적는 이유는 연구자와 학생이 데이터를 보고 연구 질문을 생각하는 데 더 많은 시간을 쓰고 싶어서다. 한국의 젊은 교수들은 과제 서류와 행정 양식, 미팅 일정 메일에 많은 시간을 쓰는데 반복되는 확인과 답장 준비를 AI가 먼저 해 주면 이상한 분석 결과 하나를 오래 볼 시간이 남는다. 학생들과 연구하는 법을 훈련할 때도 이 루프를 그대로 쓴다. 지난 글에서 이야기했듯이 연구를 시작하는 학생들은 AI에게 질문 한 줄을 넣고 바로 나온 결과를 그대로 믿는 경우가 많다. 분석 설계를 검토하거나 그림을 확인할 때는 루프에 적힌 대로 원자료가 있는 위치, 다시 실행할 수 있는 코드, 통계 모형의 가정을 단계마다 확인해야 한다. 학생은 그 순서를 하나씩 따라가면서 결과 그림을 보기 전에 데이터와 분석 설계가 질문에 맞는지 먼저 확인하게 된다. AI가 예전 미팅 기록과 기본 재현 확인을 미리 해 놓기 때문에 나는 학생을 만났을 때 왜 처음 세운 가설이 데이터와 다르게 나왔는지, 다음에는 어떤 분석을 해 볼지를 더 오래 이야기한다. 앞으로 우리가 쓰는 AI 모델과 도구는 계속 바뀌겠지만 연구실에서 어떤 순서로 근거를 확인하고 연구하는지 적은 루프는 그대로 남는다. 새로운 과제를 시작하고 학생들과 논문을 쓰는 동안에도 새로 생기는 일에 맞춰 이 루프를 조금씩 고쳐 가며 쓸 생각이다.