Replicated

AI Agent, Context Engineering 본문

학부/딥러닝

AI Agent, Context Engineering

라구넹 2025. 12. 8. 02:15

AI 에이전트

- 사용자를 대신하여 작업을 수행하는 소프트웨어 시스템 또는 프로그램

- 자율적으로 행동하며 목표를 설정하고 계획을 세우고 작업을 실행하여 결과를 얻을 수 있음

- 능동형 AI

 

AI 에이전트의 주요 특징

- 자율성 : AI 에이전트는 사람의 개입없이 독립적으로 작업을 수행

- 목표 지향성 : 에이전트는 특정 목표를 설정하고 이를 달성하기 위해 노력

- 환경 인식 및 상호 작용 : 주변 환경을 인지하고 데이터를 수집하고 외부 환경과 상호 작용할 수 있음

- 학습 능력 : 에이전트는 학습을 통해 지속적으로 성능을 향상 가능

- 추론 및 의사 결정 : 복잡한 문제 해결 및 의사 결정을 수행

 

에이전트의 종류

Zero-shot ReAct

- 작업과 도구 설명을 보고 사용할 도구를 결정

- ReAct는 Reasoning + Acting

- Resoning은 생각(Chain-of-Thought, COT), Acting은 외부 도구 실행을 의미

- 가장 기본이 되는 에이전트 유형

 

Structured Input ReAct

- 인풋이 여러 개인 도구를 사용할 때 필요한 에이전트

 

Conversational

- 대화 + ReAct로 대화 히스토리 저장을 위한 메모리가 필요

 

Self-ask with search

- 인터넷 검색 후 답변하는 에이전트로 검색 도구가 필요

 

ReAct document store

- 문서 저장소 + ReAct로 문서 검색 도구가 필요

 

 

에이전트의 작업 절차

1. Input : 사용자가 에이전트에 작업 할당

2. Thought : 에이전트가 작업을 완수하기 위해 무엇을 할 지 생각

3. Action / Action Input : 사용할 도구를 결정하고 도구의 입력(함수의 입력값)을 결정

4. Observation : 도구의 출력 결과를 관찰

5. 관찰 결과 작업을 완료했다는 판단에 도달할 때까지 2~4 반복

 

 

AI Agent 프레임워크

- AI 에이전트 플랫폼은 자율 에이전트를 생성, 배포 및 관리할 수 있는 소프트웨어

- 일반적으로 코드가 필요 없는 도구로 일상 업무에서 반복되는 작업을 자동화하는데 도움

- 무언가를 하기 위한 단계별 프로세스를 만들 수 있다면 그것은 자동화될 수 있음

 

AI Agent 프레임워크 선택 시 고려 사항

- 다양한 LLM 및 소프트웨어 API와 쉽게 통합할 수 있는가

- 운영 비용이 적절한가

- AI 에이전트 플랫폼이 사용자의 개입 없이 복잡한 작업을 자동으로 실행할 수 있는가

- 처리 속도는 적절한가

- 적절한 보안 설정 및 관리가 가능한가

- 도움을 줄 수 있는 사용자 커뮤니티가 있는가

 

 

주요 프레임워크

LangChain & LangGraph

- 가장 대표적인 AI 에이전트 개발 프레임워크

- LLM을 활용하여 에이전트를 구축하는데 필요한 다양한 도구와 기능을 제공

 

CrewAI

- 파이썬 기반 오픈소스 프레임워크

- 여러 AI 에이전트들이 협력하여 문제를 해결하는 분산형 AI 에이전트의 구축을 지원

- 팀워크와 협업을 중시하는 AI 시스템에 적합

 

LlamdaIndex

- AI 에이전트가 데이터베이스나 다양한 외부 데이터소스를 처리하고 검색할 수 있도록 도와주는 프레임워크

- 검색 기반 AI 시스템이나 지식 관리 시스템을 구축하는데 유용

 

AutoGen

- 서로 다른 분야를 담당하는 네 가지 전문 에이전트와 이를 조율하는 오케스트레이터로 구성

- 다양한 산업에 즉시 적용할 수 있는 모듈을 바탕으로 반복적인 작업을 자동화하거나 대량의 데이터를 처리하는데 유용

 

 

Agent 개발에 자주 사용되는 LangChain 요소

모델

-  OpenAI의 ChatGPT 등 여러 LLM 제공 업체와 연결하는 인터페이스를 제공

 

프롬프트

- LLM에 입력될 프롬프트를 구성하고 관리하는 PromptTemplate과 같은 도구를 포함

- 이는 모델의 출력을 제어하고 특정 작업에 맞게 지시하는데 중요

 

체인

- 일련의 구성 요소를 연결하여 복잡한 작업을 자동화하는 구조

- LLMChain, ConversationChain 등이 대표적

 

에이전트

- LLM을 추론 엔진으로 사용하여 어떤 도구를 사용할지 결정하고 일련의 관찰과 행동을 반복하며 목표를 달성하도록 설계된 고급 구성 요소

 

도구

- 언어 모델이 외부 세계와 상호작용하고 특정 작업을 수행할 수 있도록 지원

- 검색, DB, 파일 시스템, API, 사용자 정의 도구

 

메모리

- 대화 기록이나 이전 상호작용의 컨텍스트를 저장하고 검색하여 모델이 연속된 상호작용에서 일관된 응답을 할 수 있도록 돕는 역할

 

문서 로더 및 텍스트 분할기

- RAG 파이프라인에서 다양한 형식의 문서를 불러오고 처리하기 쉬운 작은 청크로 분할하는데 사용

 

리트리버

- 사용자 쿼리를 기반으로 가장 관련성이 높은 문서를 벡터 저장소 등에서 검색하는 구성 요소

 

 

