[KT] AIVLE School/후기

[KT] AIVLE SCHOOL 5주차 후기

Boxya 2025. 4. 28. 22:12

5주차 일정

 

5주차의 월 ~ 목은 생성형 AI 이고,

금요일부터는 객체지향 프로그래밍을 배웠다.


월요일에는 LangChain에 대해서 배웠다.

LangChain은 LLM을 활용하여 체인을 구성하고

이 체인을 통해 복잡한 작업을 자동화하고

쉽게 수행할 수 있도록 돕는 라이브러리다.

모델을 호출, 프롬프트 작성, 메모리 적용하는 방법을 배웠다.

그리고 프롬프트를 작성할 때 temperature를 설정하여

답변을 보수적, 또는 창의적으로 작성할 수 있게

설정할 수도 있다.

그리고 OutputParser를 통해서 

답변을 원하는 형식으로 구성할 수도 있다.


화요일에는 Vector DB와 RAG에 대해서 배웠다.

LLM은 학습하지 않은 내용은 모르기 때문에

사용자의 질문을 받으면

준비된 정보 DB에서 답변에 필요한 문서를 검색하는데,

이때 이용하는 것이 Vector DB이다.

대규모 텍스트 데이터 및 임베딩 벡터를 저장하는

Vector DB를 Loader, Splitter, Embedding 과정으로

구성해보는 실습도 진행했다.

이 과정을 통해 Vector DB와

RAG 파이프라인을 구축해보았다.


수요일에는 Agent에 대해서 배웠다.

AI Agent는 스스로 의사결정하며 

도구를 사용하여 목표를 달성하는 시스템이다.

목표를 위해 자율적으로 도구와 메모리를 사용하는 등

여러 단계를 수행하여 목표를 달성하는 시스템이다.

그리고 LangGraph에 대해서도 배웠다.

AI Agent 간의 협업을 그래프 기반으로 설계하는

프레임워크이다.

플로우 차트를 코드로 설계하는 느낌이였다.

간단한 기본 그래프,

조건에 따라 다른 흐름으로 진행 되는 그래프,

LLM이 스스로 반추하는 그래프를

간단하게 구현해보았다.

먼저 State를 정의하고 Node를 정의한다.

그리고 그래프 구조를 설계하고 실행하면 된다.

State는 Agent 각 단계에서 주고받는 정보이다.


목요일은 Tool과 Agentic RAG, Memory에 대해서 배웠다.

Custom Tool을 정의해보고 사용하고,

내장 Tool도 사용해보았다.

LLM이 실행과정에서 알아서 필요로 하는 Tool을

사용한다는게 조금 신기했다.

 

그리고 메모리에 대해서도 배웠다.

AI Agent가 이전 상태나 대화 기록을

유지하고 재사용할 수 있도록 하는 기능이다.

유저와 AI 간의 대화를 저장하여 지속적인 맥락을 유지할 수 있다.

메세지를 계속 쌓으면 문제가 생길수도 있어서

보통은 최근 n개만, 혹은 최근 n개만 남기고 

나머지는 요약해서 저장할 수 있다.

 

그리고 Agentic RAG에 대해서도 실습해보았다.

기존 RAG는 사용자의 질문이 문서와 관련이 없는 경우에도

이를 활용하려하기 때문에 환각 현상이 크게 증가했다.

이를 위해 Agentic RAG를 사용하는데, 이는

GPT가 검색, 판단, 재작성까지 담당하며 정확하고

유연한 정보를 생성하는 강화된 RAG 구조이다.

GPT 기반 Agent적 사고와 제어 흐름을 결합한 구조이고

스스로 판단하고 도구를 선택하고 여러번 검색하며

답을 능동적으로 구성하는 방식이다.

생성형 AI의 단순한 모델부터 점점 모델을 강화시키는 느낌이 들어 재미있었다.


한기영 강사님의 생성형 AI가 끝나고

윤성열 강사님의 자바 수업이 시작됐다.

자바의 간단한 소개와

간단한 문법, 연산자, 타입 등을 배웠다.

비전공자들을 위해 차근차근 가르쳐주시는 느낌이었고

기초부터 진행하였다.

분석형, 생성형 AI를 할때 보단 확실히

조금 더 쉽고 수월한 것 같다.