Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

에이전트

2022년 말 출시된 OpenAI ChatGPT가 2023년 역사상 가장 빠르게 성장한 서비스가 된 이후, 2년 정도 만에 언어 모델은 도구를 사용하는 에이전트로 빠르게 발전했습니다. 정보를 가공해서 전달하는 것도 충분히 유용하지만, 소프트웨어 개발 작업 등에서 인공지능이 직접 명령을 실행하거나 소스 코드를 편집하고 실행 결과에 따라 수정해 나가는 도구를 사용할 수 있는 실행력(agency)을 부여함으로써 인공지능의 산업적 활용 가치가 크게 높아졌습니다.

영어 단어 agent는 라틴어에서 '무언가를 하다’라는 의미에서 유래했습니다. 현재는 단체나 다른 사람을 대리하는 사람이라는 뜻으로 주로 사용됩니다. 이 단어는 미국 영화 등에서 'FBI Special Agent’와 같은 용법으로 친숙합니다. FBI Agent와 같은 경우, 미국 정부의 권한을 위임받아 정부를 대신해 임무를 수행하는 대리인이라는 뜻으로 사용됩니다.

누군가를 대리하려면 보통 판단력과 행동력이 필요합니다. 대리는 권한 등을 위임하는 것인데, 그러한 권한을 주는 이유는 보통 권한을 위임하는 사람의 이익을 위해서입니다. 국민이 선출한 공무원이 국민의 이익을 위해 일하기를 바라면서 권한을 주는 것이 그러한 예입니다.

농사일 등을 돕는 소나 말과 같은 역축은 인간의 근력을 뛰어넘지만, 우리의 이익을 위해 무엇을 하는 것인지 판단할 수 없기 때문에 인간을 대리한다고 하기는 어렵습니다. 산업혁명 이후 등장한 기계들 역시 인간의 근력을 뛰어넘지만, 같은 이유로 대리인이라고 하기는 어렵습니다. 20세기 컴퓨터는 산술이나 논리 연산과 같은 추상적인 개념을 기계적으로 수행하여 정신의 노동 일부를 대신하지만 역시나 자율적 판단력이 없었기 때문에 우리를 대리할 수 있다고 할 수 없었습니다.

그 동안 지구상의 인간의 수는 급속도로 늘어났고, 그로 인해 인류의 요구와 욕구도 그러한 숫자만큼 늘어났다고 할 수 있습니다. 현재의 요구와 욕구의 숫자는 엄청나며, 그러한 것들을 충분히 빠르게 충족시키기 위해서 그야말로 혁신적인 기술이 필요했고, 앞으로도 계속 필요합니다. 혁신적인 것은 진화와 같이 자연적 시간의 흐름에 기대되는 것들보다 훨씬 빠르게 일어나야 하기 때문에 개념의 공간, 즉 지식 공간에서 일어나야 합니다.

지식은 여러 형태로 존재하는데, 일부는 시각적으로 표현될 수 있고, 시각적 표현의 주요한 수단으로 문자(text)가 사용됩니다. 문자는 그 자체로서는 전혀 가치가 없고, 그것이 표현된 형태가 내부의 상태에 변화를 일으켜 세상에 대한 효과로 나타나야 가치가 있습니다. 예를 들어, 신호등의 화살표 기호는 동물이나 그러한 기호에 대해 알지 못하는 문화권의 사람들에게는 전혀 마음의 상태에 변화를 일으킬 수 없습니다. 하지만 도시에서 사는 사람들에게는 운전을 할 때 신호등의 기호가 마음의 상태에 영향을 주고, 그러한 마음의 상태는 외부 세상에 대한 행동으로 발현됩니다. 만약 신호등의 기호로 의도한 행동을 유도할 수 없다면 큰일이겠죠.

20세기 후반이 되기 전까지도 문자와 같은 기호는 인간의 내면 상태에만 영향을 주었습니다. 컴퓨터의 발명은 기호로 기계 장치를 조작하기 시작했다고 평가할 수 있습니다. 기호로 내면의 상태에 대한 변화가 생기고, 그로 인해 기계 장치의 동작이 달라질 수 있습니다. 이것을 우리는 소프트웨어라고 부릅니다.

