R&D/AI

LangChain 의 Agent 에 대해서 (개요)

sunshout 2024. 3. 27. 09:42

LangChain 에서 Agent 에 대해서 정리합니다.

기본적인 LLM의 동작 방식이 사용자가 입력한 Prompt에 대해서 적절한 Output을 출력한다라고 하면, Agent 는 복잡하고 정교한 사고 작업을 실행할 수 있도록 설계되어 있습니다.

# Concept

Agent는 Task를 수행하기 위해서 주어진 도구(Tools)와 현재 상황을 고려하여 사고(Thought)하고 필요한 다음 행동을 설계하는 역할을 합니다. 이는 Agent가 주어진 작업에 대해 상세한 계획을 세우고 실행하는 것을 의미합니다.

# Agent Overview

Agent 는 다음과 같은 핵심 기능을 가지고 있습니다.

Planning

  • subgoal and decomposition: Agent는 자신에게 주어진 Task를 더 작은 sub-task로 분할하거나, 복잡한 Task를 효율적으로 handling할 수 있는 기능을 가지고 있습니다.
  • Reflection and Refinement: Agent는 이전에 수행한 action에 대해서 self-criticism과 self-reflection을 할 수 있으며, 이를 통해서 다음의 action 수행시 개선된 방향을 계획할 수 있습니다.

Memory

  • Short-term memory: Agent가 현재 진행하고 있는 Task와 관련된 정보를 기억하는데 사용됩니다.
  • Long-term memory: Agent에게 과거의 Task에 대한 기억을 불러 올 수 있게 지원합니다. 이는 Vector storage를 활용하여 Agent의 기억을 무한대로 확장할 수 있습니다.

Tools

  • Agent 가 외부와 Interaction을 할 수 있는 Action을 수행할 수 있도록 다양한 방법을 제공합니다.

 

참고자료

LLM-powered Autonomous Agents, https://lilianweng.github.io/posts/2023-06-23-agent/