스탠퍼드 CS146S와 Monaco가 AI 시대 소프트웨어 엔지니어링을 가르치는 방식
How Stanford Teaches AI-Native Engineering — Mihail Eric, Monaco
Mihail Eric은 스탠퍼드 'The Modern Software Developer' 강의와 Monaco의 AI 팀 운영 경험을 바탕으로, 엔지니어가 지금 무엇을 배워야 하는지 설명했다. 기사는 코딩 에이전트가 과제를 한 번의 프롬프트로 풀 수 있게 되면서 과제 구성을 바꾼 과정을 다룬다. 강의 CS146S는 처음에 9개 과제와 캡스톤으로 구성됐고, 학생들이 AI 코드 리뷰어를 저장소에 돌려 피드백을 평가하는 과제도 있었다. 다음 학기에는 학생 대부분이 이미 에이전트를 쓰고 있었기 때문에, 과제의 일부를 오픈소스 프로젝트에 패치를 기여하는 것으로 바꿨다. 메인테이너가 학생의 패치를 검토하며, 기사는 에이전트가 기능을 한나절에 구현할 수 있어도 메인테이너가 그 변경을 원하는지, 코드가 왜 그렇게 동작하는지, 다른 부분을 깨뜨리지 않는지는 사람이 확인해야 한다고 짚었다. Monaco는 코드 리뷰 제품을 평가한 뒤 Devin을 계속 쓰고, 백그라운드 에이전트가 제품을 실행하고 실패를 재현하며 패치를 테스트할 워크스페이스는 직접 만들었다. Mihail의 원칙은 "사서 배우고, 만들어서 유지한다"는 것이다. 기사는 PR 이후 과정이 더 큰 문제라고 본다. 에이전트는 현재 코드만 보므로, 팀이 6개월 전 같은 변경을 왜 거절했는지는 알 수 없다는 것이다. 이를 위해 Basis의 Authority Map과 Stripe의 Minions 같은 사례를 함께 소개한다. 참고로 Faros 연구에서는 AI 도입이 높은 팀이 PR은 98% 더 많이 병합했지만 PR 리뷰 시간은 91% 더 길었다고 한다.
에이전트가 만든 diff를 이해하는 과정을 CS146S의 explain-diff 스킬과 같은 방식으로 연습하면, 리뷰 병목으로 드러난 Faros 연구 결과의 부담을 줄이는 데 도움이 될 수 있다.
원문 출처
Latent Space (swyx & Alessio)