지금까지의 소프트웨어는 1950년대 이후로 기하급수적으로 높아진 집적회로 덕분에 지극히 빨리 동작하지만 지능적이지는 않았습니다. 소프트웨어와 교육 받은 인간의 마음은 기호로도 내면의 상태가 변할 수 있다는 공통점이 있습니다. 하지만 여러 차이점도 있는데, 그중에서도 소프트웨어는 내면의 상태가 문자로 표현되어야 하는데, 문자는 지식의 일부만 표현할 수 있습니다. 문자로 표현된 것들은 그 체계가 허용하는 범위의 것들만 담을 수 있습니다. 하지만 문자는 내면의 상태나 외부 세계의 실체를 가리키는 표지판일 뿐 실체는 아닙니다. 예를 들어, '꽃’을 문자의 형식으로 아무리 표현하려고 해도 실체를 담아낼 수 없습니다.

꽃 | 꼳 |
명사〔➙곶(訓解 解例 18)>곷(杜詩重 15:33)>ᄭᅩᆾ(胎産 12)>꽃〕
① {식물학, 식물명} 식물의 가지나 줄기 끝에 반구형(半球形) 또는 나팔 모양으로 피는, 생식을 위한 기관. 각각의 모양과 색깔은 여러 가지이며, 꽃받침·꽃잎·암술·수술로 이루어짐. 뒤에 열매를 맺고 씨를 만듦. 세는 단위는 포기·송이·떨기·다발·묶음. 한 떨기의 ∼ | ∼이 활짝 피다 | ∼이 지다 | ∼이 시들다 | 탐스러운 목련∼ | 흐드러지게 핀 벚∼ | ∼이 봉오리를 맺다.
② 가지나 줄기에 생식 기관을 피우는 화초나 관목. 또는, ①이 달린 그 가지나 줄기. ∼을 가꾸다 | ∼을 심다 | 꽃병에 ∼을 꽂다 | 그이가 ∼을 한 다발 사 가지고 왔다.
③ ‘젊은 여자’를 비유적으로 이르는 말. 미스 김은 우리 회사의 ∼이다.
④ 중요하고 핵심적인 존재를 비유하여 이르는 말. 사회부는 신문사의 ∼이다.
⑤ 홍역 등을 앓을 때, 살갗에 좁쌀처럼 발긋발긋 돋는 것. 발반(發斑). ∼이 돋다.
⑥ 된장이나 고추장에 하얗게 피는 곰팡이. 된장에 ∼이 피다.

즉, 문자는 내면과 물리적 상태나 개념의 저차원 표현입니다. '저차원’이라는 의미는 문자가 2차원의 지면 위에 표현될 수 있다는 것을 뜻하고, 원래의 실체에 대한 손실이 있다는 것을 시사합니다. '꽃’이라는 단어로써 어떤 특정한 개체로써 꽃을 온전히 표현할 수 없기 때문입니다. 그런데 그러한 저차원 표현으로 한 인간이 다른 인간의 마음의 상태를 바꿀 수 있다는 점에서 문자적 표현은 무척 유용합니다. 만약 문자가 마음의 변화를 일으킨다고 가정할 수 없다면, 글을 쓰거나 읽는 것은 무가치한 일이겠죠. 또한, F=maF=ma, E=mc2E=mc^2 라는 기호는 각각 표현하고자 하는 물리적 현상을 매우 정확하게 예측하고 설명합니다. 그런데 그렇다고 해서 물리 세계의 모형인 내면의 상태가 저차원이라는 뜻이 아닙니다. 기호를 사용하지 않는 동물들도 생존에 필요한 지식, 즉 외부 세계에 대한 모형을 정교하게 구축할 수 있습니다. 즉, 지식은 기호가 아니며, 그중 일부만 기호로 효과적으로 표현될 수 있습니다. 엘리트 운동 선수의 지식은 극히 일부만 기호로 표현될 수 있습니다. 세계 최고의 운동 선수가 쓴 책을 읽는 것만으로 그 선수와 같은 기량을 갖게 되길 기대하기 어렵습니다.

