[Review] A survey on large language model based autonomous agents - Construction of Autonomous Agent

라미·2025년 7월 27일

Paper Review

목록 보기
2/2

전편
[Review] A survey on large language model based autonomous agents - Overview of Autonomous Agent

지난 시간에는 Autonomous Agent의 정의와 발전 과정에 대해 살펴봤습니다.
오늘은 그러한 LLM 기반의 Autonomous Agent가 어떤 구조로 구성(Construction) 되는 지에 대해 살펴보도록 하겠습니다.


Construction of Autonomous Agent

본 논문에서는 Autonomous Agent의 Construction에 대해 두 가지 질문을 제시했습니다.

1. How to design the agent architecture to better leverage LLMs?

  • 해당 질문은 Agent를 Hardware 관점에서 어떤 Architecture로 설계할 것인가에 대한 질문입니다.(GPU/CPU 이런 하드웨어 아니고 어떤 느낌인지 아시죠?)

2. How to inspire and enhance the agent capability to complete different tasks?

  • 특정 도메인에 집중되지 않고, 어떻게 Software적인 관점에서 필요한 일을 완료할 수 있도록 능력을 부여할 것인가에 대한 질문입니다.

Agent Architecture Design

기존 LLM은 QA Task에 대해서는 높은 성능을 보였지만, agent는 QA와는 다른 특성을 보입니다. LLM이 QA가 아닌 agent에서도 높은 성능을 보이려면 아래와 같은 작업이 필요합니다.

  1. 특정한 역할을 부여
  2. 에이전트 스스로 환경을 인지하고 학습

기존 LLM을 활용해 위와 같은 작업을 해주기 위해 본 논문에서는 아래와 같은 architecture를 제안했습니다.

각각의 모듈은 아래와 같은 목표를 갖고 설계되어졌습니다.

  • Profile Module : 에이전트 역할 부여
  • Memory & Planning Module : 과거의 행동과 미래 행위를 계획함으로써 동적 환경에 agent가 적응할 수 있게끔 함
  • Action Module : 에이전트의 결정을 특정한 결과로 변환

이제 각 모듈에 대해 자세히 알아보도록 하겠습니다.

1. Profile Module

해당 모듈은 현실 세계의 시나리오에 맞게 Agent에게 역할(Role)을 제시합니다.
이때, 역할 제시는 prompt를 통해 진행되며, 이 역할은 LLM의 행위에 영향을 주게 됩니다.

Profile을 하는 방법은 아래와 같습니다.

  • Handcrafting method
    사람이 직접 manually 하게 한땀한땀 prompt를 입력해가며 역할을 부여합니다.
    세세한 조정은 가능하지만, Agent가 많을 시에는 비효율적입니다.

  • LLM-generation method
    처음 LLM에게 Seed Information과 생성 규칙만 전달하고, 그 이후부터는 LLM이 자동으로 역할을 생성하는 방법입니다.
    대량 Agent에는 효율적이지만, 정교한 조정은 불가능하다는 단점이 존재합니다.

  • Dataset alignment method
    실제 세계의 데이터셋을 기반으로 Agent의 Profile을 생성합니다.

위와 같은 Profile 정의 방식이 존재하며, Profile 과정은 Agent의 설계의 기초가 되는 중요한 단계입니다.

2. Memory Module

Memory Module은 환경으로부터 인지한 정보를 저장하고, 미래 행위에서 해당 정보를 효율적으로 사용할 수 있게끔 합니다.
이러한 과정을 위해 Memory의 structure, format, operation에 대해 집중합니다.

2-1. Memory Structure

Memory Structure에서는 저장된 정보를 어떤 구조로 저장을 할 지에 대해 논의합니다. 이를 위해 인간의 기억 원리와 매커니즘을 활용하는데 Short-Term MemoryLong-Term Memory에 기반하여 구조를 설계합니다.

  • Unified memory
    인간의 short-term 메모리에 기반한 구조입니다. 기억 정보는 별도의 저장 공간이 아닌 "prompt"에 의해 저장됩니다.
    하지만 이 때 정보가 길어지면, Context-window 제한에 의해 이슈가 생깁니다.
  • Hybrid memory
    Hybrid memory는 Short-term과 Long-term을 결합한 개념으로, 기존 Unified memory에서 발생하던 Context-window를 완화시켜 줍니다.
    즉각적인 반응에 대한 정보는 Short-Term 매커니즘을 활용하고, 일관성 있는 답변에 영향을 주는 정보에 대해서는 별도의 데이터베이스나 저장소에 저장을 함으로써 Long-Term 메커니즘을 사용합니다.

