EP168: AI vs Machine Learning vs Deep Learning vs Generative AI
원문: EP168: AI Vs Machine Learning Vs Deep Learning Vs Generative AI
이번 주 System Design 복습 내용:
- AI vs Machine Learning vs Deep Learning vs Generative AI
- SQL 쿼리는 데이터베이스에서 어떻게 실행되는가?
- 알아야 할 AI Agent 핵심 개념 20가지
- RabbitMQ 작동 원리
- Hiring Now
- SPONSOR US
AI vs Machine Learning vs Deep Learning vs Generative AI

Artificial Intelligence (AI) 추론, 학습, 문제 해결, 언어 이해 등 일반적으로 인간 지능이 필요한 작업을 수행할 수 있는 기계나 시스템을 만드는 데 초점을 맞춘 포괄적인 분야입니다. AI는 ML, NLP, Robotics, Computer Vision 등 다양한 하위 분야로 구성됩니다.
Machine Learning (ML) 데이터를 기반으로 학습하고 의사결정을 내릴 수 있는 알고리즘을 개발하는 AI의 하위 분야입니다.
모든 작업에 대해 명시적으로 프로그래밍되는 대신, ML 시스템은 더 많은 데이터에 노출될수록 성능이 향상됩니다. 일반적인 응용 분야로는 스팸 탐지, 추천 시스템, 예측 분석 등이 있습니다.
Deep Learning 여러 층의 인공 신경망을 활용하여 데이터의 복잡한 패턴을 모델링하는 ML의 전문화된 하위 분야입니다.
신경망은 인간 뇌의 뉴런 네트워크에서 영감을 받은 계산 모델입니다. 심층 신경망은 향후 탐지에 필요한 표현을 자동으로 발견할 수 있습니다. 활용 사례로는 이미지 및 음성 인식, NLP, 자율주행 차량 등이 있습니다.
Generative AI 학습된 데이터와 유사한 텍스트, 이미지, 음악, 코드 등 새로운 콘텐츠를 생성할 수 있는 AI 시스템을 말합니다. Transformer Architecture에 기반합니다.
주목할 만한 Generative AI 모델로는 텍스트 생성을 위한 GPT와 이미지 생성을 위한 DALL-E가 있습니다.
Over to you: 이 개념들을 더 잘 이해하기 위해 무엇을 추가하시겠습니까?
SQL 쿼리는 데이터베이스에서 어떻게 실행되는가?

STEP 1 쿼리 문자열은 먼저 데이터베이스의 Transport Subsystem에 도달합니다. 이 서브시스템은 클라이언트와의 연결을 관리합니다. 또한 인증(authentication)과 권한 부여(authorization) 검사를 수행하며, 모든 것이 정상이면 쿼리를 다음 단계로 전달합니다.
STEP 2 쿼리는 이제 Query Processor 서브시스템에 도달하는데, 여기에는 Query Parser와 Query Optimizer 두 부분이 있습니다.
Query Parser는 쿼리를 하위 부분(SELECT, FROM, WHERE 등)으로 분해합니다. 구문 오류를 검사하고 parse tree를 생성합니다.
그런 다음 Query Optimizer는 parse tree를 검토하고, 의미론적 오류(예: "users" 테이블이 존재하는지 여부)를 확인하며, 쿼리를 실행하는 가장 효율적인 방법을 찾습니다.
이 단계의 출력은 execution plan입니다.
STEP 3 execution plan은 Execution Engine으로 전달됩니다. 이 계획은 쿼리를 실행하는 데 필요한 모든 단계로 구성되어 있습니다.
Execution Engine은 이 계획을 받아 Storage Engine을 호출하여 각 단계의 실행을 조율합니다. 또한 각 단계의 결과를 수집하고 상위 레이어에 통합된 응답을 반환합니다.
STEP 4 Execution Engine은 execution plan에 따라 Storage Engine에 저수준 읽기 및 쓰기 요청을 보냅니다.
이는 Storage Engine의 다양한 컴포넌트에 의해 처리됩니다. 여기에는 transaction manager(트랜잭션 관리), lock manager(필요한 lock 획득), buffer manager(데이터 페이지가 메모리에 있는지 확인), recovery manager(롤백 또는 복구용) 등이 포함됩니다.
Over to you: SQL 쿼리 실행을 이해하기 위해 무엇을 추가하시겠습니까?
알아야 할 AI Agent 핵심 개념 20가지

