From ecbdd9f28c72f868c191baa5f03840dfe81f0f5c Mon Sep 17 00:00:00 2001 From: BoKeum Date: Sat, 11 Apr 2026 08:16:30 +0900 Subject: [PATCH] docs: 3week --- .../5\354\236\245.md" | 53 +++++++++++++++++++ .../6\354\236\245.md" | 44 +++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 "2026-ai-agent-engineering/03\354\243\274\354\260\250/\352\271\200\353\263\264\352\262\270/5\354\236\245.md" create mode 100644 "2026-ai-agent-engineering/03\354\243\274\354\260\250/\352\271\200\353\263\264\352\262\270/6\354\236\245.md" diff --git "a/2026-ai-agent-engineering/03\354\243\274\354\260\250/\352\271\200\353\263\264\352\262\270/5\354\236\245.md" "b/2026-ai-agent-engineering/03\354\243\274\354\260\250/\352\271\200\353\263\264\352\262\270/5\354\236\245.md" new file mode 100644 index 0000000..f37eaa3 --- /dev/null +++ "b/2026-ai-agent-engineering/03\354\243\274\354\260\250/\352\271\200\353\263\264\352\262\270/5\354\236\245.md" @@ -0,0 +1,53 @@ +# 오케스트레이션 + +오케스트레이션은 사용자 요청을 처리하는 파운데이션 모델, 추가 정보를 검색하는 외부 및 로컬 도구, 다양한 DB 호출을 중심에서 제어하는 로직 + +## 에이전트 유형 +에이전트에는 여러 유형이 존재하고 각 특징에 따라 알맞는 업무가 존재 + +- 반사형 에이전트(reflex agent): 입력과 출력이 직접적으로 연결, 추론을 따로 하지 않음 +- 리액트 에이전트(react agent): 추론과 행동을 반복 루프 내에서 교차 수행 +- 계획 후 실행 에이전트(planner-executor agent): 계획을 세우고 각 계획을 도구 호출을 통해 수행하는 에이전트 +- 쿼리 분해 에이전트: 복잡한 질문을 반복적으로 하위 질문으로 나누고 각 하위 질문마다 검색이나 다른 도구를 호출한 뒤 최종 답변 종합 +- 성찰형 에이전트: 다음 단계로 진행하기 전에 과거 단계를 검토하는 에이전트 +- 심층 리서치 에이전트: 개방형이고 매우 복잡한 조사 과제를 전문적으로 다룸 + +## 도구 선택 +표준 도구 선택: 도구와 그 정의, 설명을 파운데이션 모델에 함께 제공하고 주어진 컨텍스트에 적합한 도구를 파운데이션 모델에 요청 +- 장점: 구현이 단순 +- 단점: 도구의 수가 많아지면 확장성이 떨어짐 + +시맨틱 도구 선택: 사용 가능한 모든 도구를 시맨틱 표현으로 인덱싱 후 시맨틱 검색으로 가장 관련성 높은 도구를 가져옴 +- 장점: 매우 많은 수의 도구로 확장이 가능, 보통 구현 시 지연시간이 낮음 +- 단점: 시맨틱 충돌 때문에 선택 정확도가 떨어지는 경우가 많음 + +계층적 도구 선택: 도구를 여러 그룹으로 조직하고 각 그룹에 대한 설명을 제공 +- 장점: 매우 많은 수의 도구로 확장성이 뛰어남 +- 단점: 연속으로 파운데이션 모델을 여러 번 호출해야 해서 더 느림 + +## 도구 실행 +파라미터화(parameterization): 도구 호출 시 필요한 파라미터를 언어 모델이 정의하고 설정하도록 하는 과정 +- 모델이 작업을 어떻게 해석하고 특정 요구사항을 충족하도록 응답을 어떻게 조정할지 결정하므로 매우 중요 + +## 도구 토폴로지 +에이전트가 작동할 수 있는 도구와 도구 토폴로지를 구현해두고 구체적인 조합은 현재 컨텍스트와 작업에 따라 동적으로 설계되도록 함 +- 단일 도구 실행 +- 병렬 도구 실행 + - 시맨틱 도구 선택을 사용해 실행될 수 있는 도구의 최대 개수를 가져오기 + - 파운데이션 모델을 한 번 더 호출하고 문제를 해결하는 데 실제로 필요한 도구를 최대 개수 이하로 선택하도록 요청 + - 도구 선택되면 독집적으로 파라미터를 설정 후 실행 + - 모든 도구 실행 완료되면 파운데이션 모델에 결과 종합 요청 +- 체인 + - 도구를 순차적으로 실행 + - 이전 도구의 출력이 다음 도구의 입력으로 사용되기도 함 +- 그래프 + +## 컨텍스트 엔지니어링 += 사용자 메시지, 검색된 지식, 워크플로 상태, 시스템 프롬프트 등 모든 입력을 동적으로 조합해 작업 성능을 최대화하는 구조적이고 토큰 효율적인 컨텍스트 윈도우를 만드는 것 +- 핵심은 어떤 정보를 포함할지 최대한 명료하고 관련성 있게 보이도록 구조화, 토큰 한도 안에 얼마나 효율적으로 담을 것인가 + +핵심 실천 사항 +1. 가장 유용한 정보만 검색하고 선택해 관련성을 우선시 +2. 구조화된 포맷이나 스키마로 상태와 검색된 지식을 예측 가능하고 해석 가능한 방식으로 모델에 전달 +3. 히스토리가 길어지면 요약, 불필요한 표현을 제거하여 토큰 절약 +4. 각 추론 스텝마다 컨텍스트가 에이전트의 현재 목표, 워크플로 단계, 사용자 입력을 반영하도록 동적으로 조립 \ No newline at end of file diff --git "a/2026-ai-agent-engineering/03\354\243\274\354\260\250/\352\271\200\353\263\264\352\262\270/6\354\236\245.md" "b/2026-ai-agent-engineering/03\354\243\274\354\260\250/\352\271\200\353\263\264\352\262\270/6\354\236\245.md" new file mode 100644 index 0000000..4147509 --- /dev/null +++ "b/2026-ai-agent-engineering/03\354\243\274\354\260\250/\352\271\200\353\263\264\352\262\270/6\354\236\245.md" @@ -0,0 +1,44 @@ +# 지식과 메모리 + +지식 +- 도메인 특화 콘텐츠를 생성 시점에 끌어와 에이전트가 즉각적인 대화를 넘어 검증 가능한 정보를 알도록 만드는 것 +- 모델 자체, 가중치와 편향에 저장된 정보를 보완 + +메모리 +- 에이전트 자신의 히스토리(과거 사용자 대화, 도구 출력, 상태 업데이트 등) 포착 +- 여러 턴과 세션에 걸쳐 연속성을 유지하며 과거 상호작용을 기억하고 이를 활용해 의사결정 가능 + +## 메모리 기본 사용법 +롤링 컨텍스트 윈도우 의존 +- 과거 상호작용이 진행되는 동안 전체 대화 내용을 컨텍스트 윈도우에 계속 전달 +- 윈도우가 다 차면 FIFO 방식으로 윈도우 관리 + +전체 텍스트 검색 +- 컨텍스트 안에서 BM25 스코어링 함수 등을 통해 쿼리와 관련 있는 텍스트를 검색하여 윈도우에 넣는 방식 + +## 시맨틱 메모리와 벡터 스토어 +- 시맨틱 검색: 정확한 문자열 일치보다는 단어와 구의 '의미'에 초점을 맞추는 것 +- 벡터 스토어를 통해 유사도 검색 - 관련 높은 임베딩들을 찾아 컨텍스트에 맞는 응답 생성 +- RAG + - 1) 문서 집합 준비 2) 문서를 작은 청크로 나눔 3) 청크에 대한 임베딩 생성 4) 벡터 스토어에 저장 5) 검색 6) 컨텍스트에 추가 7) 파운데이션 모델이 응답 생성 +- 시맨틱 경험 메모리: 과거 상호작용을 임베딩으로 변환해 메모리 스토어에 저장된 과거 모든 상호작용을 대상으로 벡터 검색을 수행해 가장 관련성 높은 과거 경험을 컨텍스트에 추가 + +## 그래프RAG +- 기존 RAG의 한계점 + - 답이 여러 문서에 흩어져 있는 정보를 연결해야 할 때 + - 쿼리가 데이터셋 전체에 걸친 상위 수준의 의미론적 주제를 다룰 경우 + - 데이터셋이 크고 정리가 덜 되었거나 개별적 사실이 아닌 서사형 구조로 정리된 경우 +- 그래프RAG 구성 + - 지식 그래프: 노드와 엣지로 구성된 그래프로 지식 표현 + - 검색 시스템: 입력 쿼리나 컨텍스트와 가장 관련성 높은 서브그래프나 노드 클러스터 추출하도록 설계 + - 생성 모델 +- 지식 그래프 구축: 1) 데이터 수집 & 데이터 전처리 2) 엔티티 인식 및 추출 3) 관계 추출 4) 온톨로지 설계 5) 그래프 채우기 6) 통합 및 검증 7) 유지보수 +- 장점: 멀티홉 트래버설과 풍부한 관계 패턴 지원 가능 +- 단점: 그래프 구축 및 유지보수 비용이 높음 +- 동적 지식 그래프 + - 실시간으로 업데이트되는 지식 그래프, 적응형 학습에 유리 + - 유지보수가 어렵고, 상당한 자원을 잡아먹는 단점이 있음 + +## 노트 작성 +파운데이션 모델이 질문에 바로 답하지 않고 입력 컨텍스트에 대한 노트를 의도적으로 생성하도록 프롬프트 +- 모델이 먼저 컨텍스트의 여러 부분을 읽고, 각 부분에 대한 노트를 생성하고, 마지막에 최종 답변을 생성함