앤드류 응(Andrew Ng) 교수님은 머신러닝과 인공지능 분야의 세계적인 전문가이자, 구글 브레인(Google Brain) 및 코세라(Coursera)의 공동 창립자, 그리고 딥러닝 전문 교육 플랫폼인 deeplearning.ai의 창립자입니다. 스탠퍼드 대학교에서 인공지능 연구를 지도하며, 인공지능의 대중화와 교육에 크게 기여하고 있습니다. 최근 뉴스 레터로 온 앤드류 응 교수님의 칼럼에서는 인공지능(AI) 에이전트 워크플로우에 대한 중요성을 다룹니다. 그는 AI 에이전트 워크플로우가 올해 큰 진전을 이끌 것이며, 다음 세대의 기반(foundation) 모델보다도 더 중요한 트렌드가 될 것이라고 예상했습니다. 아래는 앤드류 응 교수님의 칼럼 내용을 한글로 번역한 글입니다.
앤드류 응 교수님의 칼럼 번역글
오늘날 우리는 대부분 제로샷으로 LLM을 사용하여 모델이 작업을 수정 없이 바로 최종 결과물을 생성하도록 합니다. 이는 마치 누군가에게 처음부터 끝까지 에세이를 작성해 달라고 요청하면서 백스페이스 없이 바로 타이핑하고 고품질의 결과물을 기대하는 것과 비슷합니다. 이러한 어려움에도 불구하고 LLM은 이 작업을 놀라울 정도로 잘 해냅니다!
하지만 에이전트 워크플로우를 사용하면 LLM에게 문서를 여러 번 반복하도록 요청할 수 있습니다. 예를 들어 다음과 같은 일련의 단계를 거칠 수 있습니다:
- 개요를 계획합니다.
- 더 많은 정보를 수집하기 위해 어떤 웹 검색이 필요한지 결정합니다.
- 초안을 작성합니다.
- 첫 번째 초고를 읽어보고 적절하지 않은 주장이나 불필요한 정보를 찾아냅니다.
- 발견한 약점을 고려하여 초고를 수정합니다.
- 이 과정을 반복합니다.
이러한 반복적인 과정은 대부분의 인간 작가가 좋은 글을 쓰기 위해 꼭 필요한 과정입니다. AI를 사용하면 이러한 반복적인 워크플로우를 통해 한 번에 작성하는 것보다 훨씬 더 나은 결과를 얻을 수 있습니다.
Devin의 멋진 데모는 최근 소셜 미디어에서 많은 화제를 모았습니다. 저희 팀은 코드를 작성하는 AI의 진화를 면밀히 추적해 왔습니다. 널리 사용되는 HumanEval 코딩 벤치마크에서 알고리즘의 성능에 초점을 맞춰 여러 연구팀의 결과를 분석했습니다. 아래 도표에서 그 결과를 확인할 수 있습니다.
GPT-3.5(제로 샷)의 정답률은 48.1%였습니다. GPT-4(제로 샷)는 67.0%로 더 잘 맞았습니다. 그러나 반복 에이전트 워크플로우를 통합하면 GPT-3.5에서 GPT-4로의 개선 효과는 크게 줄어듭니다. 실제로 에이전트 루프로 감싸면 GPT-3.5는 최대 95.1%를 달성합니다.
앞으로의 LLM 트렌드: AI 에이전트 워크플로우
AI 에이전트의 중요성을 강조하는 앤드류 응 교수님은 향후 AI의 중요한 트렌드로 다음과 같은 네 가지의 디자인 패턴 구현을 예상하고 있습니다:
- 반성(Reflection): LLM이 자신의 작업을 검토하고 개선 방법을 찾습니다.
- 도구 사용(Tool Use): 웹 검색, 코드 실행 등을 통해 정보를 수집하거나 데이터를 처리합니다.
- 계획(Planning): 목표를 달성하기 위한 다단계 계획을 수립하고 실행합니다.
- 다중 에이전트 협업(Multi-Agent Collaboration): 여러 AI 에이전트가 작업을 분담하고 협력하여 단일 에이전트보다 더 나은 솔루션을 찾습니다.
이러한 패턴은 AI 에이전트가 더 복잡하고 창의적인 작업을 수행하게 하며, AI 기술의 발전에 크게 기여할 것입니다. AI 연구자와 개발자는 이러한 추세를 주의 깊게 관찰하고, 새로운 AI 에이전트 워크플로우를 탐구해야 합니다.
이 중 반성(Reflection)에 대한 디자인 패턴을 제시하는 앤드류 응 교수님의 후속 칼럼의 번역글을 아래에 소개합니다.
AI 에이전트 워크플로우 예시: 반성(Reflection)
지난 주에는 올해 상당한 진전을 이룰 것으로 예상되는 AI 에이전트 워크플로우의 네 가지 디자인 패턴에 대해 설명해 드렸습니다: 리플렉션, 도구 사용, 계획, 다중 에이전트 협업입니다. 에이전트 워크플로에서는 LLM이 최종 결과물을 직접 생성하는 대신 여러 번 프롬프팅하여 더 높은 품질의 결과물을 단계적으로 구축할 수 있는 기회를 제공합니다. 이번 편지에서는 리플렉션에 대해 설명하고자 합니다. 비교적 빠르게 구현할 수 있는 디자인 패턴이지만 놀라운 성능 향상으로 이어지는 것을 확인했습니다.
ChatGPT/Claude/Gemini에 메시지를 보내고 불만족스러운 결과를 받은 후 비판적인 피드백을 전달하여 LLM의 응답을 개선한 후 더 나은 응답을 받은 경험이 있을 것입니다. 비판적 피드백을 전달하는 단계를 자동화하여 모델이 자동으로 자신의 결과물을 비판하고 응답을 개선한다면 어떨까요? 이것이 바로 리플렉션의 핵심입니다.
LLM에게 코드 작성을 요청하는 작업을 예로 들어보겠습니다. 다음과 같이 프롬프트를 작성하여, 작업 X를 수행하기 위해 원하는 코드를 직접 생성하도록 유도한 다음, 자신의 결과물에 대해 반영하도록 유도할 수 있습니다:
여기 작업 X를 위한 코드가 있습니다: [이전에 생성된 코드].
코드의 정확성, 스타일 및 효율성을 주의 깊게 분석하고 개선 방법에 대한 건설적인 비판을 제공하세요.
때때로 이러한 과정을 통해 LLM이 문제를 발견하고 건설적인 제안을 하기도 합니다. 그런 다음 (i) 이전에 생성된 코드와 (ii) 건설적인 피드백을 포함한 컨텍스트를 LLM에게 제시하고 (iii) 피드백을 사용하여 코드를 다시 작성하도록 요청할 수 있습니다. 비판/재작성 프로세스를 반복하면 더 나은 응답을 얻을 수 있고 더 많은 개선이 이루어질 수 있습니다. 이러한 자기 성찰 과정을 통해 LLM은 코드 작성, 텍스트 작성, 질문에 대한 답변 등 다양한 작업에서 부족한 부분을 발견하고 결과물을 개선할 수 있습니다.
또한 몇 가지 단위의 테스트를 통해 코드를 실행하여 테스트 케이스에서 올바른 결과를 생성하는지 확인하거나, 웹을 검색하여 텍스트 출력 결과를 다시 확인하는 등, LLM에 결과물을 평가하는 데 도움이 되는 도구를 제공함으로써 자기 성찰을 넘어서는 단계까지 나아갈 수 있습니다. 그런 다음 발견한 오류를 반영하고 개선 아이디어를 떠올릴 수 있습니다.
또한 멀티 에이전트 프레임워크를 사용하여 리플렉션을 구현할 수 있습니다. 저는 좋은 결과물을 생성하도록 유도하는 에이전트와, 첫 번째 에이전트의 결과물에 대한 건설적인 비판을 제시하는 에이전트, 이렇게 두 개를 만드는 것이 편리하다는 것을 알았습니다. 두 에이전트 간의 토론을 통해 더 나은 응답을 이끌어낼 수 있습니다.
리플렉션은 비교적 기본적인 유형의 에이전트 워크플로우이지만, 몇 가지 사례에서 애플리케이션의 결과가 크게 개선되어 매우 기뻤습니다. 여러분도 업무에 적용해 보시기 바랍니다. 리플렉션에 대해 더 자세히 알고 싶으시다면 다음 논문을 추천합니다:
- “Self-Refine: Iterative Refinement with Self-Feedback,” Madaan et al., 2023
- “Reflexion: Language Agents with Verbal Reinforcement Learning,” Shinn et al., 2023
- “CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquing,” Gou et al., 2024
2024년 이후 LLM 트렌드를 이끌 AI 에이전트 워크플로우
지금까지 앤드류 응 교수님께서 강조하는 AI 에이전트 워크플로우에 대해서 알아보았습니다. 정리하면, 아무 사전 지식이나 예시도 주지 않고 처음부터 끝까지 LLM이 알아서 답변을 내게 하는 제로샷보단, 반성/도구 사용/계획/다중 에이전트 협업 등의 AI 에이전트 워크플로우를 활용하여 LLM이 스스로 반복 피드백 및 수정하면서 보다 나은 답변을 하도록 유도한다는 것입니다.
제가 올해 초에 전자책과 유튜브 강의 영상으로 제작했던 <프롬프트 엔지니어링 2024>에서도 이와 비슷한 워크플로우의 프롬프트 엔지니어링들을 소개한 적이 있습니다. 외부 도구 라이브러리를 사용하는 ART(Automatic Reasoning and Tool-use)라든가, 수행 과정을 하위 작업들로 나누어 연쇄적으로 연산하게 하는 Prompt Chaining, 여러 명의 가상의 전문가가 서로의 의견을 비판하며 최적의 결과를 찾아가는 ToT(Tree of Thoughts), 추론과 행동(검색 등 외부도구 사용)을 반복하게 하는 ReAct(Reason and Act) 프롬프팅까지… 결국 이러한 개별적인 프롬프트 엔지니어링 기술들이 AI 에이전트 워크플로우 안에 유기적으로 결합되는 것입니다.
사실 작년에도 Auto-GPT, Agent-GPT 등, 이런 AI 에이전트 워크플로우를 구성하는 시도는 몇몇 있었지만, 드라마틱한 결과나 이슈는 만들어내지 못했습니다. 하지만 최근 Devin에서 발표한 사상 첫 인공지능 개발자를 시작으로, 앞으로 AI 에이전트 워크플로우를 활용하는 시도들이 수도 없이 이어질 것입니다. 이와 같은 트렌드의 큰 흐름을 머릿속에 갖고 있는 것만으로도, AI 시장의 가까운 미래를 예측하거나 앞으로 나올 새로운 인공지능 서비스들을 활용하고 대비하는 데 충분한 역할을 할 거라고 생각합니다.