AI/Natural language processing

[Agentic AI] 하네스 엔지니어링이란? | 핵심 요소부터 구축 예제까지

hjjummy 2026. 4. 30. 14:12

하네스 엔지니어링 (Harness Engineering) 이란 무엇이며 왜 중요한가? 

 

AI가 스스로 실수를 줄이고 정해진 규칙 안에서 작동하도록 제어하는 시스템으로, 인간의 개입 없이도 안정적인 결과물을 얻을 수 있는 엔지니어링 기법이다. 

 

 

목차

더보기

1. 하네스 엔지니어링: AI의 안정적인 작동을 위한 필수 시스템

    1.1. AI 활용의 근본적인 목적

    1.2. AI 엔지니어링의 발전 과정: 프롬프트 엔지니어링 부터 하네스 엔지니어링 까지

 

2. 하네스 엔지니어링의 등장 배경과 핵심 요소

    2.1. 하네스 엔지니어링의 필요성: 인간의 개입으로 인한 병목 현상

    2.2. 하네스 엔지니어링의 핵심 요소

 

3. 하네스 엔지니어링 구축예제 및 적용 방안

    3.1. 하네스 엔지니어링 시스템 구축 예시


1. 하네스 엔지니어링: AI의 안정적인 작동을 위한 필수 시스템

 

하네스 엔지니어링은 AI가 스스로 실수를 줄이고 정해진 규칙 안에서 안정적으로 작동하도록 제어하는 시스템이다.

이 하네스 엔지니어링이 주목받는 이유는 무엇일까? 그 전에 우리가 AI를 사용하는 이유가 무엇인가를 생각해 보자!

 

1.1. AI 활용의 근본적인 목적

우리는 AI를 통해 나 대신 돈을 벌거나, 숙제를 하는 등 원하는 모든 것을 해주는 시스템을 만들고 싶어한다. 
즉, AI를 통해 모든 것을 아는 '울트라 휴먼'을 만들고자 한다.


1.2. AI 엔지니어링의 발전 과정: 프롬프트 엔지니어링 부터 하네스 엔지니어링 까지

그러면 AI를 잘 쓰려면 어떻게 해야할까? 초기에는 AI를 잘 쓰는 기법으로 프롬프트 엔지니어링 기법이 떠올랐다. 
즉, AI에게 프롬프트를 구체적으로 잘 주고, AI가 이해하기 쉽게 전달을 잘하는 것이 AI를 잘 쓰는 사람이라고 생각했다.

짧은 작업에는 프롬프트를 잘 쓰는 것만드로도 효과적일 수 있지만 작업이 길어지고, 파일이 많아지며, 중간에 실수 할 경우 반복적으로 프롬프트를 전달하면서 더 중요한 것이 생겨났다.

이러한 반복적인 작업을 줄이기 위해 AI가 일할 작업 환경을 얼마나 잘 설계해두는가 가 중요해졌고, 이에 대한 기법이 하네스 엔지니어링과 관련이 있다. 

 

https://openai.com/ko-KR/index/harness-engineering/

 

하네스 엔지니어링: 에이전트 우선 세계에서 Codex 활용하기

작성자: Ryan Lopopolo, 기술 스태프 멤버

openai.com

 

 

  1. 프롬프트 엔지니어링: AI와의 소통 기술
    - AI가 사용자의 의도를 정확히 이해하도록 최대한 자세하게 설명하는 기술이다.
    - 이는 AI에게 말을 잘하는 방법을 가르치는 것과 같다

  2. 컨텍스트 엔지니어링: AI에게 업무 히스토리 전 달 
    - 단순히 말만 잘하는 것을 넘어, 업무의 히스토리를 AI에게 알려주어 더 나은 결과를 얻도록 한다. 
    - 마치 6개월 일한 인턴이 신입 사원보다 회사 사정을 잘 아는 것처럼, AI에게 회사의 맥락(컨텍스트)을 전달하는 것이 중요하다.

  3. 하네스 엔지니어링: AI의 실수 방지 및 규칙 준수 강화 
    - AI가 스스로 판단하여 일을 너무 잘하게 되면, 때로는 사용자의 의도와 다르게 마음대로 결과물을 만들 수 있다. 
    - 이로 인해 인간이 중간중간 개입하여 AI의 결과물을 확인하고 수정하는 작업이 반복된다. 

    하네스 엔지니어링은 AI가 실수하지 않고 정해진 규칙(바운더리) 안에서 활동하도록 제어하는 시스템이다. 
    이는 마치 강아지 산책 시 사용하는 하네스처럼, AI의 행동 범위를 설정해주는 것과 같다. 
    단순히 "이렇게 하지 마"라고 말하는 것을 넘어, AI가 실수했을 때 이를 잡아낼 수 있는 장치까지 마련하는 것을 의미한다. 
    이를 통해 AI가 실수를 하더라도 스스로 피드백을 통해 수정하거나, 인간이 발견하여 수정할 수 있게 된다.

 


2. 하네스 엔지니어링의 등장 배경과 핵심 요소

하네스 엔지니어링은 AI 개발 과정에서 인간의 개입을 최소화하고 생산성을 높이기 위해 등장했다.


