AI 는 당신의 데이터베이스를 삭제하지 않았습니다, 당신이 삭제했습니다
요약
최근 AI 에이전트가 프로덕션 데이터베이스를 삭제했다는 사건을 계기로, 본 기사는 기술적 실수의 근본 원인을 'AI의 책임'에서 찾아서는 안 된다고 주장합니다. 저자는 과거 자신의 경험(수동 배포 과정에서의 실수)과 CI/CD 자동화의 필요성을 비교하며, 문제는 AI 자체의 지능 부족이 아니라, 시스템 설계 단계부터 존재하는 위험한 엔드포인트와 부실한 프로세스에 있음을 강조합니다. 따라서 해결책은 AI를 탓하는 것이 아니라, 개발 프로세스를 재정비하고 책임 소재를 명확히 하는 데 있습니다.
핵심 포인트
- AI 에이전트의 실수는 기술적 결함이라기보다 시스템 설계상의 위험 요소(예: 프로덕션 DB 삭제 API)가 존재하기 때문이다.
- 과거 수동적인 개발 프로세스에서 발생한 실수와 비교할 때, 자동화는 인간의 반복적이고 지루한 실수(Human Error)를 제거하는 핵심 역할을 한다.
- AI가 생성한 코드를 맹신하거나 AI에게 책임을 전가해서는 안 되며, 이는 결국 '바이브 코딩'과 같은 책임 회피적인 개발 문화를 초래한다.
- 진정한 해결책은 AI의 활용 여부와 관계없이, 프로덕션에 배포할 내용을 정확히 파악하고 관리하는 견고한 프로세스 구축이다.
- AI는 단순히 토큰을 생성하는 도구일 뿐이며, '추론'이나 '생각'과 같은 용어는 마케팅적 과장임을 인지해야 한다.
지난 주, Cursor/Claude 에이전드가 회사의 프로덕션 데이터베이스를 삭제했다고 주장하는 남자의 트위터가 바이럴되었습니다. 우리는 그가 에이전트에게 고백을 구하려고 할 때 옆에서 지켜보았습니다: "당신은 이 작업을 수행하지 말라고 명령받았음에도 왜 삭제했습니까?" 그는 그 답변을 파싱하려 하여 자신의 실수를 배우거나 AI 에이전트의 위험성에 대해 우리를 경고하려 했습니다.
저 또한 질문이 있습니다: 전체 프로덕션 데이터베이스를 삭제하는 API 엔드포인트가 왜 존재합니까? 그의 글은 AI 의 허위 마케팅, 나쁜 고객 지원 등에 대해 떠들었습니다. 빠진 것은 책임감입니다.
나는 AI 를 맹목적으로 방어하는 사람이 아닙니다. 항상 주의의 측면에 기울입니다. 하지만 도구를 당신의 실수로 비난할 수 없다는 것도 알고 있습니다.
2010 년, 매우 수동적인 배포 프로세스를 가진 회사와 함께 일했습니다. 우리는 버전 관리를 위해 SVN 을 사용했습니다. 배포하려면, 마스터 브랜치와 동등한 트렁크를 날짜로 라벨링된 릴리스 폴더에 복사해야 했습니다. 그런 다음 그 릴리스의 두 번째 사본을 만들어 "현재"라고 불렀습니다. 현재 폴더를 가져오는 것이 항상 최신 릴리스를 주는 것입니다.
일요일, 배포 중, 나는 실수로 트렁크를 두 번 복사했습니다. CLI 를 통해 이를 수정하기 위해 이전 명령어를 편집하여 중복을 삭제했습니다. 그런 다음 아무 문제 없이 배포를 계속했습니다... 또는 그렇게 생각했습니다. 사실, 나는 중복 사본을 전혀 삭제하지 않았습니다. 나는 오히려 잘못된 명령어를 편집하고 대신 트렁크를 삭제했습니다. 그 날 밤, 다른 개발자가 그것을 찾을 수 없었기 때문에 혼란스러워했습니다.
모든 것이 터져버렸습니다. 관리자들이 쫓아다니며 회의가 열렸습니다. 뉴스가 저 팀에 도착했을 때, 리드 개발자는 이미 삭제를 되돌리는 명령어를 실행했습니다. 그는 로그를 확인하여 내가 책임졌음을 보았고, 내 다음 작업은 이 종류의 실수가 다시 발생하지 않도록 배포 프로세스를 자동화하는 스크립트를 작성하는 것이었습니다. 그날 밤에 우리는 더 강력한 시스템을 갖게 되었습니다. 결국 완전한 CI/CD 파이프라인이 된 시스템입니다.
자동화는 수동적이고 반복적인 작업에서 오는 어리석은 실수를 제거합니다. 우리는 "왜 SVN 이 트렁크를 삭제하지 못했습니까?"라고 물어볼 수 있었을 것입니다. 하지만 실제 문제는 우리의 수동 프로세스였습니다. 기계와 달리, 우리는 매일 동일한 방식으로 작업을 정확히 반복할 수 없습니다. 결국 실수할 수밖에 없습니다.
AI 가 대량의 코드를 생성함에 따라, 우리는 동일한 보안의 환상을 얻습니다. 자동화는 매번 동일한 일을 같은 방식으로 수행하는 것입니다. AI 는 내가 브랜치를 복사하고 붙여넣는 것과 비슷하며, 실수를 범할 수밖에 없으며, 그것이 무엇을 했는지 설명할 수 있는 장비가 없습니다. 우리가 사용하는 용어, 예를 들어 "생각"과 "추론"은 지능적 에이전트의 반사처럼 보일 수 있습니다. 하지만 이는 AI 위에 얹힌 마케팅 용어입니다. 실제로 모델은 여전히 토큰을 생성하고 있습니다.
이제 다시 이 남자가 직면한 주요 문제로 돌아갑니다. 프로덕션 데이터베이스를 모두 삭제할 수 있는 공개 API 가 왜 존재합니까? AI 가 그 엔드포인트를 호출하지 않았더라도, 결국 다른 누군가가 그것을 했을 것입니다. 그것은 차의 대시보드에 자폭 버튼을 두는 것과 같습니다. 당신은 차가 좋아서 A 에서 B 로 이동하기 때문에 누르기를 원하지 않는 모든 이유가 있습니다. 하지만 차에서 뿜어내는 동화적인 아이는 그 큰 빨간 버튼을 보자마자 누를 것입니다. 당신은 이제 그 아이에게 그의 추론을 질문할 수 없습니다. 나의 대답은 간단히 "나는 그것을 눌렀기 때문에 그것을 했음"입니다.
저는 이 회사의 애플리케이션 상당 부분이 '바이브 코딩 (vibe-coding)'으로 작성되었을 것이라 의심합니다. 소프트웨어 아키텍트는 제품 팀에서 제공한 AI 생성 설명을 바탕으로 AI 를 사용하여 제품을 설계했습니다. 개발자는 AI 를 사용하여 코드를 작성했고, 리뷰어는 AI 를 사용하여 이를 승인했습니다. 이제 버그가 발생했을 때, 유일한 해결책은 또 다른 AI 를 통해 답변을 구하는 것뿐이며, 이 AI 는 원래 코드를 생성한 GPU 와 동일한 하드웨어를 사용하기도 하지 않습니다. GPU 를 탓할 수 없습니다.
단순한 해결책은 프로덕션에 배포할 내용을 정확히 파악하는 것입니다. 더 현실적인 접근은, AI 를 광범위하게 활용한다면, 능숙한 개발자들이 이를 작업의 보조 도구로 사용하여 책임감을 회피하지 않도록 프로세스를 구축하는 것입니다. 그리고 CEO 나 CTO 가 코드를 작성하지 않도록 하십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Posts의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기