Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions 2026-ai-agent-engineering/03주차/김보겸/5장.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# 오케스트레이션

오케스트레이션은 사용자 요청을 처리하는 파운데이션 모델, 추가 정보를 검색하는 외부 및 로컬 도구, 다양한 DB 호출을 중심에서 제어하는 로직

## 에이전트 유형
에이전트에는 여러 유형이 존재하고 각 특징에 따라 알맞는 업무가 존재

- 반사형 에이전트(reflex agent): 입력과 출력이 직접적으로 연결, 추론을 따로 하지 않음
- 리액트 에이전트(react agent): 추론과 행동을 반복 루프 내에서 교차 수행
- 계획 후 실행 에이전트(planner-executor agent): 계획을 세우고 각 계획을 도구 호출을 통해 수행하는 에이전트
- 쿼리 분해 에이전트: 복잡한 질문을 반복적으로 하위 질문으로 나누고 각 하위 질문마다 검색이나 다른 도구를 호출한 뒤 최종 답변 종합
- 성찰형 에이전트: 다음 단계로 진행하기 전에 과거 단계를 검토하는 에이전트
- 심층 리서치 에이전트: 개방형이고 매우 복잡한 조사 과제를 전문적으로 다룸

## 도구 선택
표준 도구 선택: 도구와 그 정의, 설명을 파운데이션 모델에 함께 제공하고 주어진 컨텍스트에 적합한 도구를 파운데이션 모델에 요청
- 장점: 구현이 단순
- 단점: 도구의 수가 많아지면 확장성이 떨어짐

시맨틱 도구 선택: 사용 가능한 모든 도구를 시맨틱 표현으로 인덱싱 후 시맨틱 검색으로 가장 관련성 높은 도구를 가져옴
- 장점: 매우 많은 수의 도구로 확장이 가능, 보통 구현 시 지연시간이 낮음
- 단점: 시맨틱 충돌 때문에 선택 정확도가 떨어지는 경우가 많음

계층적 도구 선택: 도구를 여러 그룹으로 조직하고 각 그룹에 대한 설명을 제공
- 장점: 매우 많은 수의 도구로 확장성이 뛰어남
- 단점: 연속으로 파운데이션 모델을 여러 번 호출해야 해서 더 느림

## 도구 실행
파라미터화(parameterization): 도구 호출 시 필요한 파라미터를 언어 모델이 정의하고 설정하도록 하는 과정
- 모델이 작업을 어떻게 해석하고 특정 요구사항을 충족하도록 응답을 어떻게 조정할지 결정하므로 매우 중요

## 도구 토폴로지
에이전트가 작동할 수 있는 도구와 도구 토폴로지를 구현해두고 구체적인 조합은 현재 컨텍스트와 작업에 따라 동적으로 설계되도록 함
- 단일 도구 실행
- 병렬 도구 실행
- 시맨틱 도구 선택을 사용해 실행될 수 있는 도구의 최대 개수를 가져오기
- 파운데이션 모델을 한 번 더 호출하고 문제를 해결하는 데 실제로 필요한 도구를 최대 개수 이하로 선택하도록 요청
- 도구 선택되면 독집적으로 파라미터를 설정 후 실행
- 모든 도구 실행 완료되면 파운데이션 모델에 결과 종합 요청
- 체인
- 도구를 순차적으로 실행
- 이전 도구의 출력이 다음 도구의 입력으로 사용되기도 함
- 그래프

## 컨텍스트 엔지니어링
= 사용자 메시지, 검색된 지식, 워크플로 상태, 시스템 프롬프트 등 모든 입력을 동적으로 조합해 작업 성능을 최대화하는 구조적이고 토큰 효율적인 컨텍스트 윈도우를 만드는 것
- 핵심은 어떤 정보를 포함할지 최대한 명료하고 관련성 있게 보이도록 구조화, 토큰 한도 안에 얼마나 효율적으로 담을 것인가