위와 같은 메모리 Structure가 존재하는데 Long-Term 사용하는 구조는 거의 존재하지 않습니다. 왜냐하면 Agent는 환경에 적응해야 하므로 즉각적인 반응을 반영 못하는 Long-Term만 사용하는 것은 비효율적이기 때문입니다.

2-2. Memory Format

Memory Format은 저장되는 정보의 형식(text, db, sql 등)을 의미합니다.

  • Natural Language
    Raw Natural Language 자체를 저장함으로써 의미 전달에 효과적이어서 행동 가이드에 효과적입니다.

  • Embedding
    유사도 기반으로 검색을 요구하는 작업에 적합한 format으로 검색 효율이 좋습니다.

  • Database
    편집,삭제,추가와 같은 정밀 조작이 필요한 데이터에 대해서 적합합니다.

  • Structured List
    메모리의 계층적 리스트나 트리 구조를 구체화시킨 것으로 목표/계획 간 명확한 데이터일때 효율적입니다.

2-3. Memory Operations

Memory Operation은 환경과 직접 상호작용하기 위해 데이터를 습득, 축적, 활용하는 작업을 수행합니다. 크게 reading/writing/reflecting 작업으로 나뉩니다.

  • Memory reading
    저장된 메모리로부터 의미 있는 정보를 추출해내는 것을 목표로 작업이 이뤄집니다.
    이때, 의미 있는 정보란 크게 Recency, Relevance, Importance로 총 3가지 기준에 의해 채택됩니다. 이때, 아래의 수식을 만족하는 기억을 추출해내게 됩니다.

    아래 수식에서 활용되는 Scoring Function도 다양하게 정의할 수 있으며, 파라미터 조정을 통해 정보의 가치를 조정할 수도 있습니다.

  • Memory writing
    해당 작업은 환경으로부터 얻은 정보를 추후 행위에 사용될 수 있도록 저장하는 작업을 의미합니다. 하지만 writing 과정에서는 Memory Duplicated, Memory Overflow 문제를 다뤄야합니다.

    Memory Duplicated는 정보가 저장될 때 비슷하거나 이미 존재하는 데이터의 경우, 어떻게 처리할 것인가에 대해 논의합니다. 다양한 방식이 존재하며 중복되는 데이터의 개수를 저장하여 중요도를 파악하는 방법 혹은 일정 수의 중복된 답변이 되었을 경우, LLM을 활용하여 통합하는 방법 등이 존재합니다.

    Memory Overflow는 메모리의 용량이 한계를 도달했을 때 어떤 정보를 지우고 남길 것인지에 대해 논의합니다. FIFO 방식이나 사용자가 정의해서 지우는 방식 등이 존재합니다.

  • Memory reflecting
    Memory Reflecting 작업은 기존 메모리를 검토하고 요약 및 재구성하여 더 나은 의사 결정을 지원하는 작업입니다. 후보 답변을 여러개 두어 채택하는 방식, 여러 개의 답변을 요약하는 방식 등이 활용됩니다.

3. Planning Module

Planning Module은 인간이 업무를 처리할 때, 하나의 큰 업무를 여러 개의 작은 작업으로 나눠서 작업하는 것처럼, Agent가 좀 더 효율적이고 안정적으로 행동하도록 계획(Planning)하는 것을 목표로 합니다.

3-1. Feedback 존재 X

  • Single-Path Reasoning
    최종 업무를 달성하기 위해 여러 개의 중간 과정을 밟도록 합니다. 각 단계는 Cascading 방식으로 연결되며, 순차적으로 실행이 됩니다. 대표적으로 CoT(Chain-of-Thinking) 등이 존재합니다.
  • Multi-Path Reasoning
    위의 Single-Path Reasoning과 다르게 트리 구조와 같이 여러 개의 Reasoning이 존재하며, 최종 단계에서 이들 중 하나의 답을 채택하는 구조로 구성됩니다.
  • External Reasoning
    해당 Planning 방법은 LLM에 모델이 도메인 특화나 복잡한 계획 생성에 한계가 있다는 점을 감안하여 외부 Tool을 사용하는 방법입니다.

