AI VIDEO BRIEFING

코딩 에이전트가 개발자에게 전화하는 데모: 판단이 필요할 때만 사람을 부르는 설계

음성 AI 빌더 챌린지 1위 데모. 코딩 에이전트가 사소한 수정은 스스로 처리하고, 되돌리기 어려운 설계 결정 앞에서만 개발자 휴대폰으로 전화를 걸어 선택을 받아낸 뒤 그 결정을 그대로 코드에 반영한다.

자리를 비운 사이 코딩 에이전트가 전화를 걸어왔다 — 판단만 사람에게 넘기는 방식 영상 대표 이미지

핵심 메시지

  • 코딩 에이전트가 무인으로 돌아가다가, 사람의 판단이 필요한 지점에서만 개발자 휴대폰으로 전화를 건다.
  • 라우팅 수정이나 탭·공백 실수, 오타처럼 정답이 분명한 문제는 에이전트가 스스로 고치고 전화하지 않는다.
  • 전화를 부른 쟁점은 하위 호환을 지킬 것인가, 아니면 에러 포맷이 바뀌는 깔끔한 리팩터링을 할 것인가였다.
  • 음성 어시스턴트는 개발자가 "둘 다 하자"거나 상대를 오해했을 때도 대화를 정리해 하나의 선택으로 좁혔다.
  • 통화로 정해진 결정은 곧바로 코드에 반영됐고, 판단 근거는 나중에 확인할 수 있도록 로그와 주석으로 남았다.

쉽게 이해하기

7일간 진행된 음성 AI 빌더 챌린지에서 1위를 차지한 데모다. 그리스에 있는 개발자 니콜라오스가 만들었고, 화면은 세 부분으로 나뉜다. 왼쪽 위에는 사람 없이 돌아가는 코딩 에이전트의 명령줄 화면, 왼쪽 아래에는 음성 에이전트 대시보드, 오른쪽에는 자기 휴대폰 화면이 그대로 비친다.

에이전트에게 준 과제는 실제 결제 API에 있는 검증 버그였다. 주문 생성, 쿠폰 적용, 환불, 승인 등 다섯 개 핸들러에 같은 검증 로직이 중복돼 있었다. 고치는 것 자체는 어렵지 않지만, 어떻게 고칠지는 사람이 정해야 하는 문제였다. 에이전트는 그 전까지 라우팅 관련 수정, 탭과 공백이 섞인 실수, 오타 같은 것들을 알아서 처리했고, 안전한 기본값이 있는 결정도 스스로 내렸다. 사소하거나 명백한 사안으로는 전화를 걸지 않았다.

그러다 진짜 갈림길에 도달한다. 선택지는 두 개였다. A안은 하위 호환을 유지하는 것으로, 아무것도 깨지지 않지만 중복 코드가 남는다. B안은 검증기를 하나로 합치는 깔끔한 리팩터링인데, 환불과 승인 쪽 에러 포맷이 바뀐다. 그 에러를 파싱해 쓰는 클라이언트가 있다면 깨진다는 뜻이고, 누가 거기에 의존하는지는 에이전트가 알 방법이 없다. 그래서 전화를 건다.

통화는 매끄럽지만은 않았다. 개발자가 그리스어로 인사하자 음성 어시스턴트는 영어로 계속하자고 요청했고, 개발자가 인사팀에서 온 전화로 오해하자 코딩 에이전트를 대신해 기술적 결정을 물으러 전화했다고 정정했다. 개발자가 "둘 다 쓰면 안 되나"라고 하자 지금은 하나를 골라야 한다고 선을 그으면서, 확신이 없다면 A안이 안전하다고 조언했다. 개발자가 A로 정했다가 다시 B가 낫겠다고 마음을 바꾸자, 어시스턴트는 B가 환불·승인 쪽 에러 포맷을 깨뜨린다는 점을 다시 짚고 두 차례 확인을 받은 뒤에야 확정했다.

통화가 끝나자 에이전트는 개발자가 고른 B안을 그대로 적용했다. 나중에 다시 봤을 때 왜 그렇게 정했는지 알 수 있도록 로그와 주석도 함께 남겼고, 대시보드에는 방금 이뤄진 통화 기록이 추가됐다. 개발자는 결정을 위해 키보드를 한 번도 만지지 않았다.

주요 인사이트

  • 이 데모의 핵심은 음성 기술이 아니라 에스컬레이션 기준이다. 무엇을 스스로 고치고 무엇을 사람에게 물을지 나누는 선이 명확해야, 자동화가 방치도 소음도 되지 않는다.
  • 에이전트가 물어본 이유가 기술적 무능이 아니라 정보 부재였다는 점이 중요하다. 어떤 클라이언트가 에러 포맷에 의존하는지는 코드베이스 안에 답이 없고, 조직 바깥의 맥락을 아는 사람만 답할 수 있다.
  • 대안 없이 멈춰 서는 것과 임의로 추측하는 것 사이의 제3의 선택지를 보여준다. 기존 코딩 에이전트는 대개 둘 중 하나로 실패하는데, 여기서는 대기 대신 사람을 호출한다.
  • 음성 어시스턴트가 "둘 다"라는 답을 받아들이지 않고 하나로 좁힌 진행이 눈에 띈다. 자동화가 이어지려면 사람에게서 실행 가능한 형태의 결정을 받아내야 한다는 점을 보여준다.
  • 결정을 확정하기 전 두 번 확인하고 그 내용을 코드 주석과 로그로 남긴 처리가 실무적으로 중요하다. 음성은 기록이 남지 않는 매체라, 결정의 흔적을 코드 쪽에 남기지 않으면 나중에 근거를 되짚을 수 없다.

자주 묻는 질문

에이전트는 어떤 경우에 전화를 걸고 어떤 경우에는 걸지 않았나요?

라우팅 관련 수정, 탭과 공백이 섞인 실수, 오타처럼 정답이 분명한 문제와 안전한 기본값이 존재하는 결정은 스스로 처리하고 전화하지 않았습니다. 되돌리기 어렵고 코드 바깥의 정보가 필요한 결정에서만 전화를 걸었습니다.

구체적으로 어떤 결정을 물어봤나요?

결제 API의 다섯 개 핸들러에 중복된 검증 로직을 고치는 방법이었습니다. 하위 호환을 유지해 아무것도 깨지지 않게 하되 중복을 남기는 안과, 검증기를 하나로 합쳐 코드는 깔끔해지지만 환불과 승인 쪽 에러 포맷이 바뀌는 안 중 하나를 골라야 했습니다.

개발자가 답을 망설이면 어떻게 되나요?

데모에서는 개발자가 둘 다 쓰자고 하자 어시스턴트가 지금 하나를 골라야 한다고 안내하면서, 확신이 없다면 하위 호환을 지키는 쪽이 안전하며 리팩터링은 나중에 해도 된다고 조언했습니다. 최종 선택은 개발자가 직접 하도록 두었습니다.

통화 결과는 어떻게 반영됐나요?

에이전트는 개발자가 최종 선택한 리팩터링 안을 코드에 그대로 적용했고, 이후 확인할 수 있도록 로그와 주석을 남겼습니다. 대시보드에도 해당 통화 기록이 새로 추가됐습니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식