Skip to content

AI와의 협업 결과물은 내 것인가

요즘은 bpftrace를 이용해서 특정 디렉터리의 읽기 이벤트를 syslog 포멧으로 기록하는 업무를 하고 있다. 원래라면 이해하는데 하루, 하찮은 코드 짜는 데 일주일, 다듬는데 일주일 정도 걸렸을 일이다. 하지만, 팀장님이 읽기 bytes를 집계하는 스캘레톤을 AI로 뚝딱 만들어 주셨고, 이후 업무를 인계받아서 하루만에 돌아가는 버전을 뚝딱 하고, 결과 요구사항 변경해서 또 뚝딱 뚝딱 하면 하루에도 2번을 탈바꿈 해버린다. 그래서 최종적으로 이벤트를 syslog 포멧으로 기록하게 되었다.

난 그 스캘레톤을 받아서 제일 먼저 Gregg의 System Performance 서적에서 관련된 부분을 훑어보면서 bpftrace가 어떤 레이어를 커버하고 있는지를 확인했다. 그리고 몇 군데를 더 읽고 개념을 적당히 이해했다. 다음은 코드를 보는 것이었다. 코드는 어쨌든 영어로 되어 있다. 어쨌든 main 함수를 찾거나, 위에서 아래로 읽으면 된다. 다음은 실행이었다. path를 string으로 출력하려고 하면서 스택 용량을 초과해버리는 문제가 있었는데, 이 문제도 다시 AI에게 물어봐서 해결했다. 그 와중에, C언어로 변경했다가 다시 bpftrace로 되돌아와서 inode 기반으로 변경하는 과정을 하루만에 거쳤다.

이벤트 기반으로 동작을 바꾸는 것은 내가 직접 했다. 테스트 VM에서 돌려보면서 테스트해보기 위해 그냥 손으로 직접 고치면서 테스트했다. 그리고 그걸 path string으로 바꿔주는 파이썬 스크립트는 또 AI에게 맡겼다. 설치 스크립트들도 AI에게 "아 그거그거 그렇게 해줘" 시켜서 검토하는 식으로 고쳤다. 전반적으로 이렇게 저렇게 해야 하는데 손대면 귀찮은 것들을 AI에게 시키면 만족도가 높은 편이다.

근데 문득 드는 생각이 있다. 마치 연습문제 하나 풀지도 않은 수학적 개념을 읽고, 그걸 이용하는 느낌이다. 난 직접 bpftrace 스크립트를 짤 줄 알까? 아니다. 하지만 짠다. 그게 지금 상태이다. 그럼 모를까? 그렇다고 하기도 애매하다. 문제는 해결하기 때문이다. 그럼 알까? 그렇다고 하기도 애매하다. bpftrace의 동작을 난 다 알지 못한다. 물론 그렇게 따지면 세상 모든 것들을 난 모두 모른다.

뭐, 모르겠다. 일이나 하자. 뭘 어떻게 하든 일을 해내는게 사축의 의무이니.