평소 Web 서비스나 개발 도구를 만들고 있습니다. 코드 작성 작업에는 상당히 AI를 사용하고 있습니다.
하지만, AI가 코드를 작성해 주게 되었어도, 개발 과정에서 생각해야 할 것은 줄지 않았습니다. 오히려 '무엇을 결정한 후에 맡길 것인가'를 고민하는 시간이 늘어나고 있습니다.
이번 글에서는 AI Workforce의 배경이 되고 있는, AI와의 개발 진행 방식에 대해 써보겠습니다.
예를 들어, '관리 화면을 만들어 달라'고 요청한다고 가정해 봅시다.
화면은 만들 수 있지만, 그것만으로는 판단할 수 없습니다.
누가 볼 것인지. 누가 변경할 수 있는지. 변경한 기록이 필요한지. 실수로 조작했을 때 되돌릴 수 있는지 등입니다.
여기(사용자 정의 영역)를 정하지 않은 채 진행하면, AI는 비어 있는 부분을 보완하며 구현합니다. 그 보완 방식이 자신의 의도와 일치할 것이라고는 장담하기 어렵습니다.
그래서 요청할 때는 '만들고 싶은 것'과 함께, 만져도 되는 범위나 이번 완성 조건을 전달하는 것을 의식하고 있습니다.
코드가 완성되었다. 타입 체크(Type Check)도 통과했다.
그럼에도 불구하고, 이용자가 목적을 달성할 수 있는지는 별도로 확인이 필요합니다.
권한이 다른 계정으로 조작하면 어떻게 될지. 도중에 실패하면 무엇이 남는지. 화면에는 성공이라고 표시되어 있어도, 저장되지 않은 것은 없는지 등을요.
AI에게 구현을 맡길수록, 저는 이런 확인 작업에 시간을 쓰게 되었습니다.
'완료되었습니다'라는 보고를 받는 것만으로는 개발이 끝나지 않습니다.
'위험한 조작은 하지 말라'고 전달하는 것도 필요합니다.
다만, 매번 그 지시가 지켜진다는 전제만으로 진행하는 것은 불안감이 있습니다. 확인이 필요한 작업에는 확인 절차를 거치고, 기계로 제한할 수 있는 부분에는 제한을 두는 것입니다.
AI Workforce에서는 이러한 운영을 위한 규칙이나 시스템을 다루고 있습니다.
AI에게 맡길 범위를 넓히고 싶기 때문에, 맡기는 범위의 경계 또한 정해두고 싶습니다. 이것이 제가 개발에서 중요하게 생각하는 부분입니다.
예전에 료칸(일본식 숙박 시설)을 운영했을 때도, 예약이 들어온다고 해서 일이 끝나는 것은 아니었습니다.
방 준비가 되어 있는지. 안내가 전달되었는지. 당일 담당자가 대응할 수 있는지. 고객이 떠날 때까지 연결되어야 비로소 하나의 서비스가 됩니다.
개발에서도 그 감각은 남아 있습니다.
코드를 작성하는 공정을 AI가 담당하더라도, 이용자의 목적부터 구현, 확인, 운영까지를 연결하는 일은 남습니다.
저에게 있어 '코드는 최소화하고, AI를 오케스트라처럼 활용한다'는 것은 그런 근무 방식입니다.
AI Workforce 역시 실제 개발에서 발견된 과제들을 바탕으로 조금씩 정비하고 있습니다.
GitHub:
개발하고 있는 서비스나 제작 실적: