ai를 사용하면서 개발을 하다 보면 새로운 개념들과 최신정보가 하루가 다르게 쏟아져 나옵니다.
오늘은 최근 개발을 하다가 알게된 하네스 엔지니어링이라는 용어에 대해 정리하겠습니다.
(개인적으로는 생각보다 크게 어려운 개념은 아닌데 용어가 워낙 생소해서 피곤한 것 같습니다.)

1.ai를 통해 개발하다보면 자주 듣는 컨텍스트 스위칭

ai가 처음나왔을때만 해도 프롬프트만 명확하고 구체적으로 작성하여 요청해야 ai가 실수 없이 답변을 준다 해서
프롬프트를 어떻게 하면 잘 쓰는지에 대한 이야기가 많았습니다. 하지만 어느 순간부터 ai를 통해 다양한 작업을 장시간 해야 돼서 기본적인 프롬프트를 만으로는 부족해서 나온 게 컨텍스트 스위칭입니다.
2.컨텍스트 스위칭 개념 정리
개발자가 AI 도구를 활용해 개발하다 보면 생각보다 처리해야 할 일이 많습니다. 단순히 AI에게 코드를 생성해 달라고 요청하는 것으로 끝나는 것이 아니라, 생성된 코드가 실제 프로젝트 구조에 맞는지 검토하고, 관련 문서를 확인하고, 팀의 개발 규칙이나 코드 스타일과 맞는지도 살펴봐야 합니다. 경우에 따라서는 이전 대화 이력이나 작업 의도까지 다시 정리해야 합니다.
이처럼 개발자가 코드 작성, AI 답변 확인, 문서 검토, 테스트 실행, 프롬프트 수정 사이를 계속 오가며 작업 흐름을 다시 잡는 과정이 바로 AI 개발에서 말하는 컨텍스트 스위칭입니다. 쉽게 말해, 하던 작업의 문맥을 잠시 내려놓고 다른 문맥으로 전환했다가 다시 돌아오는 과정이라고 볼 수 있습니다.

예를 들어 Claude Code를 사용해 본 분들이라면 CLAUDE.md 파일을 한 번쯤 접해보셨을 겁니다. 이 파일에는 프로젝트 규칙, 실행 명령어, 코드 스타일, 주의사항 등을 미리 정리해 둘 수 있습니다. 이렇게 작업에 필요한 정보를 구조화해 두면 AI에게 매번 같은 내용을 반복해서 설명하지 않아도 되고, 개발자 역시 작업 흐름을 다시 정리하는 시간을 줄일 수 있습니다.
결국 컨텍스트 스위칭을 줄이는 핵심은 AI가 참고해야 할 작업 문맥을 미리 정리해 두고, 개발자가 불필요하게 여러 정보 사이를 오가지 않도록 만드는 데 있습니다. AI를 잘 활용한다는 것은 단순히 좋은 답변을 얻는 것이 아니라, 개발 흐름이 끊기지 않도록 작업 환경과 문맥을 체계적으로 관리하는 것에 가깝습니다.
3. 요즘 뜨는 하네스 엔지니어링이란?

AI도구를 잘 사용하더라도 인간의 입장에서 볼 때 부족하고 실수를 할 때가 많습니다.
예를 들어 클린코드로 개발을 해야 된다, 파일용량 제한을 넘기지 말아야 된다, 폴더구조를 어떤 식으로 만들어라 등
명확하고 디테일하게 말해줘도 응답 오는 게 올바르지 않을 때가 많으며 이럴 때 인간의 개입이 많아지며 AI가 만들어내는 생산성에 비해 인간의 효율성은 차이가 나게 됩니다. 즉 보통 AI한테 작업을 요청 보내고 구현된 코드를 보고 테스트하고 잘못된 거는 다시 요청하게 되는 순서가 반복될 텐데 이를 줄이고자 하는 게 하네스 엔지니어링입니다. 개발자의 불필요한 개입을 최소한으로 줄이고 AI가 올바른 코드를 만들어 낼 수 있는 환경을 말하는 것으로 harness 또한 한국어로 말에게 사용하는 안장, 마구, 제어장치를 의미하며 AI를 좀 더 체계적으로 제어하고 관리하기 위한 환경을 구축해 간다고 생각하면 됩니다.
4. 하네스 엔지니어링 사용방법

하네스 엔지니어링은 개발에 도입하려면 생각보다 초기에 생각보다 많은 시간이 들어갑니다.
기능과 파트별로 로그를 남겨 관리한다거나 컨텍스트를 세분화해서 챕터별로 나눠 사용한다거나 CI/CD를 어떤 형식에 따라 관리할지 커밋과 머지는 어떤 형식에 따라 메시지를 쓰고 남길지 등 워크플로우와 실행 환경을 구축하는데 시간이 많이 투여되자만 한번 만들어 놓으면 좋다고 합니다.
마무리

하네스엔지니어링 안에 컨텍스트 스위칭도 포함된 큰 개념입니다.
용어가 좀 어려울 수도 있지만 결국에는 AI를 어떻게 잘 사용할지에 대한 이야기입니다.
참고 자료(더 궁금하시면 보시면 좋을 것 같아요!)