facts

삼성전자가 가전제품의 MCU(Micro Controller Unit) 펌웨어를 사람의 코딩 개입 없이 AI 에이전트가 자율적으로 개발하는 '하네스 엔지니어링(Harness Engineering)' 체계를 검증했다. 이번 검증 대상은 레인지 후드 제품의 MCU 펌웨어이며, AI가 '계획-구현-검증'의 사이클을 스스로 반복하며 코드를 완성하는 시나리오를 적용했다.

검증 결과, 총 5회의 테스트 모두 사람의 개입 없이 자율 완성이 가능했다. 1회당 소요 시간은 약 4.5~5.5시간으로 측정되었으며, 기본 동작에 대한 완성도는 약 95% 수준으로 나타났다. 나머지 5%의 미완성 영역은 주로 HAL(Hardware Abstraction Layer) 영역인 UART, Timer, WatchDog, Clock 등 실제 하드웨어 검증이 필요한 부분에서 발생했으며, 이는 개발자가 1~4시간 정도의 추가 디버깅을 통해 보완 가능한 수준이었다.

기술 스택으로는 PC 기반의 Codex AI와 JTAG 기반 MCU 디버거, 그리고 220V 전원을 물리적으로 제어하는 USB Switch가 사용됐다. 삼성전자는 이를 통해 순수 개발 시간을 기존 대비 평균 50~70% 단축할 수 있는 가능성을 확인했다.

how-it-works

하네스 엔지니어링은 모델의 파라미터를 조정하는 것이 아니라, AI가 의도한 결과를 낼 수 있도록 작업 환경 전체를 설계하는 방식이다. 핵심은 AI가 참조할 수 있는 정보와 금지 사항, 자가 검증 루프, 폴더 구조, 코딩 표준을 체계화하여 제공하는 것이다. 모든 정보는 `docs/` 폴더를 중심으로 '단일 진실 공급원(Single Source of Truth)'으로 관리된다.

구체적인 폴더 구조와 정의 파일은 다음과 같다.

- `behavior/`: 제품의 세부 동작 사양

- `design/`: 설계 근거 및 논리

- `hardware/`: 하드웨어 구성 및 초기화 정보

- `AGENTS.md`: AI 에이전트가 준수해야 할 작업 규칙

- `ARCHITECTURE.md`: 레이어 구조 및 의존성 규칙

개발 프로세스는 'AUTOPILOT 루프'를 통해 구동된다. Zero-Base 코드에서 시작해 계획, 구현, 검증을 반복하는데, 이때 '생성 에이전트'와 '평가/검증 에이전트'를 분리하여 AI가 자신의 결과물을 과대평가하는 편향을 차단했다. 구현 범위는 SDD(Specification Driven Development), TDD(Test Driven Development), BDD(Behavior Driven Development) 방식으로 통제하며, Build, Test, Lint라는 세 단계의 품질 게이트를 모두 통과해야 다음 단계로 진행된다.

실제 하드웨어 검증 파이프라인은 Codex AI가 JTAG 디버거와 USB Switch를 직접 제어하는 구조다. AI는 사양서를 분석해 테스트 시나리오를 도출한 뒤, 디버거를 통해 MCU 메모리에 특정 값을 쓰는 'Memory Write'로 키 입력을 주입한다. 이후 메모리에서 상태 값을 읽어오는 'Memory Read'를 통해 시나리오의 Pass/Fail을 스스로 판정한다. 특히 USB Switch는 220V 전원을 강제로 껐다 켤 수 있어, 펌웨어 오류로 MCU가 복구 불능 상태(Hang)가 되더라도 AI가 스스로 세트를 초기화하고 재시도할 수 있는 환경을 제공한다.

implementation-impact

개발자와 실무자가 주목해야 할 변화는 역할의 정의다. 기존의 개발자가 직접 코드를 작성하는 '코드 작성자'였다면, 하네스 엔지니어링 체제에서는 AI가 오류 없이 작동하도록 사양과 검증 환경을 설계하는 '사양 및 하네스 설계자'로 전환된다.

특히 "AI가 확인할 수 없는 사양은 존재하지 않는 사양"이라는 원칙이 적용된다. 예를 들어 풍량 조절 방식을 'Low-Mid-High'로 할지 'On-Off'로 할지 문서화하지 않으면, AI는 이를 임의로 판단하게 되어 검증 실패로 이어진다. 따라서 개발자는 레거시 사양서와 본인의 암묵지를 AI가 활용 가능한 형태의 정형화된 문서로 체계화하는 작업에 집중해야 한다.

운영 측면에서는 HAL 영역의 제약 사항을 고려해야 한다. 이번 검증에서 확인되었듯 UART나 Timer 같은 하드웨어 밀착형 영역은 AI의 자율 완성도가 상대적으로 낮다. 이는 AI가 하드웨어의 물리적 특성을 완벽히 시뮬레이션하거나 제어하는 데 한계가 있기 때문이다. 따라서 전체 공정의 95%를 AI가 담당하더라도, 최종 5%의 하드웨어 최적화 및 디버깅 단계에서는 여전히 숙련된 엔지니어의 개입이 필수적이다.

결론적으로 이 체계를 도입하기 위해서는 단순한 AI 도구 도입이 아니라, 사람이 코드를 리뷰하지 않아도 될 만큼 완벽한 '검증 기준'을 먼저 정립하는 초기 투자 단계가 선행되어야 한다.