2.1. 하네스 엔지니어링의 필요성: 인간의 개입으로 인한 병목 현상

  1. 기존 개발 방식의 문제점 
    - AI에게 요청하면 AI가 코드를 구현하고, 인간이 테스트 후 수정 요청하는 반복적인 과정을 거친다. 
    - AI의 코드 생성 속도는 빠르지만, 인간의 테스트 속도는 느려 생산성의 병목 현상이 발생한다. 
    - 인간의 잦은 개입은 AI를 기다리게 만들어 오히려 생산성을 저해한다. 
  2. 인간의 개입을 최소화하려는 시도 
    - 생산성 향상을 위해 프로젝트에서 인간을 삭제하고 AI가 스스로 모든 과정을 처리하도록 하는 시스템 구축이 목표가 되었다. 
    - AI가 스스로 계획, 구현, 테스트, 버그 수정까지 완벽하게 수행하여 결과물을 내놓는 것을 원했다.

2.2. 하네스 엔지니어링의 핵심 요소

  1. 가시성 확보: AI에게 '눈' 달아주기 (로그 시스템) 
    - AI가 자신의 작업 과정을 스스로 파악하고 피드백할 수 있도록 로그 시스템을 도입한다. 
    - 개발자들이 과거에는 불필요하다고 여겼던 로그를 오히려 적극적으로 활용한다. 
    - 로그를 통해 AI는 자신이 원하는 결과물이 아니라고 판단하면 스스로 피드백하고 수정할 수 있다. 
    - 크롬 개발자 도구, 스크린샷, 탐색 스킬 등을 활용하여 AI가 버그를 제언하고 수정 사항을 검증하며 UI 동작까지 직접 출연할 수 있게 한다. 
  2. 컨텍스트 관리: AI에게 필요한 정보 점진적 제공 
    - AI에게 너무 많은 정보를 한 번에 제공하면 대충 읽고 넘어가는 문제가 발생한다. 
    - AI가 스스로 필요한 컨텍스트를 찾아가도록 목차를 제공하고 점진적으로 정보를 공개하는 방식으로 변경한다. 
    - 하나의 큰 MD 파일에 모든 정보를 담는 방식 대신, 목차를 활용하여 AI가 부담 없이 필요한 정보를 찾아 활용하도록 한다. 
  3. CI/CD 강제: 규칙 위반 시 에러 발생 
    - AI가 "하지 마"라는 규칙을 무시하지 않도록 강제하는 시스템이 필요하다. 
    - AI가 규칙 밖으로 벗어나면 에러를 발생시켜 되돌아오게 하는 훅(hook)이나 규칙을 설정한다. 
    - 이는 단순히 프롬프트로 요청하는 것을 넘어, 규칙 위반 시 돌아올 수 있도록 룰을 설정하는 것이 핵심이다. 
    - ES 린트 규칙, 커밋 메시지 규칙 등을 활용하여 AI의 행동을 제어한다

 


3. 하네스 엔지니어링 구축 예제 및 적용 방안

하네스 엔지니어링은 실제 개발 과정에서 AI의 안정적인 작동을 보장하며, 점진적인 구축을 통해 효율성을 높일 수 있다.


3.1. 하네스 엔지니어링 시스템 구축 예시

  1. 시스템 구축 과정 
    - 오픈 AI의 문서를 GPT에게 주고, 이를 적용한 하네스 엔지니어링 구축 프롬프트를 생성한다. 
    - 생성된 프롬프트를 적용하고, 필요한 부분을 수정하여 시스템을 완성한다. 
  2. 핵심 구성 요소: 클로드 MD 파일 
    - 클로드 MD 파일은 AI가 명령어를 실행하기 전에 반드시 읽고 시작하는 중요한 규칙 문서이다. 
    - 이 파일에 중요한 규칙을 명시하는 것이 중요하며, 누락 시 AI가 임의로 작동할 수 있다. 

  3. 개발 단계별 하네스 엔지니어링 적용 
    1단계: 플랜 생성 
    - 계획 없이 코드를 작성하지 않도록 플랜을 먼저 생성한다.
      
    2단계: 워크트리에서 구현 
    - 로컬 시스템에 복사본인 워크트리를 만들어 작업하고, 완벽해지면 메인에 병합한다. 
    - 이는 메인 작업 환경이 망가지는 것을 방지하고 인간의 개입을 최소화하기 위함이다. 

    3단계: 테스트 작성 및 검증 
    - 구현된 기능에 대한 단위 테스트, 린트 테스트, 빌드 테스트 등을 수행한다. 
    - 스크립트/verify.tasks를 통해 이러한 테스트를 강제로 수행하도록 한다. 

    4단계: 소스 코드 커밋 및 머지 
    - 개발 완료 후 AI가 스스로 코드를 커밋하고 메인 코드로 합친다. 
    - 커밋 메시지 형식도 미리 정해두어 AI가 규칙에 맞게 작성하도록 한다. 

    허스키(Husky) 활용 
    - 커밋 전후 실행되는 훅 리스트를 설정하여 코드 세이브 전 테스트를 강제한다. 
    - 계획 없는 코드나 마스터 브랜치 직접 수정 시 차단하는 등 규칙 위반 시 실패할 수 있는 장치를 마련한다. 

    문서 및 로그 활용 

    - AI가 클로드 MD 파일을 무시하더라도 다시 돌아올 수 있는 장치를 마련하는 것이 중요하다. 
    - 에이전트 파일은 목차만 제공하여 AI가 필요한 정보를 스스로 찾아가도록 한다. 
    - 대부분의 규칙은 documents 폴더에 저장되며, 로그는 logs 폴더에 기록된다. 
    - 로그를 통해 AI는 스스로 에러를 보고 수정해 나갈 수 있다.