2010년대 부상하기 시작한 딥러닝 기법의 현재 성과는 지식을 문자적 기호가 아닌 다른 형태로 표현하기 시작한 데에서 기인합니다. 그러한 표현도 당연히 완전하거나, 온전하지 않지만 2차원의 문자보다는 훨씬 더 정밀하게 지식을 표현할 수 있습니다. 2020년대 딥러닝 모델들은 대체로 수천 억 차원 이하로 지식을 표현합니다. 표현하고자 하는 지식의 범위가 클수록 그에 상응하는 표현의 차원이 증가하는 것은 당연합니다. 하지만 효과적인 지식은 개념과 실체들의 수에 비해서는 훨씬 적은 차원을 가지는 것이 특징입니다. F=maF=ma라는 표기로 대표되는 지식은 눈으로 볼 수 있는 모든 물체들의 움직임을 아주 간결하게 표현하지만, 이 표현의 대상이 되는 실체의 수는 무한합니다. 모든 실체를 경험하는 것은 불가능하지만, 전체 또는 대부분을 묘사하는 지식은 가능합니다. 모든 꽃을 경험할 수는 없지만, 그것들은 모두 '꽃’으로 표현할 수 있습니다.

2020년대 딥러닝 모델들은 텍스트로 표현되었으나 실제로는 실체가 크게 손실된 저해상도 지식의 원래 상태에 좀더 가까운 표현을 성공적으로 해내고 있다고 평가할 수 있습니다. 또한, 인간을 비롯한 많은 동물들이 경험을 통해 외부 세계의 모델을 수정할 수 있는데, 신경망 기반의 딥러닝 모델 역시 외부 세계를 데이터로 경험하여 모델을 수정할 수 있게 되어 기존의 결정적 규칙 기반의 한계를 극복했습니다. 결과적으로, 2020년대 딥러닝 기법으로 만들어진 언어 모델들이 생산해 내는 지식이 실제로 인간과 기계의 내면 상태에 영향을 주어 목표를 향해 효과가 외부 세계에 점차 발현되고 있기 때문입니다.

지식 표현의 매체는 생물학적 두뇌의 뉴런이거나 반도체 위의 전하일 수 있지만, 그 둘의 차이가 지식의 차이는 아닙니다. 지식은 외부 세계에 대한 모형이기 때문에 그 효과성은 지식을 활용한 예측력으로 평가할 수 있습니다. 예를 들어, 다음과 같은 문자 메시지를 받았다고 가정해 보겠습니다.

나는 너를 사랑하는데, 너도 나를 ...

다음에 올 단어로써, 다음 중 어떤 것이 올 것이라고 예측할 수 있을까요?

1. 사랑
2. 사모
3. 사살
4. 사진

대체로 '사랑’이 가장 자연스럽다고 느낄 것입니다. GPT 이후 대부분의 한국어 언어 모델 역시 수만 개의 어휘 중 '사랑’이라고 예측합니다.

우리를 대신하는 존재인 에이전트는, '나라도 저 상황에서는 저렇게 판단했겠다’라는 유사한 수준의 지식을 가진다고 가정할 수 있어야 우리의 이익을 위한 행동을 위임할 수 있을 것입니다. 그래서 에이전트가 되려면 먼저 내부의 모형인 지식이 우리가 위임하고자 하는 영역에서 전문가적 수준에 이를 수 있어야 합니다.

2015년 이후 돌파구를 찾은 언어 모델은 여러 가지 성공 요인이 결합된 것입니다. 주요하게는,

지난 천 년 과학적 발전은 물리 세계를 표현하는 효과적인 표현 방법을 찾은 것에 크게 의존합니다. 그러한 표현의 한계를 뛰어넘는 새로운 표현 방법을 성공적으로 찾아낸 것이 현재 인공지능의 성과입니다. 소프트웨어의 작성과 그 동작 결과가 기호로 표현되었는데, 초창기에 자연어 번역을 위해 개발된 언어 모델이 프로그래밍에 유용하다는 것을 발견하는 데는 오랜 시간이 걸리지 않았습니다.

