PARA/03_Resources/R001_개발_레퍼런스(참고문서)/AI 강의/251208 AI 강의 정리.md

251208 AI 강의 정리

  • 강의의 시작
    • 난 30년 sk에서 했다.
    • EBS에서도 강의해봤다
    • 로또복권 시스템 내가 만들었다
    • 은행, 보험 카드도 했었다.
    • 정부와 전세계 시장이 그렇듯 SK도 AI 관련 프로젝트를 수주해서 이것저것 많이 하려고 한다
    • 그런 관점에서 AI교육이 얼마나 중요한지 생각해달라
    • 이 교육은 실무 중심적이다
    • 할게 많다.
  • 압도적인 목차의 양
    • 우리의 최종 목적은 AI 에이전트를 만드는 것
    • 에이전트 활용
      • GPT의 특징
        • 과거 데이터다
        • 실시간 데이터를 검색할 수 없다
          • AI가 필요한 경우 도구를 직접 활용하도록 판단 할 수 있도록 함
            • 이것이 에이전트임
              • 추론이라는것
        • 단순하게 질문,답변하는게 아니라 생각(판단)을 하여 내장된 도구를 활용하는 것
          • 추론 -> 액팅
        • LLM관점이 아니라 기본적으로 에이전트 관점임.
    • Fast API
      • Fast API를 통해 서비스를 서빙해야 함.
        • Fast API로 프론트엔드와 백엔드를 연결해줌
          • 앞단에서 요청을 받아주는 역할
      • 보통 스프링부트 많이 쓰는데 FastAPI가 동일 레벨이라고 보면됨
      • 프론트엔드와 주고받는것 뿐만 아니라 백엔드끼리 주고받기도 함.
    • Gradio + Streamlit
      • UI임.
  • LLM 핵심 이해 및 활용
    • 이제 AI에 시작이다
    • 도메인에 적용하려는 시도를 하는중이다.
    • LLM의 특징
    • 단어와 단어를 확률적으로 계산해서 그럴듯한 문장 생성
    • GPT
      • 트랜스포머 모델
        • 가장 혁신적인 모델
        • 왜 게임체인저가 되었냐면
          • RML, LSTM과 달리 병렬처리를 함
          • 긴 문맥을 읽음.
          • 단어간의 관계 뿐만 아니라 문장과의 관계를 바라보며, 이를 병렬적으로 읽고 해석함.
      • GPU는 단순 연산을 병렬적으로 처리하는데에 특화됨
        • 병렬적인 작업이 혁신적임.
          • 병렬작업이 되면 블루스크린을 볼 일이 적음
      • 트랜스포머 모델의 압도적인 성능(병렬처리 기술)이 파워풀했기 때문에 혁신적임.
        • 병렬처리
        • [[Self attention]] <- 가장 중요함
          • 각 단어가 어떻게 연관되는지 계산
            • 포지션 인코딩 -> 문장을 만들고 다듬기
    • LLM의 한계
      • 사전 지식에만 의존
      • 허위 정보
      • 토큰 제한
    • LLM의 한계 보완
      • RAG
        • 외부 지식을 실시간 검색
          • 검색엔진 활용과는 다름
            • 구조화 된 외부 지식을 LLM이 검색한다는 의미임
        • 기업에서는 우리만의 정보를 임베딩 처리해서 활용하고 싶어 함.
          • 임베딩
            • 텍스트를 숫자,실수화 처리하는것
              • 뒤에서 배울거임
      • 툴 사용
        • LLM이 api, 검색 등 직접 호출하여 작업
      • 멀티 스탭 추론
        • 복잡한 문제를 여러 단계로 해결
        • 최근 AI는 대부분이 추론 모델임.
    • 결론적으로 LLM만으로는 실질적인 서비스로 활용하기 어렵다.
    • RAG
      • 구성 요소
        • retriever
          • 유사한 문서나 내용을 벡터 검색
        • documents
          • 검색된 텍스트
        • generator
          • 검색 결과를 바탕으로 응답 생성
      • 활용 방법
        • QA
        • 사내 위키 봇
        • 학습 보조
    • Tool 사용
      • LLM이 지시자 역할
        • 실제 실행은 외부 Tool이 처리
    • 멀티 스탭 추론
      • CoT, ReAct, Plan-and-Execute 등
    • AI Agent의 필요성
      • LLM을 중심으로 기억, 도구, 계획, 실행, 멀티 모듈 조정이 가능한 시스템 아키텍처가 필요함
      • AI Agent = RAG + Tool 사용 + 멀티스텝 추론 등을 조합한 실행 엔진
      • LLM과 AI Agent간의 비교
        • LLM : 주어진 입력에 대해 확률적으로 가장 그럴듯한 출력 생성
        • AI Agent : LLM을 기반으로 다양한 행동을 수행, 능동적 시스템
    • AI Agent 아키텍처
      • 내부적으로 어떻게 구성되고 작동하는가
      • 구성 단위 기준으로 분류
        • 단일 Agent 아키텍처
          • 하나의 Agent가 모든 역할
        • 멀티 Agent 아키텍처
          • 역할별 Agent가 협력
      • 제어 및 실행 방식 기준으로 분류
        • 계층형
        • Router 기반
        • Workflow 기반
        • FSM 기반
        • MCP 기반
    • 그 뒷부분은 추후 확인
  • RAG 핵심
    • RAG 방법론
      • 인코더, 디코더의 역할

      • RAG 프로세스

        • 지식 베이스를 만드는 단계
          • 프리 프로세싱
            • 원본 데이터 정제
            • 텍스트 추출
          • 인덱싱
            • chunk 분할
            • 벡터 변환
            • 벡터디비 저장
        • 런타임
          • retrieval
            • 사용자 질문 기반으로 문서 검색
            • 질문 벡터화
          • generation
            • 검색된 K개의 청크와 사용자 질문을 결합하여 LLM에 Prompt로 전달
            • LLM은 입력받은 Context 기반으로 최종 응답 생성
        • 답변
      • RAG 프로세스 상세

        • Document Loader
          • 여러 문서를 통일된 형식으로 취급
          • Document Object로 만드는 과정임
            • page contents
            • metadata
          • 보통 페이지 컨텐츠를 임베딩하고, 메타데이터는 검색 시 필터링/출처 제시에 활용
          • 취급할 문서의 유형에 따라 적절한 Document Loader를 선택해야함.
            • 랭체인에서 이러한 Document Loader 를 제공함
              • 그렇기때문에 랭체인을 써야한다.
          • 일괄 처리를 위해서는 Directory Loader 와 연계 가능
            • 각각의 문서를 연결해줘야 제대로 동작함.
        • Text Splitter
          • 크고 복잡한 문서를 LLM이 받아들일 수 있도록 작게 쪼개는 작업
          • 과정
            • 문서 구조 파악
              • 문서의 헤더, 푸터, 페이지번호, 섹션제목, 테이블 구조 등을 식별
            • 단위 선정
              • 문서를 어떤 단위로 나눌지 결정
              • 단위는 문서의 내용과 목적에 따라 정의하는 것이 필요
            • 단위 크기 선정(chunk size)
              • 문서를 몇개의 토큰으로 나눌지 결정
            • chunk overlap
              • 분할된 끝 부분에서 맥락이 이어질 수 있도록 일부를 겹쳐서 분할하는 것이 필요함.
              • 사실 청크가 굉장히 중요함
      • 토큰과 임베딩

        • 토큰은 단어조각
          • 문장을 단어 또는 서브워드로 쪼개어 나눈 조각 -> 단어 조각
          • 텍스트를 처리 가능하도록 최소 단위로 분할
          • 예시 : "I love Orange" -> [I, love, Orange]
        • 임베딩은 토큰을 벡터 공간으로 변환한 수치표현
          • 단어별 의미 점수
          • 토큰-> 숫자로 바꿔 신경망이 학습 가능하게 함.
            • 단어에 의미를 입한 숫자 ID카드
      • 토큰과 청크

        • 토큰은 모델 입력의 기본 단위임
        • 모델 학습 시 토큰ID로 변환되어 사용
      • 청크

        • 정의
          • 긴 텍스트를 일정한 크기의 토큰으로 나눈 블록
            • 토큰의 집합
            • 여러 토큰을 하나의 청크로 구성
        • 역할
          • 모델이 한번에 처리할 수 있는 길이를 초과하는 경우 여러 블록으로 분할
        • 방식
          • 고정 길이 청크
          • 슬라이딩 청크(일부 겹치게 잘라서 문맥 유지)
            • 오버랩
      • 청킹

        • 예시 텍스트
          • This is an example text for demonstration.
        1. Tokenizer (WordPiece 적용 예)
          • 토큰 결과:
            This, is, an, example, text, for, demonstration
          • 토큰 개수: 7개
        2. Chunking
          • chunk size: 4
          • chunk overlap: 2
          • 생성된 청크:
            • Chunk 1: This, is, an, example
            • Chunk 2: an, example, text, for
            • Chunk 3: text, for, demonstration
      • 토크나이저 vs 청킹

        • 2가지 방식 모드 유효하며, 목적에 따라 전략적으로 선택 가능함.
      • 임베딩

        • Text Split 단계에서 생성된 문서 단위들을 기계까 이해할 수 있는 수치적 형태로 변환하는 과정
        • 사용자가 입력한 질문에 대해 DB에 저장된 문서 조각/단락을 검색하여 가져올때 유사도 계산 시 활용
        • 임베딩의 필요성
      • 벡터 스토어

        • 이전 단계에서 생성된 임베딩 벡터들을 효율적으로 저장하고 관리하는 과정
        • 향후 검색과정에서 벡터들을 빠르게 조회하고 관련 문서를 신속하게 찾아내는데 필수적
      • 고차원 공간에서의 거리 계산 한계

        • 차원이 증가하면 문제 발생
          • 고차원 희소성 문제
            • 2차원에서는 유사한 점들이 가깝지만 100차원에서는 모든 점들이 비슷해짐
          • 차원의 저주
            • 차원이 커질수록 벡터 간 거리가 균등하게 증가
              • 거리 기반 검색이 무의미해짐
            • 데이터가 희소해져서 유사 벡터 못찾음
        • 유클리드 거리
          • 가장 기본적인 거리 측정 방식
          • 피타고라스 정리 기반으로 벡터간의 직선 거리 계산
          • 차원이 증가할수록 의미가 약해짐
            • 모든 점들이 멀리 떨어짐
        • 해결방법 -> 코사인 유사도
          • 고차원에서 벡터 간 거리는 무의미할 수 있지만 방향은 의미를 가짐.
            • 단어벡터는 방향을 비교하는 것이 효과적임.
      • 벡터 디비 인덱싱이란

        • 임베딩을 효율적으로 저장하고 빠르게 검색하기 위해 데이터 구조와 검색 알고리즘 설계하는 방식
        • 벡터 데이터를 구조화한 인덱스에 담는 행위
        • KNN이 아닌 ANN 가능한 구조로 설계
        • GOAL
          • 검색 정확도와 검색 속도 tradeoff 관계 최적화
      • 벡터 스토어 간 비교

        • pinecone
        • faiss
        • chroma
        • 등등
      • 벡터 데이터베이스 솔루션 비교

        • faiss
        • pinecone
        • weaviate
        • milvus
        • qdrant
        • chroma
        • 등등
      • retriever

        • 저장된 벡터디비에서 사용자의 질문과 관련된 문서를 검색하는 과정 -> 정보 검색의 질을 결정하는 핵심 역할
        • 사용자 질문에 가장 적절한 Context를 제공하며, 언어 모델이 보다 정확한 답변을 생성할 수 있도록 함
      • 코사인 유사도

        • 문서간, 질문 + 문서간의 유사성 평가
        • 두 벡터 간의 코사인을 계산하여 유사도를 측정하는 기법
        • 방향에 초점을 맞추므로 문서와 쿼리 간의 유사도를 비교하는데에 사용함.
      • MMR

        • 이미 선택된 문서들과 새로운 문서 간의 중복 최소화와 쿼리와의 유사성 최대화를 동시에 고려하는 방법
        • 검색 결과의 관련성은 유지하면서 중복은 줄이고 다양성은 높이는 전략
        • 질문과의 관련성은 최대화하면서, 서로 비슷한 문서는 줄이는 기법
      • 이러한 일련의 과정들이 간단한 코드로 만들어져 있음.

        • 그냥 함수만 쓰면 됨.
      • sparse retriever vs dense retriever

        • 표현식으로 보면 sparse는 대부분이 0이고 일부만 실수
          • dense 는 대부분이 실수
        • sparse
          • 키워드 중심이라 계산비용이 낮음
          • 의미적 연관성을 고려하지 않기 때문에 품질이 키워드의 선택에 크게 의존
            • 등장 빈도를 통해 단어의 중요도 계산
          • 긴 문서에 취약
        • dense
          • 의미적으로 관련된 문서 검색
          • 가장 관련성 높은 문서를 찾음
          • 언어의 뉘앙스와 문맥을 이해하는데에 유리함.
          • 비쌈
      • Retriever Summary

        • 목적
          • 대용량 문서 집합에서 관련성 있는 문서를 빠르게 찾아내는 것
          • RAG 파이프라인에서 가장 먼저 수행되는 단계
        • 우선순위
          • 속도 중심
        • 예시
          • “카페 추천”이라는 질문 → 유사 단어를 포함하는 문서 Top N 검색
        • Output
          • 후보 문서 집합(Candidate Documents)
        • 처리 방식
          • 임베딩 벡터 생성 → Cosine Similarity 기반 유사도 계산
        • 모델 구조
          • Bi-Encoder
            • 질문과 문서를 독립적으로 임베딩
            • 임베딩 벡터 간 거리 또는 유사도 비교
        • 주요 모델
          • BGE
          • E5
          • Jina Embedding 등
        • 장점
          • 빠른 처리 속도
          • 질문/문서 임베딩을 병렬 처리 가능
          • 대규모 문서 검색에 필수적인 구조
        • 단점
          • 의미적 정밀도가 떨어질 수 있음
          • 반환되는 후보의 품질이 낮을 가능성 있음
      • Prompt

        • 검색기(Retriever)에서 검색된 문서들을 바탕으로 언어 모델이 사용할 질문이나 명령을 생성하는 과정
        • 검색된 정보를 바탕으로 최종 사용자의 질문에 가장 잘 대응할 수 있는 응답을 생성하기 위한 필수적인 단계
        • 프롬프트 템플릿
          • 지시사항
          • 질문
          • 문맥
        • 이러한 것들도 다 랭체인에서 제공함.
      • LLM

        • Prompt 단계에서 구성된 입력을 기반으로 대규모 언어 모델을 활용하여 응답을 생성하는 과정
          • 결국은 말 생성하는 기능
        • 언어 모델의 능력을 최대한 활용하여 사용자의 질문에 대해 정확하고 자연스러운 답변을 생성함
        • LLM단계는 필요 데이터와 컨텍스트를 종합하여 사용자의 질문에 대한 답변의 질과 자연스러움 반영
          • 즉 사용자의 질문을 LLM이 받아서 전처리하는것임.
      • 모든 AI 관련 기술은 랭체인 생태계에 들어가고싶어 안달이 남

        • 랭체인 랭그래프가 1.0이 나옴
        • LLM을 개발하던 업체들이 다 그 에코안에 들어가서 활용되려고 애를 씀
          • 왜지? 제대로 못들음
        • 우리회사도 돈 엄청 씀
          • api key 사용 비용이 그정도로 나옴
      • 체인

        • 이전의 과정을 하나로 묶어 RAG Pipeline으로 조립하여 완성하는 단계
        • 단 몇줄로도 AI를 구현할 수 있음
      • Output Parser

        • 결과물을 전처리하여 일관적이고 구조화된 답변으로 만들어줌
        • 실제 AI Application 개발에서는 필수적임.
  • Vector DB 핵심 이해 및 활용
    • 벡터 DB란
      • 고차원 벡터 데이터를 저장, 관리, 검색하기 위해 설계된 데이터베이스
      • 인덱싱-> 쿼링의 공통 단계를 준수
        • 비정형 데이터를 벡터화하여 유사한 데이터를 빠르게 찾도록 설계
      • 엔비디아가 병렬처리 시연한 적 있는데
        • 이거보면 눈에 확들어옴
        • 이미지를 막 한번에 그림
          • 바야흐로 병렬처리의 세상임
      • 셀프 어텐션은 정말 중요한 매커니즘임
      • 랭체인 단방향인가, 양방향인가
        • LangChain = 단방향/양방향 모델 개념이 아님
        • 대신 단계적 흐름을 구성하는 프레임워크
    • 계속 반복하는 이유
      • 코드는 쉬움
      • 컨셉을 이해하면 쉬운데 모르면 어렵고 뜬구름 잡게됨.
    • 벡터 DB와 다른 DB와의 차이
      • 수직 확장
        • 서버 성능 업그레이드
        • 성능 개선 한계
      • 수평 확장
        • 어려움
        • 클러스터로 쉽게 확장
      • 이부분은 다시 이해가 필요함.
      • 벡터디비의 수평 확장 방식
        • 샤딩
          • 벡터 데이터를 여러 노드에 분산 저장
          • 예를들어 10억개의 벡터를 10개 노드에 1억개씩 배치
        • 분산 인덱싱
          • 검색 시 여러 노드에서 병렬로 처리
        • 부하분산
          • 대량의 검색 요청을 균등하게 분배하여 성능 유지
    • 벡터디비에서 메타데이터
      • 정리 필요
    • 벡터디비에서 동적 데이터 업데이트 지원
      • 기존 RDB의 문제점
      • 벡터 디비에서 동적 업데이트 방식
      • 활용 사례
    • 벡터 디비의 중요성
      • 대용량 데이터 빠르게 검색 가능
        • 검색용 알고리즘 활용
      • 메타데이터 통합 관리로 검색 결과가 풍부해짐
        • 단순 검색 결과가 아니라 메타데이터 기반 고품질 결과
      • 실시간 데이터 업데이트가 가능하여 최신 데이터 반영 가능
    • 벡터DB 기술 항목
      • 이것저것
    • 유사도 측정
      • 머신러닝, 정보 검색, 자연어 처리 등 다양한 분야에서 활용함
      • 데이터 간의 관계를 수치화 할 때 유용함
    • 코사인 유사도
      • 두 벡터 사이의 각도를 기준으로 유사도를 측정하는 방법
      • 두 벡터의 각도가 작을수록 유사도가 높음.
    • 유클리드 거리
      • 두 점의 직선 거리를 측정
      • 차원이 많아지면 문제가 생김
    • 벡터 디비 스키마 설계
      • 데이터 구조 계획
      • 필드 정의
      • 확장성 및 성능
      • 인덱싱 전략
    • HBM이 왜 중요한가
      • HBM때문에 그냥 메모리도 수요가 많다.
    • 필드 정의 및 인덱싱
      • 벡터 필드
      • 메타 데이터 필드
      • 인덱싱
        • HNSW, IVF,PQ 등
    • 벡터디비 일반적인 스키마 구조
      • 컬렉션1
        • 어떤 데이터1
          • 원천 문장
          • 벡터
          • 메타
        • 어떤 데이터2
          • 벡터
          • 요약문장
      • 컬렉션2
        • 벡터
        • 원천문장
        • 메타
    • 단일 컬렉션 사용 시
      • 장점
        • 간소화된 검색
      • 단점
        • 복합 표현의 한계
        • 벡터 크기 증가
    • 컬렉션으로 나누는 기준
      • 데이터의 크기와 스케일링
      • 데이터의 접근 패턴
      • 데이터의 생명 주기
      • 등등
    • 뉴스기사 데이터를 대상으로 컬렉션 설계
      • 데이터 특성
      • 접근 패턴
      • 날짜 기준으로 나누기
      • 주제 또는 카테고리 기준으로 나누기
    • 멀티 컬렉션 관리
      • 뉴스 벡터를 예시로 검증
  • AI Agent 핵심 이해 및 활용
    • AI Agent의 발전과정
      • Agent <- 과거
        • 특정 분야에서 전문적인 지식이나 기술을 갖추고 일을 처리
      • AI Agent <-현재
        • 특정 목표를 수행하기 위해 자율적으로 목표를 달성하기 위해 행동하는 소프트웨어 시스템
      • Agentic AI <- 미래
        • 외부 자극에 반응하는 것이 아니라 스스로 목표를 설정하고 행동하는 자기주도적 행동
        • 특정 Task 수행을 넘어서
          • 목표 설정
          • 계획
          • 도구 선택
          • 협업까지 진행
    • AI 에볼루션
      • ANI(Artificial Narrow Intelligence)
        • 특정 업무에 특화된 알고리즘 기반의 학습모델
      • Generative AI
        • GPT4
        • LLM
        • 로봇 제어 AI
        • 자율주행
      • AGI(Artificial General Intelligence)
        • 광범위하고 유연한 학습 및 추론 능력
    • AI Agent의 특징
      • LLM + Tools
      • 자연어 처리 능력
      • 필요 도구 연결
      • 지식 기반 생성
      • 작업 자동화
    • agenda of ai agent
      • LLM : ai agent의 지능과 판단 담당(두뇌)
      • Tools : ai agent가 실제로 작업을 수행하거나 환경과 상호작용하는 역할 담당
    • Tools
      • 에이전트, 체인 또는 LLM이 상호작용하기 위한 인터페이스
      • 그냥 함수임
        • LLM한테 연결해주기만 하면 됨
      • Built in Tolls
        • 랭체인에서 제공하는 도구와 툴킷
      • Custom Tools
        • 사용자가 직접 도구를 정의하여 사용
        • langchain.tools 모듈에서 제공하는 @tool 데코레이터를 사용하여 함수를 도구로 변환하면 됨
        • 데코레이터를 통해 일반 파이썬 함수를 도구로 변환하여 자동화된 업무 프로세스에 반영하는 것이 용이
    • @tool
      • 데코레이터임
      • 함수를 도구로 변환함
    • Tool Calling Agent
      • 모델이 적절한 도구를 반복적으로 호출하고 결과를 받아 문제를 해결할 때까지 이를 반복하는 에이전트
        • 도구 호출을 하면 모델이 하나 이상의 도구가 호출되어야 하는 시기를 감지하고 해당 내용을 전달할 수 있어야 함
        • 일반 텍스트 완성하는 것 보다 더 안정적으로 유효하고 유용한 도구 호출Tool Calling을 반환함
      • 워크플로우
        • 질문 - 이번주에 볼만한 영화를 추천해줘
        • LLM - 사용자 요청 이해
          • 어떤 도구를 사용할지 호출 결정
          • 필요한 도구를 찾아서 작업 수행
          • 도구 호출 결과 분석
        • 정보 확인
        • 답변 - 최종 응답 전달
      • ReAct = Reasoning + Acting
        • 순차적이고 능동적인 프로세스를 통해 복잡한 사용자 요청 처리
        • 작업이 완료될 때까지 지속적으로 사고와 행동을 조율하는데에 적합
      • ReAct Framework
        • 최초 - 순차적 실행
          • Reasoning 과 Acting을 하나의 시스템으로 결합한 연구
        • 2024 - Multi Agent로의 확대
          • 에이전트간 협업, Supervisor의 동적 task 할당 처리 등 고려
    • Tool Calling Process
      • 도구 생성
        • 제공할 도구 정의
        • @tool decorator로 구분
      • Agent Prompt 생성
        • ChatPromptTemplate를 활용하여 정의
      • Agent 생성
        • 실행할 에이전트를 하나로 묶어서 생성
      • Agent 실행
        • 도구를 사용하는 에이전트를 실행
        • LangChain의 AgentExecutor 통해 처리
    • Inference vs Reasoning
      • 대충 훑어보면 됨
      • Reasoning
        • 생각의 전개 과정에 초점
      • Inference
        • 결론 또는 추론된 결과
    • LLM Reasoning
      • 정의에 대해 다시한번 이해 필요함.
      • Reasoning : 주어진 정보로부터 논리적으로 결론을 도출하거나, 다음 행동을 결정하는 사고 과정
      • AI Agent에게도 왜 이 행동을 해야 하는가 를 판단하게 하는 과정/기능
      • LLM이 진짜로 Reasoning을 수행하는지 vs 그럴듯한 답변 생성만 하는지 -> 분리해서 확인하고, 연구 진행중
    • Reasoning Prompt
      • Reasoning Prompt는 LLM이 단순 답변이 아니라 ‘생각하는 과정(추론 과정)’을 생성하도록 유도하는 특별한 프롬프트를 말한다.
      • LLM은 사실상 패턴 기반 언어 모델이라 그 자체로는 깊은 추론이 약할 수 있다.
      • Reasoning Prompt는
        • 문제를 나누어 생각하게 만들고
        • 논리적 단계를 스스로 생성하도록 하고
        • 최종 결론이 더 정확해지도록 돕는다.
    • AI Agent 유형
      • 반응형 에이전트
        • 특징 : 과거 경험이나 내부 상태 없이, 현재 환경 상태에서만 반응
        • 예시 : 간단한 조건-행동 규칙
        • 장점 : 빠르고 단순
        • 단점 : 복잡한 상황이나 추론에는 한계
      • 계획형 에이전트
        • ...
      • 학습형 에이전트
      • 자율 에이전트
    • AI Agent Architecture 쉽게 설명하기
      • AI Agent는 사람이 문제를 해결하는 과정과 비슷하게 입력을 이해하고 → 생각하고 → 행동하는 3단계 구조로 이루어진다.
        • 1) Perception Layer — “입력을 받아들이는 단계”
        • 2) Cognitive Layer — “생각하는 단계(가장 핵심)”
        • 3) Execution Layer — “행동하는 단계”
      • AI Agent는 “입력을 이해하고 → 생각하고 → 행동하는” 구조로 되어 있고, 그 안에서 각각의 역할을 나누어 담당하는 요소들이 있다.
        • 1. Environment / User Input / Output
        • 2. Perception Layer (입력 이해 단계)
        • 3. Cognitive Layer (생각하고 판단하는 단계)
        • 4. Execution Layer (행동 실행 단계)
      • AI Agent는 입력을 이해(Perception) → 생각하고 계획(Cognitive) → 실제 행동(Execution) 이 세 단계를 반복하며 목표를 달성하는 시스템이다.
    • Autonomous Agent 아키텍처를 한눈에 이해하기
    • 기본 AI Agent는 Perception → Cognitive → Execution 이 3단계를 반복하며 일을 수행한다.
    • 그런데 Autonomous Agent(자율형 에이전트) 는 여기에 하나가 더 추가된다.
      • 바로 Meta Cognitive Layer(메타 사고 층) 이다.
        • 이 층이 생기면서 에이전트는 “주어진 명령을 수행하는 존재”에서 “스스로 판단하고 목표를 조정하며 반복 작업을 관리하는 존재”로 발전한다.
    • AI Agent 구현 절차
      • 양 많으니까 좀 훑어보기
    • AI Agent 유형 분류
      • 도우미형
      • 도구 활용형
      • 계획 - 수행형
      • 기억 기반형
      • 문서 QA형
      • 멀티 에이전트형
    • AI Agent 구현
      • 문제 정의
        • 문제 정의란 해결하고자 하는 문제의 성격, 목표 사용자, Agnet의 역할 등을 명확히 규정하는 단계
        • 좀 훑어보기
      • 기능 정의
        • Agent가 수행해야 할 기능을 세분화하여 각 구성 요소의 책임을 명확히 함
        • 어떤 기능을 LLM, 어떤 기능을 Tool, 어떤 기능을 Memory가 담당할지 결정
        • 이후 시스템 설계 시 구성 요소 간 인터페이스를 명확하게 정의할 수 있음
      • 아키텍처 설계
        • Agent 구성요소LLM, Tool, Memory 등 의 상호작용 방식 설계
        • 실제 구현 구조를 반영한 데이터 흐름 및 컴포넌트 책임 명확화
        • LangChain의 실행 흐름 AgentExecutor, Tool, Memory, Prompt이 어떻게 조립되는지 시각화
        • 설계 예시 살펴보면 좋음.
      • 구현 및 테스트
        • 설계한 아키텍처를 코드로 구현
        • 다양한 입력에 대해 Agent가 적절히 Tool을 사용하거나 LLM으로 직접 응답하는지 테스트
        • Memory가 제대로 작동하는지 확인
        • 예상치 못한 입력에 대한 Fallback 처리도 확인
      • 평가 및 개선
        • Agent의 정확성, 유용성, 안정성을 검증
        • 도구 호출 판단과 응답 생성이 적절하게 작동하는지 평가
        • 사용자 경험UX 중심으로 실제 사용성 문제 개선

댓글

첫 번째 댓글을 남겨보세요.