AI VIDEO BRIEFING
LLM 에이전트 추론 강의 정리: ReAct와 CodeAct, 컨텍스트 응축, 크리틱 모델과 멀티에이전트의 실제 비용
카네기멜런대 그레이엄 뉴빅의 LLM 추론 강의를 정리했다. 에이전트의 계획 방식과 화면 표현, 수천만 토큰까지 늘어나는 컨텍스트를 다루는 방법, 재순위로 점수를 올리는 대가, 멀티에이전트가 실제로 유리한 조건을 다룬다.

핵심 메시지
쉽게 이해하기
카네기멜런대의 고급 자연어처리 수업 가운데 LLM 추론을 다루는 회차로, 그레이엄 뉴빅이 강의했다. 모델 구조나 학습으로 정확도를 올리는 이야기가 아니라, 에이전트를 실제로 실행할 때 생기는 추론 비용과 제약에 초점이 맞춰져 있다. 강의는 에이전트를 '과제를 달성하기 위해 도구를 반복적으로 사용하는 시스템'으로 정의하고, 추론·계획, 환경 표현, 긴 컨텍스트, 평가, 크리틱 모델, 다중 에이전트 위임을 차례로 다룬다.
계획 부분에서는 두 갈래가 소개된다. ReAct는 행동 사이에 생각을 끼워 넣는 방식으로, 사고의 사슬이 정확도를 올린다는 효과에 더해 사람이 에이전트의 행동 로그를 읽지 않고도 무슨 일을 하는지 따라갈 수 있다는 장점이 있다. CodeAct는 도구를 개별 호출하는 대신 파이썬 같은 언어로 코드를 작성해 도구를 부르게 한다. 열 개 품목의 가격을 비교하는 일을 열 번의 도구 호출 대신 한 번의 프로그램 실행으로 끝내는 식이다. 강의는 이 선택이 추론 관점에서 큰 출력 하나와 작은 출력 여럿 사이의 절충이라고 정리한다.
계획을 유지하는 장치도 소개됐다. 작업 추적 도구는 단계별 계획을 만들고 진행 상태를 갱신하는데, 이 계획이 파일로 디스크에 저장되기 때문에 컨텍스트 창에서 밀려나도 사라지지 않는다. 생각 도구는 아무 효과도 없는 도구를 하나 만들어 두고 모델이 긴 설명을 적을 자리를 주는 방식이다. 강의자는 추론 전용으로 학습된 모델이라면 굳이 필요 없을 수 있지만, 그렇지 않은 모델에 사고 능력을 덧붙이는 추론 시점의 요령이라고 설명했다.
환경을 어떻게 보여줄지도 비용 문제다. 웹페이지를 마크다운으로 바꾸면 간결하지만 클릭할 링크나 입력창을 표현할 방법이 없다. 그래서 웹 에이전트는 시각장애인용 화면 낭독기를 위해 만들어진 접근성 트리를 재활용해 각 요소에 번호를 붙이고 그 번호로 클릭한다. 최근에는 화면을 캡처한 뒤 요소마다 상자와 번호를 그려 넣는 시각 기반 표현도 널리 쓰인다. 강의자는 모델이 원래부터 웹페이지를 잘 이해한 것은 아니며, 페이지에 자동으로 번호를 붙여 보조 학습 과제를 대량으로 만드는 방식으로 성능이 크게 올랐다고 설명했다. 파일을 다룰 때는 천만 줄짜리 파일을 통째로 읽어 컨텍스트를 날려버리지 않도록 일부만 읽는 도구가 쓰인다.
효율 이야기에서 강의자는 구체적인 숫자를 들었다. 코딩이나 웹 벤치마크 평가에서는 대화 기록이 100단계 안팎, 수십만 토큰까지 늘어나고, 실제 사용에서는 2,000단계까지 가본 적이 있어 수천만 토큰에 이른다는 것이다. 대책은 두 가지다. 이미 계산한 앞부분을 재사용하는 프롬프트 캐싱, 그리고 지나간 단계들을 요약해 절반가량을 덜어내는 컨텍스트 응축이다. 코딩 벤치마크에서 성능을 유지한 채 비용을 두 배 이상 줄였지만, 실제 운영에서는 이미 보낸 풀 리퀘스트를 잊고 같은 요청을 반복하는 실패가 나와 프롬프트를 손봐야 했다는 경험담도 함께 전해졌다.
마지막으로 크리틱 모델과 다중 에이전트가 다뤄졌다. 같은 과제를 여러 번 실행한 뒤 크리틱 모델이 가장 나은 결과를 고르게 하면, 실행 횟수를 두 배로 늘릴 때마다 점수가 꾸준히 올라 20% 남짓이던 성공률이 32%까지 올랐다. 다만 열여섯 번을 돌려야 하는 비용을 감수해야 한다. 다중 에이전트에 대해서는 역할을 나누는 전문화 논리에 회의적이면서도, 병렬로 쪼갤 수 있는 과제에서는 분명한 이점이 있다고 봤다. 대신 에이전트 사이에 넘기는 정보가 지나치게 요약돼 정작 필요한 내용이 빠지는 실패가 흔하며, 그래서 분리했던 웹 브라우징 에이전트를 다시 하나로 합쳤다고 밝혔다.
주요 인사이트
- 에이전트가 일하는 화면을 계속 지켜보는 것은 그 자체로 실패 모드다. 강의자는 보고 있으면 재미있지만 시간을 크게 낭비하므로, 맡겨 두고 나중에 확인하라고 조언했다.
- 계획을 컨텍스트 안에만 두지 않고 파일로 저장하는 설계는, 긴 작업에서 목표를 잃지 않게 하는 값싸고 확실한 방법이다.
- 벤치마크에서 잘 돌아간 컨텍스트 요약이 실제 운영에서는 같은 풀 리퀘스트를 반복 전송하는 문제를 냈다. 벤치마크 성능과 실사용 신뢰성은 다른 문제다.
- 발표되는 벤치마크 막대그래프 가운데 일부는 한 번 실행한 결과가 아니라 여러 번 실행한 뒤 재순위를 매긴 결과다. 같은 점수를 실제 서비스 비용으로 재현할 수 있다는 뜻은 아니다.
- 다중 에이전트의 진짜 강점은 역할 분담보다 병렬화다. 강의자는 병렬로 조사를 나눠 맡기는 방식이 직렬로 조사하는 방식보다 훨씬 많은 자료를 훑는다는 점을 비교 사례로 들었다.
- 테스트 생성은 지루해 보이지만, 좋은 단위 테스트를 쓸 수 있으면 에이전트가 문제를 대체로 풀어낸다는 점에서 더 주목받을 가치가 있다는 의견이 나왔다.
자주 묻는 질문
ReAct와 CodeAct는 어떻게 다른가?
ReAct는 행동 사이에 생각을 자연어로 적어 다음 행동을 정하는 방식이고, CodeAct는 도구를 하나씩 호출하는 대신 코드를 작성해 그 코드가 도구를 부르게 하는 방식이다. CodeAct는 행동 공간이 단순해지고 여러 단계를 한 번에 처리할 수 있어 효율적이다.
에이전트의 컨텍스트 비용은 어떻게 줄이나?
강의는 두 가지를 들었다. 이미 계산한 앞부분의 표현을 재사용하는 프롬프트 캐싱, 그리고 지나간 단계들을 언어모델로 요약해 컨텍스트의 절반가량을 덜어내는 응축이다. 웹 에이전트의 경우 가장 최근의 화면 표현만 남기는 방법도 쓰인다.
여러 번 실행해 최선을 고르는 방식은 실제로 쓸 만한가?
점수를 올리는 데는 매우 효과적이지만 비용이 실행 횟수만큼 늘어난다. 강의자는 성공이 매우 중요하고 큰 비용을 감수할 수 있는 경우에만 현실적인 선택이라고 봤고, 실제 서비스 운영에서 널리 쓰이는지는 확신하지 못한다고 말했다.
다중 에이전트를 쓰지 말아야 할 이유로는 무엇이 언급됐나?
관리할 구성 요소가 늘고 과제를 나누는 일이 까다로우며, 무엇보다 에이전트 사이에 맥락을 주고받기 어렵다는 점이 꼽혔다. 웹을 조사한 에이전트가 지나치게 짧은 보고만 넘겨 코딩을 맡은 에이전트가 필요한 정보를 놓치는 사례가 소개됐다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