LangChain Agents

- ReAct 기반 에이전트 개발을 지원

 

구성요소

- Agent : 의사 결정을 담당하는 핵심 컴포넌트

- Tools : 에이전트가 사용할 수 있는 기능들의 집합

- Toolkits : 관련된 도구들의 그룹

- AgentExecutor : 에이전트의 실행을 관리하는 컴포넌트

 

* ReAct

- Reasoning and Actng의 약자, 챗봇이 추론과 행동을 체계적으로 결합하여 문제를 해결하고 정보를 제공하는 프레임워크

핵심 기능

- 추론 : 모델이 문제 해결을 위해 필요한 계획을 유도하고 추적하며 업데이트할 수 있도록 함

- 헹동 : 외부 환경과 상호작용하여 필요한 정보를 수집하고 이를 바탕으로 작업을 수행 

 

* RAG

- Retrieval-Augumented Generation (검색 증강 생성)

- llm이 답변을 생성할 때 외부 데이터베이스에서 관련 정보를 검색하여 이를 바탕으로 더 정확하고 최신 정보를 제공하게 하는 기술

- LLM이 학습한 시점 이후의 새로운 정보도 답변에 반영 가능

- 할로시네이션 줄여주고 출처를 제시해서 신뢰도를 높임

- LLM 자체를 재학습 시키는 대신 외부 데이터베이스만 업데이트하면 되므로 비용과 시간을 절약

- 특정 기업의 내부 문서 등 독점적인 정보를 활용하여 전문 분야에 맞는 답변을 제공 가능


Context Engineering

context : llm이 응답을 생성할 때 참고할 수 있는 입력 정보의 범위

 

context 구성 요소

- prompt : 사용자가 입력한 전체 텍스트

- system / instruction : 모델의 역할이나 스타일을 지정하는 초기 지침

- user / assistant messages : 이전 대화 내용

- rerieved docments(선택적) : RAG 등에서 외부 검색 결과를 추가하여 문맥 확장 가능

 

Context window

- LLM이 한 번에 처리할 수 있는 토큰의 최대 길이

 

요약

- Context Engineering은 대형 언어 모델의 성능을 극대화하기 위해 정보 환경을 체계적으로 설계하는 것
- 단순히 프롬프트를 최적화하는 Prompt Engineering을 넘어서는 개념

- 작업 수행에 필요한 전체 정보(시스템 지시사항, 대화 히스토리, 검색 문서, 출력 예약 공간 등)를 동적으로 조립 및 최적화하여 보다 정교하고 응답성 높은 AI 시스템을 구축할 수 있게 함

- 에이전트가 매 단계마다 필요한 정보만을 적절히 선택, 압축, 저장, 격리해서 llm의 컨텍스트 윈도우에 넣는 전략적 시스템 설계 작업

- 이를 통해 개발 생산성, 복잡한 응용 프로그램의 설계, AI 응용의 실질적인 효율성을 크게 향상 가능

 

항목 Prompt Engineering Context Engineering
범위 단일 입력, 출력 전체 시스템 흐름, 메모리, 도구 통합
지속성 일회성 멀티턴, 세션 또는 장기 메모리
목표 명확한 지시 정황 환경 구성, 상태 유지
기술 문장 조정, 예시, few-shot RAG, 스크래치패드, 동적 데이터, 툴 체인
스케일 소규모 테스트 실전 시스템, 다양한 유저 및 플로우

 

LangChain에서 제공하는 네가지 핵심 전략

- write : 정보를 외부 스크래치패드나 메모리에 기록

- select : 필요한 정보를 필요할 때 컨텍스트로 불러오기

- compress : 긴 기록은 요약 등으로 축소

- isolate : 서로 다른 주제는 분리 저장 등

 

1. Write : 컨텍스트를 어디에 남길 것인가?

- 사용자가 말한 중요한 내용을 에이전트가 직접 기억을 못하니 외부 메모리에 명시적으로 기록

- LangChain애서는 Memory, Dict, Scratchpad, Vector Stroe 등..

 

2. Select : 기억을 다 보여줄 필요는 없고 필요한 것만

- 기록해둔 많은 정보 중 꼭 필요한 정보만 선별해서 LLM에게 전달

- 긴 대화, 많은 기록을 모두 집어넣으면 토큰이 증가하고 답변 정확도가 떨어지고, 관련없는 정보 때문에 핵심을 놓침

- 방법: 조건 필터링, 태그 기반 메모리 조회, Vector Similarity 등

 

3. Compress : 핵심만

- 에이전트가 기억하고 있는 긴 기록이나 복잡한 출력 결과를 핵심 정보만 남겨 요약하거나 정제해서 LLM에게 전달하는 전략

- 긴 기록을 그대로 넣으면 토큰이 초과하거나 llm이 핵심을 못잡거나..

- llm 써서 요약하거나 rule-based 방식으로 요약 또는 추출

 

4. Isolate : 서로 다른 주제는 분리

- 하나의 사용자와 여러 주제를 동시에 다룰 때 정보가 섞이지 않도록 각 주제별로 따로 나누어 저장하고 사용할 때도 명확히 구분해서 불러오기

- llm 기반 에이전트는 모든 걸 연결하려는 경향이 있어 분리가 필요

- 메모리 구조를 주제별로 나누거나 아예 에이전트를 다르게 설계

'학부 > 딥러닝' 카테고리의 다른 글

RAG, MCP  (0) 2025.12.10
LangChain, LangGraph  (0) 2025.12.08
Hugging face  (0) 2025.12.07
자연어 처리 : Seq2Seq, Attention, Transformer  (0) 2025.12.07
자연어 처리 : RNN, LSTM  (0) 2025.12.07