티스토리 뷰
AI 공모전에 나가기 위한 학습과정입니다. GPT의 도움을 받아 작성하였습니다.
🔸 AI 서비스 vs AI Agent
✅ AI 서비스
- 정의: 특정 기능이나 목적에 맞춰 제공되는 인공지능 기반 기능.
- 특징:
- 보통 API, 웹 서비스, SaaS 형태로 제공됨.
- 사용자가 요청하면 정해진 기능을 수행하고 결과를 반환.
- 예: 번역 서비스(Papago, Google Translate), 이미지 인식 API, 음성 인식 서비스.
- 포인트: 하나의 "도구"처럼 동작 → 주어진 입력에 따라 정해진 작업을 수행.
🔹 벡터 기반 검색 (AI 서비스)
- 입력한 텍스트를 **벡터(의미 기반 표현)**로 변환하고, 파일 안의 문장들도 벡터로 바꾼 뒤 가까운 것들을 찾아주는 방식.
- 예: “회의록”을 검색했는데, “미팅 노트”, “업무 기록” 같은 단어까지도 찾아줌.
- 이건 전형적인 **AI 검색 서비스(semantic search)**라고 볼 수 있어요.
- 여기서 AI는 “텍스트 → 벡터 임베딩 → 유사도 검색” 부분에 해당.
✅ AI Agent
- 정의: 스스로 상황을 판단하고 여러 도구(서비스 포함)를 조합해 목표를 달성하는 인공지능.
- 특징:
- 단순히 하나의 서비스가 아니라 목표 지향적으로 동작.
- 외부 시스템이나 서비스(API)를 활용해 문제 해결.
- 예: 고객 문의를 처리하는 챗봇 Agent → 질문을 이해하고, 사내 DB 검색, 예약 시스템 호출, 필요하면 번역 API까지 연결해서 답변 제공.
- 포인트: 단순 기능 제공이 아니라 스스로 의사결정 + 서비스 활용 + 실행까지 가능.
🔹 요약자료 생성 (AI Agent)
Agent는 단순히 “검색만” 하는 게 아니라, 목표를 달성하기 위해 여러 도구를 활용할 수 있어요.
- 예시 시나리오:
- 내가 “작년 5월 회의록 요약해줘”라고 요청 →
- Agent는 먼저 벡터 검색으로 관련 문서를 찾고 →
- 찾은 문서를 요약 모델에 넣고 →
- 결과를 “작년 5월 회의 주요 안건은 A, B, C였습니다”라고 정리해서 제공.
🔸 AI는 어떻게 학습할까?
✅ Machine Learning, Deep Learning
AI, 특히 **머신러닝(Machine Learning)**이나 딥러닝(Deep Learning) 모델은 크게 이런 과정으로 학습해요:
- 데이터 수집
- 예: 고양이 vs 강아지 구분 AI를 만들려면, 수천 장의 고양이·강아지 사진이 필요.
- 데이터 전처리
- 이미지 크기 맞추기, 텍스트 정리하기, 라벨 붙이기(“이건 고양이”, “이건 강아지”).
- 모델 학습
- 데이터를 입력 → 모델이 예측 → 정답과 비교해서 틀린 만큼 수정.
- 이 과정을 반복하며 점점 “패턴”을 익힘.
- 검증 및 테스트
- 학습에 쓰지 않은 데이터를 넣어보고 잘 맞는지 확인.
🔸 데이터 모델 (LLM, Embedding, Vector)
✅ LLM (Large Language Model, 대규모 언어 모델)
- 방대한 텍스트 데이터를 학습해서 언어를 이해하고 생성할 수 있는 모델.
- 예: GPT, Claude, LLaMA 등.
- 역할: 질문에 답변, 문서 요약, 코드 작성, 대화 수행 등.
✅ Embedding (임베딩) / Vector (벡터)
- 텍스트, 이미지 같은 데이터를 숫자 배열(벡터)로 변환하는 방식.
- 의미가 비슷한 데이터는 벡터 공간에서도 가깝게 위치.
- 활용: 유사도 검색, 추천 시스템, 의미 기반 검색(Semantic Search).
🔹 LLM은 학습 단계에서 어디에 해당할까?
👉 LLM은 위 ✅ Machine Learning, Deep Learning 중 3단계: 모델 학습에서 만들어진 결과예요.
- 방대한 텍스트(웹, 책, 코드 등)를 학습해서, 언어 패턴과 의미 관계를 파악한 **사전학습된 모델(Pretrained Model)**이 LLM.
- 이후 특정 목적에 맞게 추가로 **파인튜닝(Fine-tuning)**이나 프롬프트 튜닝을 거치기도 해요.
🔹 LLM과 벡터의 관계
- LLM이 내부적으로 문장을 이해하고 다루는 방식은 **벡터(숫자 배열)**예요.
- 단어/문장 → 벡터 변환(임베딩, Embedding)
- 예: "사과"라는 단어를 [0.12, -0.45, 0.87, ...] 같은 수치 벡터로 표현.
- 의미가 비슷한 단어들은 벡터 공간에서 가깝게 위치.
- LLM은 이렇게 변환된 벡터들을 가지고 패턴을 학습하고, 새로운 문장을 만들어내요.
🔸 AI는 어떻게 처리할까?
✅ Token (토큰)
- LLM이 텍스트를 처리할 때 쪼개는 단위. (단어, 어절, 글자 단위 등)
- 입력/출력 길이는 토큰 수로 계산 → 비용과 성능에 큰 영향.
✅ Hallucination (환각)
- LLM이 실제로 존재하지 않는 정보를 “있다고” 말하는 현상.
- 예: “서울에 에펠탑이 있나요?” → “네, 있습니다.” 같은 잘못된 답변.
- 그래서 RAG나 검증 과정이 필요.
🔸 LLM 성능 향상
✅ RAG (Retrieval-Augmented Generation)
- LLM이 모르는 정보를 **외부 데이터에서 검색(Retrieval)**해서 함께 넣어주고, 그걸 바탕으로 답변을 **생성(Generation)**하는 방식.
- 예: “우리 회사 매출 현황 알려줘” → DB에서 검색한 매출 데이터 + 질문을 함께 넣어서 답변 생성.
- 활용: 기업 내부 데이터 QA, 검색 기반 챗봇.
✅ Fine-tuning (파인튜닝)
- 이미 학습된 LLM을 특정 목적에 맞게 추가 학습하는 방법.
- 예: 기본 GPT 모델 → “법률 상담 특화 GPT”로 파인튜닝.
✅ Prompt (프롬프트) / Prompt Engineering
- LLM에 주는 입력 문장.
- 같은 질문이라도 표현 방법에 따라 결과가 크게 달라지므로, 프롬프트 설계 기술이 중요.
- 예: “요약해줘” 대신 “회의록을 3줄로 요약하고, To-do 항목을 bullet point로 정리해줘.”
✅ Zero-shot / Few-shot Learning
🔹 Zero-shot Learning
- 정의: 예시 없이 모델에게 바로 작업을 시키는 것.
- 모델이 이미 학습 단계에서 얻은 지식을 바탕으로 “추론”해서 답변함.
- 사용 상황
- 빠르게 간단한 질문을 할 때
- 모델이 이미 잘 아는 범위의 지식일 때
- 예시
- 프롬프트: 이 문장을 영어로 번역해줘: 나는 오늘 기분이 좋아.
- → 예시를 안 줘도 모델이 번역 수행.
🔹 Few-shot Learning
- 정의: 모델에게 작업을 시키기 전에 몇 가지 예시를 함께 제공하는 것.
- 모델이 “아, 이런 방식으로 답해야 하는구나” 하고 패턴을 따라 함.
- 사용 상황
- 답변 형식을 제어하고 싶을 때
- 모델이 애매하게 답할 수 있는 작업을 명확히 하고 싶을 때
- 예시
한국어: 안녕 → 영어: Hello 한국어: 고양이 → 영어: Cat --- 한국어: 강아지 → 영어:- → 모델이 앞의 패턴을 따라 Dog이라고 출력.
🔸 Lang Chain vs Lang Graph
✅ LangChain
- 무엇인가?
- 오픈소스 LLM 활용 프레임워크.
- “LLM + 도구(API, DB, 검색엔진 등)”를 쉽게 연결해서 Agent나 애플리케이션을 만들 수 있음.
- 특징
- 체인(Chain) 구조: 여러 단계를 연결 가능.
예: 질문 → DB검색 → 요약 → 답변 - 다양한 모듈 제공: 프롬프트 관리, 메모리, 벡터 DB 연동, Agent 구성 등.
- 체인(Chain) 구조: 여러 단계를 연결 가능.
- 비유
- “LLM 기반 앱 만들기 위한 레고 블록 세트”.
✅ LangGraph
- 무엇인가?
- LangChain 위에서 동작하는 Agent 오케스트레이션(흐름 제어) 프레임워크.
- 복잡한 Agent의 상태(State)와 단계(Workflow)를 **그래프(Graph)**처럼 정의하고 실행 가능.
- 특징
- Agent가 단순 선형 흐름(Chain)이 아니라,
- 분기(if-else)
- 반복(loop)
- 여러 Agent 간 협업
같은 복잡한 흐름을 다룰 수 있게 해줌.
- 상태(State) 관리 기능이 강력 → “Agent가 지금 무엇을 하고 있는지” 추적 가능.
- Agent가 단순 선형 흐름(Chain)이 아니라,
- 비유
- LangChain이 레고 블록이라면,
- LangGraph는 그 블록들을 연결해서 “설계도 + 자동화된 공정 라인”을 만드는 도구.
✅ 관계 정리
- LangChain: LLM 앱/Agent를 빠르게 조립할 수 있는 도구
- LangGraph: LangChain으로 만든 요소들을 복잡하게 연결/제어하는 확장 툴
'학습 > 용어집' 카테고리의 다른 글
| C# (0) | 2025.02.04 |
|---|---|
| 호이스팅 (Hoisting) (0) | 2025.02.03 |
| 데이터베이스 (0) | 2025.01.22 |
| 프런트엔드 프레임워크(Front-end Framework) (0) | 2025.01.21 |
| Nods.js (0) | 2025.01.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- aws
- oracle
- .NET
- REACT
- node.js
- DevOps
- LINQ
- Next.js
- hoisting
- PostgreSQL
- svelte
- vue
- SQLite
- RDBMS
- gcp
- Azure
- Cloud
- MySQL
- Angular
- Gatsby.js
- C#
- 이진탐색 #중복
- garbage collection
- Quasar
- nosql
- vue.js
- nuxt.js
- delegate
- JavaScript
- alpine.js
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함
