brunch

[AI] 에이전트 vs 워크플로우

by 김장호

최근 에이전트 시스템에 대해서 학습하다 보니, 에이전트 시스템을 구축하는 방식이 크게 두 가지, '워크플로우(Workflows)'와 '에이전트(Agent)' 아키텍처 방식이 있다는 것을 알게 되었습니다.


아래 LangGraph 플랫폼에서 제공하고 있는 사진을 통해 두 개념의 차이를 명확하게 이해할 수 있습니다.

Workflows and Agents

왼쪽의 워크플로우 시스템은 LLM이 미리 정해진 코드 경로 안에서 작동하는 구조입니다. 예를 들어, '프롬프트 체이닝(Prompt Chaining)'이나 '라우팅(Routing)'처럼 개발자가 설계한 흐름에 따라 LLM이 특정 작업을 수행합니다. 물론 실행 중간에 LLM이 자율적으로 의사결정을 내리는 부분이 있더라도, 결국 그 결정은 개발자가 미리 정의해 둔 몇 가지 선택지 안에서 이루어지며, 다음 행동 또한 정해진 길을 따라가게 됩니다. (= predefined code paths)


반면, 오른쪽의 에이전트 시스템은 LLM이 중심이 되어 자율적으로 판단하고 행동하는 구조입니다. 에이전트는 주어진 목적을 수행하기 위해 스스로 계획을 세우고, 사용할 수 있는 여러 도구(Tool) 중 현재 사고의 흐름 단계에서 사용할 가장 적절한 도구들을 선택해서 사용합니다. 핵심은 스스로 '피드백 루프(Feedback loop)'를 통해 행동의 결과를 학습하고, 다음 행동을 동적(dynamically)으로 수행한다는 것입니다.


아마존에서 지향하는 에이전트 시스템은 사용자 쿼리가 들어왔을 때, 벡터 데이터베이스를 찾을지, 인터넷 검색을 할지 혹은 인터넷 검색 이후에 보완을 위해서 다시 벡터 데이터베이스를 찾을지 등에 대해서 작업자(= 개발자)의 개입 없이 AI가 모든 것을 판단하는, 완전 자율성을 꿈꾸는 아키텍처를 에이전트 구조라고 판단하고 있다고 합니다.


Anthropic에서 제공하고 있는 Building effective agents 자료 내용을 보면 에이전트와 워크플로우의 아키텍처적인 차이점에 대해서 아래와 같이 설명하고 있습니다.


1. Workflows are systems where LLMs and tools are orchestrated through predefined code paths.

2. Agents, on the other hand, are systems where LLMs dynamically direct their own processes and tool usage, maintaining control over how they accomplish tasks.


두 문장을 살펴보면, 결국 두 방식의 핵심적인 차이는 '자율성'에 있습니다. 워크플로우는 미리 짜인 경로(= 개발자 주도)를 따라 LLM과 툴을 순차적으로 오케스트레이션 하는 반면, 에이전트는 LLM(= AI 주도)이 주도권을 갖고 동적으로 다음 행동을 선택하며 과정을 자율적으로 통제하며 작업을 수행한다는 것을 알 수 있습니다.


대부분의 상용 서비스(=프로덕션 레벨)에서는 보통 워크플로우 기반의 에이전트가 주로 활용되는 것 같습니다. 아마 운영 환경이기 때문에 개발자의 설계에 따라 안정적으로 작동하고, 작업 흐름의 예측과 유지보수가 용이하기 때문일 것 같습니다.

하지만 장기적으로는 LLM의 추론 능력이 점차 향상되고, 이에 따른 환경 구성도 보다 안정적으로 구성된다면 완전 자율 시스템, 즉 진정한 의미의 에이전트를 지향하는 방향으로 기술이 발전하고 있음은 분명해 보입니다.


두 방식에 대해서 살펴보며, 설계에 다른 ‘차이점’이 있을 뿐 결국 중요한 것은 어떤 방식이 더 ‘좋은가’가 아니라, 다양한 작업 유형에 따라서 필요에 맞는 시스템을 유연하게 선택 혹은 병합하여 활용할 수 있어야 함을 알 수 있었습니다.

keyword
작가의 이전글서비스 기획 자동화에 꽂힌 이유