| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 유니티
- unity
- C++
- 언리얼엔진
- Multiplay
- UI
- gameplay ability system
- linear regression
- MAC
- widget
- Unreal Engine
- CTF
- Aegis
- 게임 개발
- Replication
- 게임개발
- gameplay tag
- listen server
- gameplay effect
- 언리얼 엔진
- local prediction
- ability task
- os
- rpc
- attribute
- gas
- photon fusion2
- animation
- 보안
- stride
- Today
- Total
Replicated
AI Agent, Context Engineering 본문
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 |