본문 바로가기

AiDALab Project/Vibe Coding

LLM에 대한 접근 방식의 변화

728x90

 

 

LLM, 대형 언어모델이 등장한 이후로 LLM에 대한 우리의 접근 방법은 프롬프트의 작성이었습니다.

그래서 우리가 원하는 결과에 더욱 가까운 결과를 얻기 위하여 프롬프트를 작성하는 방법을 중요하게 연구하고 있었죠.

그것이 프롬프트 엔지니어링입니다.

 

프롬프트 엔지니어링(Prompt Engineering) LLM으로부터 원하는 결과를 얻기 위해 입력값, 즉 프롬프트를 최적화하는 기술을 의미합니다.

보다 나은 결과를 얻기 위해서 페르소나를 부여한다거나, 결과를 생성할 때 참고할 수 있는 예시를 제공하는 Few-shot 학습을 적용한다거나, 점진적으로 추론을 이어나가는 CoT(생각의 사슬) 기법 등을 사용하는 등 다양한 방법을 사용해 왔습니다.

 

이런 방법들은 별도의 개발 지식 없이도 누구나 AI 성능을 즉각적으로 개선할 수 있다는 장점을 가지고 있었죠.

그러나 모델의 상태나 입력값의 미묘한 차이에 따라 결과가 요동치는 '비결정성' 문제가 크며, 긴 맥락을 유지하기 어렵다는 단점도 동시에 가지고 있었습니다.

특히 페르소나를 부여하는 방법 등은 프롬프트 엔지니어링의 초~중기에는 LLM이 도출하는 결과를 우리가 원하는 결과에 더욱 가깝게 이끌어준다고 생각되었으나, 말투와 같은 표현 방식만 조금 바뀔 뿐, 사실상 큰 효과가 없더라는 연구결과도 나오기 시작했죠.

 

결국 프롬프트만으로는 AI가 내 문서나 특정 도메인 지식을 알지 못해 발생하는 환각(Hallucination) 문제 등을 해결할 수 없다고 판단하기 시작하였고, 이 문제를 개선하기 위해, 외부 데이터를 LLM에게 주입하는 단계로 넘어가게 됩니다.

이것이 프롬프트 엔지니어링을 벗어나 컨텍스트 엔지니어링이 등장하게 된 이유라고 할 수 있습니다.

 

 

컨텍스트 엔지니어링 (Context Engineering)LLM이 답변을 내놓기 전, 질문과 관련된 외부 데이터(문서, DB 등)를 검색하여 프롬프트에 함께 넣어주는 기술입니다.

LLM이 허위 정보를 제공하는 문제를 개선하기 위한 방법으로 흔히 언급되는 RAG(Retrieval-Augmented Generation)가 이 영역의 핵심이라고 할 수 있습니다.

컨텍스트 엔지니어링은 이를 위해서 벡터 데이터베이스(Vector DB) 등을 활용하며, LLM의 단기 기억(Context Window)을 효율적으로 관리할 수 있도록 돕는 역할을 수행합니다.

 

그러나 컨텍스트 엔지니어링은 LLM이 학습하지 않은 최신 정보나 내부 기밀 데이터를 바탕으로 정확한 답변을 할 수 있다는 장점을 가지는 반면, 데이터가 방대해질수록 관련성 높은 정보를 찾는 검색 품질이 중요해지며, 단순 지식 전달 이상의 복잡한 '실행'은 불가능하다는 한계를 가지고 있었습니다.

 

결국 우리가 원하는 대답을 해 줄 수 있는 지식은 갖췄지만, 정작 AI가 코드를 실행하거나 파일을 생성하는 등 실제 업무를 완결 짓는 능력(Action)과 이를 검증하는 체계가 부족하다는 한계에 부딪혔고, 이를 개선하기 위하여 '하네스'의 개념이 등장하게 되었습니다.

 

 

하네스 엔지니어링 (Harness Engineering)AI 모델 자체보다 AI가 활동하는 '환경(Harness)'에 집중합니다.

그리고 이를 위해서 선택한 방법은 LLM이 만든 결과물을 자동으로 검증(Linter, Unit Test)하고, 에러 발생 시 피드백을 주어 스스로 수정하게 만드는 자동화된 루프를 구축하는 것입니다.

AI에게 자율성을 주되, 시스템적인 제약 조건을 설정하고, 이 제약조건을 제대로 지키는지 검증합니다.

예를 들면, "이 코드는 반드시 Python 3.10 표준을 지켜야 함"과 같은 조건을 주고, 그 조건을 지키도록 만든다는거죠.

 

이 방법은 인간의 개입이 없어도 AI 에이전트가 수천 줄의 코딩이나 복잡한 프로젝트를 완수할 수 있는 높은 신뢰성을 확보할 수 있도록 만들어 주지만, 고도의 시스템 아키텍처 설계 능력이 요구되며, 초기 인프라 구축 비용과 복잡도가 높다는 단점을 가지고 있습니다.

그러나 높은 초기 비용과 난이도(Harness 구축)라는 만만치 않은 진입 장벽에도 불구하고, 현재 개발 업계에서 하네스 엔지니어링은 선택이 아닌 필수적인 차세대 표준으로 빠르게 받아들여지고 있습니다.

개발자들은 하네스 엔지니어링을 단순한 도구가 아니라, AI 시대에 소프트웨어를 개발하고 품질을 담보하는 새로운 근본 인프라로 받아들이고 있으며, 초기 비용과 난이도라는 장벽은 조직적 대응(플랫폼 팀)과 기술적 진화(AI 기반 하네스 구축)를 통해 넘어야 할 산으로 여기고 있습니다.

 

 

LLM에 접근하는 방식의 진화 (그림출처: Gemini-Nano Banana 2 로 직접 그림)

 

 

갈수록 급격하게 바뀌어가는 요즘 추세를 따라가기가 점점 힘들어 지네요.

할게 너무 많습니다. ㅠㅠ

 

 

728x90
반응형