본문 바로가기

인공지능

AI 소프트웨어 팩토리, 왜 하네스 엔지니어링만으로는 부족할까?

728x90
반응형
728x170

AI 코딩 에이전트의 발전으로 소프트웨어 개발 방식이 빠르게 변화하고 있습니다. 코드 생성 속도는 과거와 비교할 수 없을 만큼 빨라졌고, 사람의 개입을 최소화하는 '무인(Lights-off) 소프트웨어 팩토리'까지 등장했습니다. 하지만 실제 프로덕션 환경에서는 기대했던 만큼의 효과를 얻지 못하는 사례도 늘어나고 있습니다.

그 이유는 단순히 AI의 성능이 부족해서가 아닙니다. 현재의 AI는 테스트를 통과하는 코드는 빠르게 생성할 수 있지만, 장기적인 유지보수성과 시스템 설계 품질까지 판단하기에는 아직 한계가 있기 때문입니다.

이번 글에서는 무인 소프트웨어 팩토리가 직면한 문제와 그 원인, 그리고 AI 시대에도 인간이 반드시 수행해야 하는 역할에 대해 살펴보겠습니다.

반응형

AI 소프트웨어 팩토리의 등장

최근 AI 기반 개발 환경에서는 다양한 에이전트와 하네스를 조합해 코드 생성부터 테스트, 리뷰, 배포까지 자동화하려는 시도가 이어지고 있습니다.

이러한 접근의 핵심 전제는 다음과 같습니다.

  • 사람보다 AI가 더 빠르게 코드를 작성할 수 있다.
  • 코드 생성 비용은 매우 낮아졌다.
  • 자동 테스트와 리뷰만 충분하다면 사람의 코드 리뷰도 제거할 수 있다.

목표는 개발 속도를 10배에서 많게는 100배까지 높이면서도 높은 품질을 유지하는 것입니다.

그러나 실제 운영 환경에서는 기대와 다른 결과가 나타나고 있습니다.


왜 실제 프로덕션에서는 문제가 발생할까?

실제 복잡한 코드베이스에서는 AI가 생성한 코드가 시간이 지날수록 유지보수를 어렵게 만드는 경우가 발생합니다.

대표적인 문제는 다음과 같습니다.

  • 불필요한 try/catch 남용
  • 무분별한 타입 캐스팅
  • 동일한 수정이 여러 파일에 반복되는 구조
  • 코드 의존성이 복잡하게 얽히는 설계

이러한 변경은 기존 테스트를 모두 통과할 수도 있습니다. 하지만 시간이 지나 새로운 기능을 추가하거나 버그를 수정할 때 큰 비용으로 이어집니다.

즉, 테스트 통과와 좋은 설계는 서로 다른 문제입니다.


AI 강화학습이 해결하지 못하는 문제

현재 코딩 모델은 대부분 강화학습(RL)을 통해 성능을 향상시킵니다.

보상의 기준은 매우 명확합니다.

  • 버그를 수정했는가
  • 기존 테스트가 모두 통과하는가

이처럼 빠르고 명확하게 평가할 수 있는 요소는 강화학습에 적합합니다.

반면 유지보수성은 다릅니다.

좋은 설계인지 여부는 몇 초 안에 판단할 수 없습니다. 오히려 몇 달 뒤 새로운 기능을 추가하거나 시스템을 수정할 때 비로소 문제가 드러나는 경우가 많습니다.

따라서 현재의 강화학습은 장기적인 코드 품질을 충분히 학습하기 어려운 구조를 가지고 있습니다.


코드 리뷰를 없애면 생기는 문제

무인 소프트웨어 팩토리는 사람의 코드 리뷰를 제거하는 것을 목표로 합니다.

하지만 실제 사례에서는 코드를 읽는 사람이 사라질수록 누적된 기술 부채가 빠르게 증가했습니다.

처음에는 빠른 개발이 가능하지만 시간이 지나면 다음과 같은 문제가 발생합니다.

  • 코드 구조를 이해하기 어려워짐
  • 새로운 기능 추가 비용 증가
  • 장애 발생 시 원인 분석 시간 증가
  • 결국 기존 코드를 다시 작성해야 하는 상황 발생

