(출처=AI 생성 이미지)
|

[그게뭔가요] AI라는 야생마에 고삐를 채우는 법, 하네스 엔지니어링

올해 2월, 오픈AI가 조용히 흥미로운 글을 하나 올렸다. 세 명의 엔지니어가 다섯 달 만에 100만 줄짜리 코드베이스를 완성했다는 내용이었다. 특이한 점은 그 100만 줄 가운데 사람이 직접 쓴 코드가 한 줄도 없었다는 것. 전부 AI 코딩 에이전트인 코덱스가 작성했다. 그렇다면 엔지니어 세 명은 다섯 달 동안 무엇을 했을까.

그들이 한 일을 설명하는 개념이 ‘하네스 엔지니어링(Harness Engineering)’이다.

‘하네스’는 원래 말의 고삐, 안장, 재갈처럼 말에 채우는 마구(馬具)를 뜻한다. 마구는 제 마음대로 가려는 말을 사람이 원하는 길로 인도하기 위해 필요한 도구다. 하네스 엔지니어링에서 AI 모델은 야생마와 같다. AI는 스스로 판단하지만 어디로 튈지 예측하기 어렵다. AI를 사람이 원하는 대로 이끌기 위해서는 마구, 즉 하네스가 필요하다는 것이 하네스 엔지니어링이다.

하네스 엔지니어링이 등장한 건 프롬프트 엔지니어링의 한계 때문이다. 프롬프트 엔지니어링은 AI에게 건네는 지시문(프롬프트)을 정교하게 다듬어 원하는 결과를 얻어내는 기술이다. AI 도구가 처음 보급됐을 때 사람들이 기댄 방법이기도 하다.

그런데 지시문을 아무리 잘 써도 해결되지 않는 문제가 있었다. AI는 지시문 너머의 맥락을 알지 못했다. 내가 어떤 환경에서 일하는지, 어떤 규칙을 따르는지, 이전에 어떤 결정을 내렸는지. 이 모든 것을 매번 다시 설명해야 했다. 조금이라도 빠뜨리면 AI는 빈 곳을 추측으로 채웠고, 결과는 들쭉날쭉했다.

하네스 엔지니어링은 접근 방식을 뒤집는다. 지시문을 고치는 게 아니라, AI가 작동하는 환경 자체를 설계한다.

예를 들어 AI에게 ‘보고서 파일 이름은 반드시 날짜로 시작해야 한다’는 규칙을 지키게 하고 싶다고 하자. 프롬프트 방식은 이 규칙을 지시문에 적는다. 이 방식은 AI가 잊거나 무시하면 끝이다. 하네스 방식은 다르다. 파일 이름이 날짜로 시작하지 않으면 작업 자체가 완료되지 않도록 환경을 만든다. AI에게 규칙을 말로 설명하는 게 아니라, 규칙을 어기면 다음 단계로 넘어갈 수 없는 구조를 짜는 것이다.

사람으로 치면, 온라인 신청서 양식에 특정 칸을 비워두면 제출 버튼이 활성화되지 않는 것과 비슷하다. ‘빠뜨리지 마세요’라고 안내문을 써두는 것과, 빠뜨리면 애초에 제출이 안 되는 것의 차이라고 볼 수 있다.

다시 오픈AI 이야기로 돌아가자. 세 명의 엔지니어는 다섯 달 동안 코드를 한 줄도 쓰지 않았지만, 그렇다고 손을 놓고 있었던 건 아니다. 그들은 AI가 올바르게 작동할 수 있는 환경을 설계하고, 문제가 생기면 지시문을 고치는 대신 구조를 고쳤다. 코드를 짜는 사람에서 코드를 짜는 AI를 짜는 사람으로 바뀐 것이다.

이처럼 하네스 엔지니어링을 도입하면 엔지니어의 역할도 달라진다. AI가 내놓은 결과가 마음에 들지 않으면 문제를 하네스에 반영하고, 같은 실수가 반복되지 않도록 시스템을 고친다.

하네스 엔지니어링은 AI를 마법 상자로 취급하는 게 아니라, 엔지니어가 정해 놓은 틀 안에서 작동하도록 하는 방법론이다. 말을 원하는 길로 데려가기 위해 채찍질을 더 세게 하는 게 아니라, 엉뚱한 곳으로 가지 못하도록 마구를 채우는 것. 하네스 엔지니어링은 그런 개념이다.

글. 바이라인네트워크
<심재석 기자>shimsky@byline.network

일간 바이라인 구독하기

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


The reCAPTCHA verification period has expired. Please reload the page.