다음 토큰을 예측하는 모델
앞에 놓인 텍스트를 읽고, 다음에 올 말 조각을 이어 붙여 답을 만든다.
첫 수업의 목표
바이브코딩은 “대충 말하면 AI가 알아서 해주는 것”이 아니다. 원하는 일, 필요한 자료, 쓰면 안 되는 권한, 확인 방법을 말로 정확히 정리하는 작업이다.
1. 핵심 개념
초보자에게 필요한 건 깊은 문법이 아니라 큰 부품의 역할이다. 아래 7개는 AI 앱을 만들 때 거의 매번 등장한다.
앞에 놓인 텍스트를 읽고, 다음에 올 말 조각을 이어 붙여 답을 만든다.
컨텍스트 길이와 비용을 재는 단위다. 택시 미터기처럼 많이 쓰면 비용도 늘어난다.
문장 뜻을 숫자 위치로 바꾼다. 의미가 비슷하면 공간에서도 가깝다.
AI가 기억만 믿지 않게, 관련 자료를 찾아 컨텍스트에 넣어주는 방식이다.
파일, DB, 검색, 업무 도구를 AI가 일정한 규격으로 사용할 수 있게 해준다.
LLM, STT, 캘린더, 이메일 같은 기능을 요청하고 결과를 받는 통로다.
엑셀처럼 한 장에 다 우겨 넣지 않고, 사람/조직/기록을 테이블로 나누어 저장한다.
2. LLM과 컨텍스트
LLM의 품질은 모델 이름만으로 결정되지 않는다. 무엇을 컨텍스트 창에 넣고, 무엇을 빼고, 오래된 대화를 어떻게 정리하는지가 거의 전부다.
말투, 금지사항, 도구 사용 규칙
이번에 사용자가 요청한 일
RAG 문서, 웹 검색 결과, MCP 도구 결과, 파일 내용
방금 만든 답변도 다음 질문의 컨텍스트에 남을 수 있다
다음 질문이 들어오면 위 내용 위에 다시 쌓인다
LLM은 앞의 텍스트를 보고 다음 토큰을 예측한다. 토큰 = AI가 읽고 쓰는 글 조각이다. 그래서 질문이 모호하면 답도 흔들린다.
컨텍스트 관리 = AI가 봐야 할 자료를 작업대 위에 올리고, 불필요한 자료는 치우는 일이다. 좋은 바이브코딩은 이 작업대를 정리하는 능력이다.
`CLAUDE.md`, `AGENTS.md`, RAG, 웹 검색, MCP 결과는 모두 컨텍스트 재료다. 답변 품질은 “모델이 뭘 봤는지”에 크게 좌우된다.
3. 임베딩과 시맨틱 서치
임베딩은 단어나 문장을 의미 공간의 좌표로 바꾸는 일이다. 정확히 같은 단어가 없어도, 의미가 가까운 문장을 찾을 수 있다.
4. RAG
RAG는 “문서 검색 + LLM 답변”이다. 핵심은 문서를 적당한 청크로 자르고, 각 청크를 임베딩해서 저장해 두는 것이다.
# 회의록 업로드 기능
사용자는 오디오 파일을 올릴 수 있다.
서버는 STT API로 음성을 텍스트로 바꾼다.
긴 회의록은 챕터로 나누어 저장한다.
모든 유료 호출은 사용량 로그에 기록한다.
길이 기준 청킹 = 일정 글자 수로 자르고 조금 겹치게 두는 방식이다.
Markdown 기준 청킹 = 제목과 문단 구조를 보고 의미 단위로 자르는 방식이다.
5. API
앱이 모든 기능을 직접 만들 필요는 없다. 약속된 요청 형식으로 외부 서비스에 일을 보내고, 결과를 받아오면 된다.
초안 작성, 요약, 분류
음성을 텍스트로 변환
일정 조회와 생성
메일 발송과 상태 확인
전문 기능을 직접 만들지 않고 빌려 쓸 수 있다. 대신 인증키, 권한, 비용, 실패 처리가 필요하다.
내 앱이 요청을 보낸다. 외부 서비스가 처리한다. 결과가 JSON 같은 정해진 형식으로 돌아온다.
유료 API는 반드시 사용량 로그를 남긴다. 로그 = 어떤 모델을 얼마나 써서 얼마가 들었는지 적는 영수증이다.
6. DB와 스키마
DB = 데이터를 오래 저장하고 여러 사람이 안전하게 조회하는 장부 서버다. 스키마 = 그 장부의 칸, 규칙, 관계를 정한 설계도다.
| 이름 | 이메일 | 부서 | 직책 | 매니저 | 매니저 이메일 | 법인 | FTE 1월 | FTE 2월 |
|---|---|---|---|---|---|---|---|---|
| 김민수 | minsu@example.com | HR | HR Manager | 이서연 | seoyeon@example.com | KR01 | 1.0 | 0.8 |
| 김민수 | minsu@example.com | HR | People Lead | 이서연 | seoyeon@example.com | KR01 | 1.0 | 0.8 |
문제: 같은 사람이 반복되고, 직책명이 흔들리고, 월별 칸이 계속 늘어난다.
| person_id | name | |
|---|---|---|
| P01 | 김민수 | minsu@example.com |
| position_id | title | dept |
|---|---|---|
| POS7 | HR Manager | HR |
| person_id | month | fte |
|---|---|---|
| P01 | 2026-02 | 0.8 |
좋은 점: 사람, 자리, 월별 기록을 따로 관리해서 중복과 혼선을 줄인다.
서버 = 상시 실행되며 요청을 기다리는 프로그램이다. DB 서버는 “데이터 저장/조회 요청”을 계속 기다리는 장부 프로그램이라고 보면 된다.
7. 실제 프로젝트로 연결하기
수업에서는 코드를 먼저 보여주지 않는다. “이 프로젝트가 어떤 문제를 어떤 부품으로 풀었는지”부터 잡는다.
기사를 모으고, 비슷한 주제로 묶고, 요약해서 뉴스레터로 보내는 시스템이다.
기사 의미를 좌표로 바꿔 비슷한 기사끼리 찾는다.
기사 묶음을 검증하고 요약한다.
유료 AI 호출의 토큰과 비용을 DB에 남긴다.
AI와 대화해 보고서 초안을 만들고, DOCX로 렌더링하는 웹 SaaS다.
보고서 종류, 예시, 작성 규칙을 프롬프트에 넣는다.
기획자, 작가, 표 담당자, 편집자 역할로 일을 나눈다.
AI 결과를 실제 문서 파일로 찍어낸다.
직원, 조직, 자리 데이터를 HRIS 이전 단계에서 정리하고 검수하는 도구다.
방(managing org), 의자(position), 사람(worker)을 나눠 저장한다.
원장을 직접 고치지 않고, 검수용 초안과 질문을 만든다.
누가 무엇을 바꿨는지 기록한다.
노트, 회의록, 검색, 채팅을 묶어 개인 지식을 다시 찾고 활용하는 시스템이다.
노트와 회의록 조각을 검색해 채팅 컨텍스트에 넣는다.
STT, LLM, 검색 같은 외부 서비스를 호출한다.
Deepgram, ElevenLabs, Gemini 등 provider별 비용을 기록한다.
8. 90분 강의안
첫 수업은 코딩 실습보다 “AI 앱이 어떻게 생각하고 저장하고 연결되는지”를 머릿속에 그리는 데 집중한다.
AI에게 일을 맡긴다는 말의 의미와 좋은 요청의 조건을 잡는다.
시스템 프롬프트, 유저 프롬프트, 추가 정보가 어떻게 쌓이는지 설명한다.
문장을 의미 공간에 찍고, 가까운 문서를 찾는 과정을 보여준다.
문서 청킹, 임베딩 저장, Top-K 검색, 컨텍스트 주입을 연결한다.
외부 서비스 호출과 스키마 설계를 실제 앱의 기본기로 설명한다.
NewsHub, Report Studio, HRIS, Second Brain을 개념 지도에 매핑한다.
이 기능을 만들고 싶어. 먼저 관련 파일과 데이터 흐름을 찾아 설명해줘. LLM 컨텍스트, API 호출, DB 스키마, 비용 로그에 영향이 있는지도 확인해줘.