Hatena
인간이 시간을 써야 할 곳은 어디인가
소프트웨어처음 오른 때 점수 135
일본의 한 엔지니어가 AI가 코드의 대부분을 쓰는 지금, 사람은 시간을 어디에 써야 하는지 묻는 글입니다. 핵심 답은 사람의 '검토'가 병목이 되었으니, 가장 중요한 결정에 사람의 검토를 집중하자는 것입니다.
무슨 일이 있었나
글쓴이는 이제 손으로 코드를 거의 쓰지 않습니다. 대신 대부분의 시간을 검토에 씁니다. 동료가 보낸 풀 리퀘스트(PR, 코드 변경 제안)와 AI 에이전트가 쓴 계획 파일을 읽습니다. AI가 코드와 검토 답변을 둘 다 쓰다 보니, 사람은 AI 도구들 사이에서 메시지를 전달하는 역할까지 맡게 되었습니다. 글쓴이는 사람의 시간을 어디에 쓰는 것이 가장 좋은지 묻습니다.
알아두면 좋은 배경
Simon Willison은 생성된 코드를 사람이 검토해야 하므로, 실제 한계는 사람이 얼마나 빨리 검토할 수 있는지라고 말합니다. Dan Shapiro의 다섯 단계 모델은 단순 자동완성(0단계)에서 완전 자동화된 '다크 팩토리'(5단계)까지의 길을 보여 줍니다. 3단계에서는 사람이 코드 변경 목록(diff)만 읽습니다. 4단계에서는 사람이 명세서를 쓰고 계획을 검토합니다.
핵심 숫자와 사실
왜 중요한가
글쓴이의 제안은 간단합니다. 프로그램이 확인할 수 있는 것은 프로그램에 맡기고, 사람과 LLM은 판단이 필요한 일만 맡기자는 것입니다. 다만 프로그램이 응용 프로그램 코드의 모든 위험을 잡지는 못할 수 있고, 사람이 모든 PR을 계속 승인한다면 댓글이 줄어도 대기 시간은 줄지 않을 수 있습니다. 또 긴 코드를 검토하기보다 계획을 검토하는 것이 더 나을 수 있습니다. 계획의 나쁜 한 줄이 코드의 나쁜 수백 줄로 이어질 수 있기 때문입니다.
앞으로 지켜볼 점
- 프로그램 기반 검사가 인프라뿐 아니라 응용 프로그램 코드의 위험도 판단할 수 있는지.
- 위험 수준별 승인 규칙이 사고를 늘리지 않고 검토 시간을 줄이는지.
- 계획 파일이 한동안 저장된 뒤 정리되는 방식에서 계획 검토가 실제로 잘 작동하는지.
- 검사에서 아무것도 나오지 않을 때, 품질이 높은 것인지 아니면 탐지를 못한 것인지 팀이 어떻게 구분하는지.
용어 풀이
- LLM
- 대량의 글을 학습해 글과 코드를 만들어 내는 대형 언어 모델입니다.
- diff
- 파일에서 무엇이 바뀌었는지 보여 주는 변경 목록입니다.
- conftest
- 설정 파일이 정해진 규칙을 지키는지 검사하는 정책 도구입니다.
- 다크 팩토리
- 사람이 거의 개입하지 않고 소프트웨어를 자동으로 만드는 가장 높은 자동화 단계를 가리키는 말입니다.