포스트

AI 에이전트의 성능 향상 방법 - 메타인지(Metacognition)

AI 에이전트의 성능 향상 방법 - 메타인지(Metacognition)

오늘은 마이크로소프트의 AI Agents for Beginners 중 ‘Metacognition in AI Agents’ 챕터를 공부했다. AI 에이전트가 스스로의 사고 과정을 어떻게 인지하고 조절하는지에 대한 내용인데, 마치 사람이 자신의 생각을 되돌아보고 개선하는 것과 유사하다는 점이 흥미로웠다.

AI 에이전트의 메타인지

메타인지는 ‘생각에 대한 생각’이라고 요약할 수 있다. AI 에이전트에게 메타인지는 스스로의 행동을 평가하고 조정하는 고차원적인 인지 과정을 의미한다. 이를 통해 에이전트는 자체 인식을 바탕으로 과거 경험을 활용하여 더 나은 결정을 내리고 오류를 식별하며 성능을 향상시킬 수 있다. 투명성, 추론, 적응, 인식 측면에서 AI 시스템의 여러 과제를 해결하는 데 도움이 된다고 한다.

메타인지의 중요성

Importance of Metacognition

메타인지는 아래의 이유들 때문에 AI 에이전트 설계에 있어 매우 중요하다고 한다.

  • 자기 성찰: 에이전트가 자신의 성능을 평가하고 개선이 필요한 부분을 식별할 수 있다.
  • 적응성: 과거 경험과 변화하는 환경에 기반하여 전략을 수정할 수 있다.
  • 오류 수정: 에이전트가 스스로 오류를 감지하고 수정하여 더 정확한 결과를 도출할 수 있다.
  • 자원 관리: 행동을 계획하고 평가하여 시간이나 컴퓨팅 파워와 같은 자원 사용을 최적화할 수 있다.

예시로 나온 여행 에이전트 서비스 ‘Travel Agent’를 생각해보니 이해가 쉬웠다. 이 에이전트는 사용자의 피드백을 분석하고, 과거에 혼잡한 장소를 싫어했던 사용자에게는 인기 관광지 대신 다른 곳을 추천하는 식으로 스스로의 추천 방식을 개선한다. 또한 과거 예약 오류가 있었다면 다음에는 가용성을 더 엄격하게 확인하는 등 스스로 학습하고 진화하는 모습을 보여주었다.

1. AI 에이전트의 구성 요소

메타인지 과정을 이해하기 전에 AI 에이전트의 기본 구성 요소를 알아야 했다.

  • Persona: 사용자와 상호작용하는 방식을 정의하는 에이전트의 개성 및 특성.
  • Tools: 에이전트가 수행할 수 있는 기능 및 역량.
  • Skills: 에이전트가 보유한 지식 및 전문성.

이 세 가지가 합쳐져 특정 작업을 수행할 수 있는 ‘전문성 단위’를 형성한다.

2. 에이전트의 계획 수립

계획 수립은 AI 에이전트 행동의 핵심 요소이다. 목표 달성에 필요한 단계를 수립하고, 현재 상태, 자원, 가능한 장애물을 고려하는 과정이다. 계획의 요소는 다음과 같다.

  • 현재 작업: 작업을 명확하게 정의한다.
  • 작업 완료 단계: 작업을 관리 가능한 단계로 나눈다.
  • 필요 자원: 필요한 자원을 식별한다.
  • 경험: 과거 경험을 활용하여 계획을 수립한다.

‘Travel Agent’가 여행 계획을 돕기 위해 취해야 할 단계들을 보니 구체적으로 이해가 되었다. 사용자 선호도 수집, 정보 검색, 추천 생성, 피드백 수집 및 반영, 예약 확정, 지속적인 지원 등 일련의 과정이 잘 정의되어 있었다.

3. Corrective RAG 시스템

RAG Tool Calling vs Pre-Emptive Context Load

RAG는 검색 시스템과 생성 모델을 결합한 것이다. 쿼리가 들어오면 검색 시스템이 외부 소스에서 관련 문서를 가져오고, 이 검색된 정보는 생성 모델의 입력을 보강하여 더 정확하고 맥락에 맞는 응답을 생성하는 데 사용된다.

Corrective RAG 접근 방식은 RAG 기술을 활용하여 AI 에이전트의 오류를 수정하고 정확도를 향상시키는 데 초점을 맞춘다. 이는 세 가지 단계를 포함한다.

  1. 프롬프트 기법: 관련 정보를 검색하도록 에이전트를 안내하는 특정 프롬프트를 사용한다.
  2. 도구: 검색된 정보의 관련성을 평가하고 정확한 응답을 생성할 수 있도록 에이전트를 지원하는 알고리즘 및 메커니즘을 구현한다.
  3. 평가: 에이전트의 성능을 지속적으로 평가하고 정확도와 효율성을 개선하기 위해 조정한다.

‘Travel Agent’의 교정 RAG 구현 예시를 보니, 초기 사용자 선호도 기반 추천 후 사용자 피드백을 받아 다시 프롬프트를 만들고, 새로운 검색 결과를 필터링하며, 지속적인 평가를 통해 선호도를 조정하는 과정이 명확했다.

선제적 컨텍스트 로드(Pre-emptive Context Load) 는 쿼리 처리 전에 관련 컨텍스트나 배경 정보를 모델에 미리 로드하는 방식이다. 이렇게 하면 모델이 시작부터 정보에 접근할 수 있어 추가 데이터를 검색할 필요 없이 더 많은 정보를 바탕으로 응답을 생성할 수 있다. 효율성과 응답성 측면에서 유리하다고 한다.