핵심 실천 사항
1. 가장 유용한 정보만 검색하고 선택해 관련성을 우선시
2. 구조화된 포맷이나 스키마로 상태와 검색된 지식을 예측 가능하고 해석 가능한 방식으로 모델에 전달
3. 히스토리가 길어지면 요약, 불필요한 표현을 제거하여 토큰 절약
4. 각 추론 스텝마다 컨텍스트가 에이전트의 현재 목표, 워크플로 단계, 사용자 입력을 반영하도록 동적으로 조립
44 changes: 44 additions & 0 deletions 2026-ai-agent-engineering/03주차/김보겸/6장.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# 지식과 메모리

지식
- 도메인 특화 콘텐츠를 생성 시점에 끌어와 에이전트가 즉각적인 대화를 넘어 검증 가능한 정보를 알도록 만드는 것
- 모델 자체, 가중치와 편향에 저장된 정보를 보완

메모리
- 에이전트 자신의 히스토리(과거 사용자 대화, 도구 출력, 상태 업데이트 등) 포착
- 여러 턴과 세션에 걸쳐 연속성을 유지하며 과거 상호작용을 기억하고 이를 활용해 의사결정 가능

## 메모리 기본 사용법
롤링 컨텍스트 윈도우 의존
- 과거 상호작용이 진행되는 동안 전체 대화 내용을 컨텍스트 윈도우에 계속 전달
- 윈도우가 다 차면 FIFO 방식으로 윈도우 관리

전체 텍스트 검색
- 컨텍스트 안에서 BM25 스코어링 함수 등을 통해 쿼리와 관련 있는 텍스트를 검색하여 윈도우에 넣는 방식

## 시맨틱 메모리와 벡터 스토어
- 시맨틱 검색: 정확한 문자열 일치보다는 단어와 구의 '의미'에 초점을 맞추는 것
- 벡터 스토어를 통해 유사도 검색 - 관련 높은 임베딩들을 찾아 컨텍스트에 맞는 응답 생성
- RAG
- 1) 문서 집합 준비 2) 문서를 작은 청크로 나눔 3) 청크에 대한 임베딩 생성 4) 벡터 스토어에 저장 5) 검색 6) 컨텍스트에 추가 7) 파운데이션 모델이 응답 생성
- 시맨틱 경험 메모리: 과거 상호작용을 임베딩으로 변환해 메모리 스토어에 저장된 과거 모든 상호작용을 대상으로 벡터 검색을 수행해 가장 관련성 높은 과거 경험을 컨텍스트에 추가

## 그래프RAG
- 기존 RAG의 한계점
- 답이 여러 문서에 흩어져 있는 정보를 연결해야 할 때
- 쿼리가 데이터셋 전체에 걸친 상위 수준의 의미론적 주제를 다룰 경우
- 데이터셋이 크고 정리가 덜 되었거나 개별적 사실이 아닌 서사형 구조로 정리된 경우
- 그래프RAG 구성
- 지식 그래프: 노드와 엣지로 구성된 그래프로 지식 표현
- 검색 시스템: 입력 쿼리나 컨텍스트와 가장 관련성 높은 서브그래프나 노드 클러스터 추출하도록 설계
- 생성 모델
- 지식 그래프 구축: 1) 데이터 수집 & 데이터 전처리 2) 엔티티 인식 및 추출 3) 관계 추출 4) 온톨로지 설계 5) 그래프 채우기 6) 통합 및 검증 7) 유지보수
- 장점: 멀티홉 트래버설과 풍부한 관계 패턴 지원 가능
- 단점: 그래프 구축 및 유지보수 비용이 높음
- 동적 지식 그래프
- 실시간으로 업데이트되는 지식 그래프, 적응형 학습에 유리
- 유지보수가 어렵고, 상당한 자원을 잡아먹는 단점이 있음

## 노트 작성
파운데이션 모델이 질문에 바로 답하지 않고 입력 컨텍스트에 대한 노트를 의도적으로 생성하도록 프롬프트
- 모델이 먼저 컨텍스트의 여러 부분을 읽고, 각 부분에 대한 노트를 생성하고, 마지막에 최종 답변을 생성함