즉, 코드를 생성하는 비용은 줄어들었지만 코드를 이해하는 비용은 오히려 증가할 수 있습니다.


AI 시대에도 인간이 필요한 이유

자료에서는 인간이 반드시 참여해야 하는 네 가지 단계를 제안합니다.

1. 제품 요구사항 검토

무엇을 만들 것인지 명확히 정의합니다.

사용자의 문제와 성공 기준을 먼저 합의하면 AI가 잘못된 방향으로 구현하는 위험을 줄일 수 있습니다.

2. 시스템 아키텍처 설계

서비스 간 통신 구조와 데이터 흐름을 먼저 결정합니다.

API 계약, 데이터 모델, 시퀀스 다이어그램 등을 활용하면 구현 과정에서 발생하는 재작업을 줄일 수 있습니다.

3. 프로그램 설계

구현 전에 타입, 메서드 구조, 파일 배치 등을 먼저 정의합니다.

AI가 구조를 임의로 결정하는 상황을 줄여 보다 일관된 코드 품질을 유지할 수 있습니다.

4. 수직 슬라이스 개발

한 번에 대규모 기능을 생성하기보다 작은 단위로 구현과 검증을 반복합니다.

각 단계마다 실제 동작을 확인하면 문제를 초기에 발견할 수 있으며, 대규모 수정 비용도 크게 줄어듭니다.


병목은 PR 개수가 아니라 품질이다

AI 도입 이후 Pull Request 수가 많아지는 것이 문제가 아닙니다.

더 큰 문제는 재작업이 필요한 PR이 많아진다는 점입니다.

설계가 충분히 검토된 PR은 모든 파일을 읽더라도 비교적 빠르게 검토할 수 있습니다.

반면 설계가 불명확한 AI 생성 코드는 검토 시간이 길어지고, 결국 작성자와 리뷰어 모두에게 큰 부담이 됩니다.

따라서 중요한 것은 PR의 양이 아니라 품질입니다.


현실적인 AI 활용 전략

자료에서는 현재 AI를 가장 효과적으로 활용하는 방법은 '완전 자동화'가 아니라 '인간과 AI의 협업'이라고 설명합니다.

실무에서는 다음과 같은 접근이 보다 현실적입니다.

  • AI가 잘하는 반복 작업은 적극 활용한다.
  • 중요한 설계와 품질 판단은 사람이 담당한다.
  • 작은 단위로 구현과 검증을 반복한다.
  • 코드 리뷰를 통해 유지보수성을 지속적으로 관리한다.

이러한 방식은 무리하게 10배 이상의 생산성을 추구하기보다, 인간 수준의 품질을 유지하면서도 2~3배 정도의 개발 속도 향상을 기대할 수 있습니다.


728x90

AI 코딩 도구는 이미 개발 생산성을 크게 높이고 있습니다. 하지만 테스트를 통과하는 코드와 오랫동안 유지할 수 있는 좋은 코드는 같은 의미가 아닙니다.

현재의 하네스 엔지니어링과 자동화 기술은 반복 작업을 줄이고 명백한 오류를 발견하는 데는 매우 효과적입니다. 그러나 제품 요구사항을 이해하고, 시스템 구조를 설계하며, 장기적인 유지보수성을 고려하는 판단까지 대신하기에는 아직 한계가 있습니다.

결국 AI 시대의 소프트웨어 개발은 인간을 완전히 제거하는 방향이 아니라, AI가 잘하는 영역과 사람이 반드시 맡아야 하는 영역을 명확히 구분하는 것이 핵심입니다. 이러한 균형이 유지될 때 개발 속도와 코드 품질을 함께 확보할 수 있을 것입니다.

300x250

https://github.com/humanlayer/advanced-context-engineering-for-coding-agents/blob/main/wsff.md

 

advanced-context-engineering-for-coding-agents/wsff.md at main · humanlayer/advanced-context-engineering-for-coding-agents

Contribute to humanlayer/advanced-context-engineering-for-coding-agents development by creating an account on GitHub.

github.com

728x90
반응형
그리드형