목표를 통한 계획 부트스트래핑(Bootstrapping the Plan with a Goal) 은 명확한 목표를 가지고 계획을 시작하는 것을 의미한다. 이를 통해 각 반복이 원하는 결과에 더 가까워지도록 하여 프로세스를 더 효율적이고 집중적으로 만든다.

LLM을 활용한 재순위화 및 점수 부여 는 LLM(Large Language Model)이 검색된 문서나 생성된 응답의 관련성과 품질을 평가하는 데 사용될 수 있다는 내용이다. 초기 검색 후 LLM이 후보들을 평가하고 관련성과 품질에 따라 재순위화하며, 각 후보에 점수를 할당하여 사용자에게 가장 적합한 응답을 선택한다.

RAG: 프롬프트 기법 vs. 도구 는 RAG가 프롬프트 기법으로 사용될 수도 있고, 도구로 사용될 수도 있다는 점을 설명한다.

 프롬프트 기법도구
수동 vs 자동각 쿼리에 대한 프롬프트 수동 구성.검색 및 생성 과정 자동화.
제어검색 프로세스에 대한 더 많은 제어 제공.검색 및 생성 간소화 및 자동화.
유연성특정 요구에 따라 맞춤형 프롬프트 허용.대규모 구현에 더 효율적.
복잡성프롬프트 작성 및 조정 필요.AI 에이전트 아키텍처 내 통합 용이.
  • 프롬프트 기법으로서의 RAG: 수동으로 특정 쿼리나 프롬프트를 작성하여 관련 정보를 검색하고 이를 바탕으로 응답을 생성한다. 개발자가 검색 과정에 더 많은 통제력을 가질 수 있다.
  • 도구로서의 RAG: AI 에이전트 아키텍처 내에 통합되어 검색 및 생성 프로세스를 자동화한다. 각 쿼리마다 명시적인 프롬프트가 필요 없어 효율적이며 대규모 구현에 적합하다.

관련성 평가는 AI 에이전트 성능에서 매우 중요한 부분이다. 에이전트가 검색하고 생성하는 정보가 사용자에게 적절하고 정확하며 유용한지 확인하는 것이다.

  • 컨텍스트 인식: 사용자의 쿼리 컨텍스트를 이해하여 관련 정보를 검색하고 생성한다.
  • 정확성: 제공되는 정보가 사실적으로 정확하고 최신 상태여야 한다.
  • 사용자 의도: 쿼리 뒤에 숨겨진 사용자 의도를 추론하여 가장 관련성 높은 정보를 제공해야 한다.
  • 피드백 루프: 지속적으로 사용자 피드백을 수집하고 분석하여 관련성 평가 프로세스를 개선한다.

의도를 통한 검색(Search with Intent) 은 사용자의 쿼리 뒤에 있는 근본적인 목적이나 목표를 이해하고 해석하여 가장 관련성 높고 유용한 정보를 검색하고 생성하는 것을 의미한다. 단순히 키워드 일치에 그치지 않고 사용자 의도를 파악하는 것이 중요하다. 사용자 의도는 정보성, 탐색성, 거래성 세 가지 주요 유형으로 분류될 수 있다.

4. 코드를 도구로 생성하기

코드 생성 에이전트는 AI 모델을 사용하여 코드를 작성하고 실행함으로써 복잡한 문제를 해결하고 작업을 자동화한다.

  • 자동화된 코드 생성: 데이터 분석, 웹 스크래핑, 머신러닝과 같은 특정 작업을 위한 코드 스니펫을 생성한다.
  • SQL을 RAG로 사용: SQL 쿼리를 사용하여 데이터베이스에서 데이터를 검색하고 조작한다.
  • 문제 해결: 알고리즘 최적화나 데이터 분석과 같은 특정 문제를 해결하기 위해 코드를 생성하고 실행한다.

‘Travel Agent’가 코드 생성 에이전트로서 작동하는 예시도 있었다. 사용자 선호도 수집, 데이터 검색을 위한 코드 생성 및 실행, 여정 생성, 피드백 기반 조정 등 전 과정에서 코드를 생성하고 활용하는 모습이 인상 깊었다. SQL이 데이터베이스와 상호작용하여 데이터를 검색하고 조작하는 데 사용될 수 있으며, RAG와 통합되어 동적으로 SQL 쿼리를 생성하여 사용자 입력에 기반한 맞춤형 추천을 제공하는 것도 흥미로웠다.

마지막으로 메타인지의 예시로 호텔 선택을 최적화하는 에이전트가 나왔다.

  1. 초기 결정: 에이전트는 품질을 고려하지 않고 가장 저렴한 호텔을 선택한다.
  2. 성찰 및 평가: 초기 선택 후 에이전트는 사용자 피드백을 사용하여 호텔이 ‘나쁜’ 선택인지 확인한다. 호텔 품질이 너무 낮으면 자신의 추론을 성찰한다.
  3. 전략 조정: 에이전트는 성찰을 기반으로 전략을 조정하고, ‘최저가’에서 ‘최고 품질’로 전환하여 향후 의사 결정 프로세스를 개선한다. 이 예시를 통해 에이전트가 과거의 선택과 의사 결정 과정을 평가하고, 그 성찰을 기반으로 전략을 조정하는 능력이 바로 메타인지라는 것을 명확히 이해할 수 있었다. —

오늘 공부한 내용을 통해 메타인지가 AI 에이전트의 역량을 크게 향상시킬 수 있는 강력한 도구임을 깨달았다. 메타인지 과정을 통합함으로써 더 지능적이고 적응력 있으며 효율적인 에이전트를 설계할 수 있다는 점이 큰 장점으로 다가왔다. 앞으로 AI 에이전트 설계에 이 개념들을 적극적으로 활용해봐야겠다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.