- Agent: 목표 달성을 위해 환경에서 인지하고, 추론하고, 행동하는 자율적 엔티티
- Environment: Agent가 작동하고 상호작용하는 주변 컨텍스트 또는 샌드박스
- Perception: 상황 인식을 구축하기 위해 감각 또는 환경 데이터를 해석하는 과정
- State: Agent의 현재 내부 상태 또는 세계에 대한 표현
- Memory: 연속성과 학습을 위한 최근 또는 과거 정보의 저장소
- Large Language Models: 언어 이해와 생성을 구동하는 Foundation 모델
- Reflex Agent: 미리 정의된 "조건-행동" 규칙에 따라 결정을 내리는 단순한 유형의 Agent
- Knowledge Base: Agent가 결정을 내리는 데 사용하는 구조화된 또는 비구조화된 데이터 저장소
- CoT (Chain of Thought): Agent가 복잡한 작업에 대해 중간 단계를 명시하는 추론 방법
- ReACT: 단계별 추론과 직접적인 환경 행동을 결합하는 프레임워크
- Tools: Agent가 기능을 확장하기 위해 사용하는 API 또는 외부 시스템
- Action: Agent가 추론의 결과로 실행하는 모든 작업 또는 행동
- Planning: 특정 목표에 도달하기 위한 일련의 행동을 고안하는 것
- Orchestration: 작업 파이프라인을 수행하기 위해 여러 단계, 도구 또는 Agent를 조율하는 것
- Handoffs: 서로 다른 Agent 간의 책임 또는 작업 이전
- Multi-Agent System: 여러 Agent가 동일한 환경에서 작동하고 협업하는 프레임워크
- Swarm: 중앙 제어 없이 로컬 규칙을 따르는 많은 Agent로부터 나타나는 창발적 지능 행동
- Agent Debate: Agent가 결과를 개선하거나 정제하기 위해 반대 견해를 주장하는 메커니즘
- Evaluation: Agent의 행동과 결과의 효과성 또는 성공을 측정하는 것
- Learning Loop: Agent가 피드백이나 결과로부터 지속적으로 학습하여 성능을 개선하는 사이클
Over to you: 목록에 어떤 AI Agent 개념을 추가하시겠습니까?
RabbitMQ 작동 원리
RabbitMQ는 애플리케이션들이 큐를 통해 메시지를 송수신하여 통신할 수 있게 해주는 message broker입니다. 서비스를 디커플링하고, 확장성을 개선하며, 비동기 처리를 효율적으로 다루는 데 도움이 됩니다.

작동 방식은 다음과 같습니다:
-
Producer(일반적으로 애플리케이션 또는 서비스)가 메시지 라우팅과 전달을 관리하는 RabbitMQ broker로 메시지를 보냅니다.
-
broker 내에서 메시지는 exchange로 전송되며, exchange는 exchange 유형(Direct, Topic, Fanout)에 따라 메시지가 어떻게 라우팅되어야 하는지 결정합니다.
-
Binding은 binding key를 사용하여 exchange를 큐에 연결하며, 이는 메시지 라우팅 규칙(예: 정확한 일치 또는 패턴 기반)을 정의합니다.
-
Direct exchange는 routing key가 정확히 일치하는 큐로 메시지를 라우팅합니다(Queue 1에서 보여주는 것처럼).
-
Topic exchange는 패턴을 사용하여 일치하는 큐로 메시지를 라우팅합니다.
-
Fanout exchange는 routing key에 관계없이 바인딩된 모든 큐에 메시지를 브로드캐스트합니다.
-
마지막으로, 메시지는 consumer에 의해 큐에서 가져가지며, consumer는 메시지를 처리하고 결과를 다른 시스템으로 전달할 수 있습니다.
Over to you: RabbitMQ 프로세스 플로우에 무엇을 추가하시겠습니까?
Thank you for reading.