3-2. Feedback 존재

실제 복잡한 업무에 대해서는 전제 조건이나, 변수에 의해 초기 계획대로 진행되지 않을 가능성이 매우 높다. 그렇기에 Feedback을 Agent에 전달해주면 더 효율적으로 Agent가 동작할 수 있습니다.

  • Enviormental Feedback
    Agent가 Action을 수행한 후 현실/가상 세계에서 관찰되는 정보를 기반으로 피드백을 주는 것을 의미합니다.

  • Human Feedback
    인간의 선호도나 의견이 필요한 경우에 사용하는 Feedback 방법으로, 인간의 주관적인 기준으로 Feedback을 전달합니다.

  • Model Feedback
    별도의 평가자가 있는 것이 아닌 Agent 스스로 내부의 모델을 활용하여 Feedback을 진행합니다.

4. Action Module

Action Module은 Agent의 의사 결정 후 실제 행동으로 변환하는 역활을 수행합니다. 이 때 해당 모듈은 행위의 목적을 정의하고, 행위를 어떻게 수행할 것인가에 대해 논의한 후, 가능한 행동 범위를 정의하고, 실행이 가져올 영향력을 평가합니다.

4-1. Action Goal

Agent가 수행할 행동의 목적과 의도를 명확히 정의하는 단계로, 최종 업무의 목적을 명확히 정의해야 합니다.

4-2. Action Production

Agent가 목표를 달성하기 위해 실제 행동을 어떻게 생성하는지를 설명하는 단계입니다.

  • Memory Recollection 기반
    과거 메모리에서 관련 정보를 검색하여 행동을 생성하는 방식을 의미합니다.

  • Plan Following 기반
    사전에 생성된 계획(Plan)을 따라 행동을 수행하는 방식입니다.

4-3. Action Space

Agent가 수행할 수 있는 행동 집합을 정의하는 단계입니다. 이때 Agent는 내부의 지식 뿐만 아니라 데이터베이스, 외부 모델, 외부 API 등 다양한 자원으로부터 데이터를 수집할 수 있습니다.

4-4. Action Empact

해당 과정은 Agent의 행동이 환경과 Agent 내부 상태에 미치는 결과를 의미합니다. 크게 세 가지 대표적인 영향 유형을 소개합니다.

  • Changing Environments : 행동으로 인해 외부 환경의 상태가 변화를 뜻합니다.
  • Altering Internal States : 메모리 업데이트 등과 같은 Agent 자체의 변화를 의미합니다.
  • Triggering New Action : 새로운 행동을 유도함으로써 하나의 행동이 다음 행동으로 이어집니다.

Agent Capability Acquisition

Capability Acquisition은 LLM 기반 Agent가 다양한 작업을 수행하기 위해 필요한 능력을 확보하고 향상시키는 과정을 의미합니다.
위의 Architecture를 통해 기본 LLM이 가진 언어 이해 및 생성 능력을 향상 시켰다면, 해당 과정을 통해 도메인 특화 기능, 도구 활용 능력 등을 강화할 수 있습니다.

1. With Fine-tuning

모델 파라미터를 조정하여 특정 작업을 수행하는 능력을 강화하는 방법으로, 인간 Annotated Dataset이나 LLM이 생성한 데이터, 실세계 데이터셋 등을 활용하여 모델에 직접 반영하는 방법입니다.
하지만 오픈소스 LLM에서만 가능하며, 비용 및 구축 부담이 크다는 단점이 존재합니다.

2. Without Fine-tuning

모델 파라미터 변경 없이 외부 전략으로 능력을 강화하는 방식으로 Prompt Engineering / Mechanism Engineering 방법이 존재합니다.
해당 방식은 오픈소스 및 Closed-source에서도 모두 적용 가능하지만 입력 컨텍스트에 한계가 존재하여 설계가 어렵다는 단점이 존재합니다.

0개의 댓글