Agent란 무엇일까?
AI/Agent 시리즈 : Agent 개념 정리
LLM을 비롯한 AI 기술이 굉장히 경쟁적으로 발전하고 있습니다. 이제는 LLM의 역할이 점점 커지는 느낌인데, 이에 대두된 개념이 하나 있습니다. 바로 "Agent" 입니다.
Agent에 대한 정의는 하는 사람마다 다르지만, AWS에서는 이렇게 정의했습니다.
"인공 지능 에이전트는 환경과 상호 작용하고, 데이터를 수집하고, 데이터를 사용하여 사전 결정된 목표를 달성하기 위해 필요한 작업을 스스로 결정해서 수행할 수 있는 소프트웨어 프로그램입니다."
즉, AI가 주변과 상호작용해서 필요한 데이터를 직접 얻어 이를 활용할 수 있는 프로그램이라고 간단하게 정의해볼 수 있습니다.

Agent의 역사
1959년 — Advice Taker & Pandemonium
Agent의 역사는 생각보다 이른 시기에 시작되었습니다. John McCarthy의 1959년 논문 《Programs with Common Sense》에서 "Advice Taker"라는 프로그램을 제안하며, 외부로부터의 조언을 받아들여 논리 추론에 활용하는 일종의 자율 시스템, 즉 에이전트의 초기 개념을 처음으로 구체화했습니다. 다만 모든 행동이 미리 정의된 논리 규칙(rule)에 의존했기 때문에 환경 변화에 적응하거나 학습할 수 없다는 한계가 있었습니다.
같은 해 Oliver G. Selfridge는 "Pandemonium" 아키텍처 논문에서 여러 "demons"가 병렬로 패턴을 인식하는 모델을 소개하며, 이때부터 "agent"라는 용어가 본격적으로 사용되기 시작했습니다.
1973년 — Actor Model
Carl Hewitt는 Actor Model을 제안하며 "actor"라는 계산 단위가 비동기 메시지로 상호작용하도록 설계했습니다. 분산·병렬 시스템 구현에 강력한 아이디어를 제공했으나, 에이전트 수가 늘어날수록 메시지 오버헤드와 상태 동기화 문제가 발생했고 상호운용성(interoperability)과 보안 측면에서도 해결 과제가 많았습니다.
1990년대 — 지능형 에이전트
Stuart Russell과 Peter Norvig가 『Artificial Intelligence: A Modern Approach』에서 "지능형 에이전트(intelligent agent)" 개념을 중심 축으로 삼으며, 지각(percept)→행동(action) 주기를 강조했습니다. 이 시기 에이전트는 학습, 계획, 의사결정, 협업 등 다양한 기능을 갖추려 했으나, 미들웨어 계층에서의 복잡성 증가와 실시간 반응성 보장이 큰 도전이었습니다.
2010년대 이후 — LLM 기반 에이전트
GPT-4 등 대형 언어 모델(LLM)을 활용한 AutoGPT 같은 자율 에이전트가 등장했고, Google Cloud Vertex AI Agent Builder 등 클라우드 기반의 멀티에이전트 플랫폼이 발전했습니다. 이러한 현대 에이전트는 자연어 이해·생성, 외부 API 호출, 도구 사용(tool integration) 능력을 갖추었으나, 환각(hallucination), 신뢰성 부족, 높은 운영 비용, 윤리·보안 이슈 등 해결해야 할 과제를 여전히 안고 있습니다.
초기 에이전트 툴들과 한계
LLM을 활용한 에이전트를 표준화하고자 하는 노력이 꾸준히 이어졌습니다. 대표적인 툴들과 각각의 한계를 정리하면 아래와 같습니다.
| 툴 | 특징 | 한계 |
|---|---|---|
| LangChain | LLM을 외부 도구에 연결하는 에이전트 실행기 프레임워크 | 도구마다 별도 래퍼(wrapper) 구현 필요, 재사용성 낮음 |
| AutoGPT | 자연어 목표를 하위 과제로 분해해 반복 수행하는 루프 구조 | 환각·무한 루프 빈발, API 비용 급증, 장애 복구 기능 부실 |
| BabyAGI | 에이전트가 스스로 도구를 만들고 업데이트하는 자가 구축 프로토타입 | 영구 저장 기능 없음, 에러 핸들링·오케스트레이션 기능 미흡 |
| AutoGen | 대화형 에이전트와 이벤트 드리븐 워크플로우를 결합한 멀티에이전트 프레임워크 | 연구용으로 안정성 낮음, 특정 플랫폼 종속으로 벤더 락인 우려 |
| CrewAI | GUI와 코드 양쪽에서 에이전트 팀과 워크플로우를 정의하는 상용 플랫폼 | 표준화된 Tool 인터페이스 없음, 커스텀 커넥터 직접 관리 필요 |
| Semantic Kernel | C#, Python, Java용 경량 SDK, 에이전트 스킬과 메모리 기능 제공 | Azure 환경 특화로 이식성 낮음, 에이전트 간 통신 표준 부재 |
MCP와 A2A: 에이전트 생태계의 성숙
이처럼 MCP 이전의 초기 에이전트 툴들은 공통적으로 다음과 같은 문제를 안고 있었습니다. 각기 다른 API 연결 방식을 요구하는 N×M 커넥터 문제, 프레임워크 간 상호운용성 부재, 분산 시스템 특유의 관찰성·디버깅 기능 미흡, 그리고 보안·프라이버시 관리 부족 등입니다.
이를 바로잡기 위해 두 가지 핵심 표준이 등장했습니다.
첫째, Anthropic은 MCP(Model Context Protocol) 를 제안해 LLM과 도구 간 상호작용을 표준화했습니다.
둘째, Google은 A2A(Agent-to-Agent) 프로토콜을 발표해 에이전트 간 안전하고 일관된 통신 방식을 정의하며 에이전트 생태계의 성숙을 가속화하고 있습니다.
두 프로토콜은 계층적으로 병행 운영되도록 설계되어 있으며, 서로 다른 벤더나 프레임워크로 개발된 에이전트들이 하나의 에코시스템 내에서 효과적으로 협력할 수 있는 기반을 만들어가고 있습니다.