자연스러운 문장의 다음 단어 예측을 우리와 같은 방식으로 하는지 여부는 그렇게 중요하지 않습니다. 새와 비행기는 매우 다르지만 하늘을 날 수 있다는 행동력으로써는 동일합니다. 소프트웨어 개발을 위해 필요한 지식의 면면이 현재까지 작성된 수많은 프로그래밍 코드에 반영되어 있습니다. 적절하게 구성된 대규모의 알고리즘으로 그러한 지식을 표현하여 '나라도 그런 코드를 작성했을 거다’라고 프로그래머들이 대체로 공감할 수 있는 코드를 작성해 나갈 수 있다면, 그러한 모델에는 프로그래밍을 위임할 수 있게 됩니다. 프로그래밍을 위임한다면, 사람이든 인공지능이든 그것을 코드 에이전트(coding agent)라고 부를 수 있습니다.

1에이전트 루프

에이전트는 대체로 다음과 같은 반복(loop)을 수행합니다.

  1. 계획: 사용자의 입력 프롬프트를 지시로 이해하는 과정. 이 때, 필요하다고 판단하고 적절한 도구가 있다면 파일, 코드베이스, 웹과 문서를 읽고 사용자의 지시를 수행하기 위해 필요한 행동을 계획합니다.

  2. 실행: 수립된 계획에 따라 코드를 수정하거나 명령을 실행합니다.

  3. 평가: 코드나 명령의 실행 결과를 살펴보고, 사용자의 지시를 수행하기 위한 목표가 달성되었는지 판단합니다. 평가 결과에 따라, 필요하다면 계획을 수정하고 다시 실행하여 평가하는 과정을 반복합니다.

언어 모델이 에이전트 루프를 수행하려면 각 단계에서 목표를 달성하기 위해 도구가 필요할 수 있습니다. 또한, 목표를 달성하기 위해 새로운 스크립트를 작성하는 것과 같이 스스로 필요한 도구를 제작해야 할 수도 있습니다.

Agent Loop

2에이전트 하네스

하네스(harness)는 본래 말에게 씌우는 마구(고삐와 안장 등)를 뜻하는 단어로, AI 분야에서는 AI 모델이 올바른 방향으로 일할 수 있도록 통제하고 돕는 실행 환경 및 인프라를 의미합니다. 야생마에게 고삐를 채워 원하는 방향으로 달리게 하듯, 모델이 사용자에게 유용한 출력과 동작을 수행하도록 필요한 문서와 도구의 집합입니다.

에이전트는 기본적으로 채팅처럼 언어 모델(language model) 기반입니다. 언어 모델의 사고 과정에는 맥락(context)이 중요합니다. 맥락은 대화 이력, 파일 등에서 추출되거나 첨부된 내용, 여러 대화에 걸쳐 생성된 기억(memory), 사용할 수 있는 도구에 대한 설명 등이 포함됩니다.

코드 에이전트 하네스(harness)는 2025년에 출시된 엔트로픽(Anthropic)의 Claude Code가 대표적이고, 이후 OpenAI Codex, Google Antigravity가 이어 출시되었습니다. 인공지능 생태계가 챗봇에서 에이전트로 급격히 확장됨에 따라 오픈 소스 코드 에이전트 하네스도 잇달아 등장해서 빠르게 발전하고, 도입되고 있습니다.

에이전트 하네스는 텍스트 형식으로 입출력을 표현할 수 있다면 코드에 국한되지 않습니다. Hermes Agent 같은 에이전트 하네스는 이메일이나 메시징 플랫폼, 브라우저에 연결되어 업무 자동화에 사용될 수 있습니다. API의 호출과 응답은 텍스트 형식이기 때문에 기존의 소프트웨어 인프라는 잠재적으로 언어 모델 기반 에이전트의 활용 대상이 될 수 있습니다.