인공지능(AI)이 코드 생성을 자동화하는 '소프트웨어 공장' 개념이 부상하고 있지만, 이는 인간의 역할을 대체하는 것이 아니라 그 위치를 재정의하는 것에 가깝습니다. 클로드 코드(Claude Code)나 코덱스(Codex) 같은 AI 도구가 상당한 작업을 처리할 수 있게 되면서, 반복적이고 이벤트 기반의 소프트웨어 개발 루프를 자동화하는 공장 시스템의 중요성이 커지고 있습니다. 하지만 제품의 근본적인 의도, 시스템 설계, 품질 기준 설정, 그리고 최종 배포에 대한 책임은 여전히 인간의 몫으로 남습니다.
소프트웨어 공장은 GitHub 이슈나 슬랙(Slack) 메시지 같은 외부 입력을 받아 코드를 생성하고 테스트하며, 인간 검토를 거쳐 배포하는 일련의 자동화된 과정을 의미합니다. 예를 들어, 워프(Warp) 같은 시스템은 들어오는 작업을 '구현 준비', '사양 준비', '정보 필요', '구현 대기' 등 네 가지 상태로 분류하고, 레이블을 통해 다음 에이전트(AI)를 실행합니다. 이 과정에서 인간은 AI의 작업 방향을 조향(steering)하고, 모호하거나 위험한 작업에 대한 알림을 받으며, 작업 상태와 맥락을 다른 에이전트나 인간 검토자에게 인계(handoff)받아 최종 판단을 내립니다. 특히, AI가 테스트 자체를 변경하거나 의도와 다르게 구현할 수 있는 위험 때문에 타입 검사, 테스트, 보안 검사, 인간 검토 등 다단계 검증 과정이 필수적입니다.
이러한 변화는 소프트웨어 개발의 속도와 생산성을 극대화하면서도, 인간의 인지 대역폭(cognitive bandwidth) 한계를 고려한 효율적인 협업 모델을 제시합니다. AI는 반복적이고 예측 가능한 작업을 빠르게 처리하고, 인간은 제품의 가치, 시장성, 사용자 경험, 그리고 장기적인 유지보수와 같은 고차원적인 판단에 집중할 수 있게 됩니다. 결국 소프트웨어 공장은 사람을 제거하는 것이 아니라, 의도, 맥락, 취향, 위험, 장기 소유권이 중요한 지점에 인간을 전략적으로 배치하고, 시스템의 신뢰도 변화에 따라 AI의 자율성 수준을 유연하게 조정하는 새로운 개발 문화를 만들어갈 것입니다.