당니의 개발자 스토리
LLM은 어떻게 답을 만들까? Agentic AI 시대의 개발자가 알아야 할 것들 본문
AI를 공부하면서 가장 먼저 정리하고 싶었던 질문은 이것이었다.
ChatGPT는 정말 생각을 하는 걸까? 아니면 그럴듯한 문장을 만들어내는 걸까?
처음에는 GPT, LLM, 프롬프트, RAG, Agentic AI 같은 용어가 모두 비슷하게 느껴졌다.
하지만 하나씩 뜯어보니 큰 흐름은 생각보다 명확했다.
LLM은 기본적으로 다음에 올 말을 예측하는 모델이고,
이 예측 능력을 더 잘 활용하기 위해 프롬프트 엔지니어링, 추론 유도, RAG, ReAct 같은 방식이 등장했다.
이번 글에서는 LLM의 작동 원리부터 Agentic AI까지의 흐름을 정리한다.
인공지능은 GPT만을 뜻하지 않는다
먼저 가장 헷갈렸던 부분은 인공지능과 GPT의 관계였다.
GPT는 인공지능 전체를 의미하는 말이 아니다. GPT는 LLM의 한 종류다.
LLM은 Large Language Model의 약자로 대규모 언어 모델을 뜻한다.
즉 엄청나게 많은 텍스트를 학습해 언어 패턴을 익힌 모델이다.
관계를 단순하게 표현하면 다음과 같다.
인공지능
└── LLM
├── GPT
├── Claude
├── Gemini
├── Llama
├── DeepSeek
└── Qwen
자동차로 비유하면 LLM은 자동차라는 큰 분류이고,
GPT나 Claude, Gemini, DeepSeek는 각각 다른 브랜드나 모델에 가깝다.
GPT는 Generative Pre-trained Transformer의 약자다.
Generative는 생성형이라는 뜻이다. 기존의 AI가 주어진 선택지 중 하나를 고르는 분류 모델에 가까웠다면,
생성형 AI는 글, 코드, 요약, 이미지 설명 같은 결과물을 직접 만들어낸다.
Pre-trained는 사전학습을 뜻한다. 사용자가 매번 모델을 처음부터 학습시키는 것이 아니라,
이미 대량의 데이터를 학습한 모델을 가져와 질문하는 방식이다.
Transformer는 2017년에 제안된 딥러닝 모델 구조다. 이 구조의 핵심에는 Attention이라는 개념이 있다.
문장 안에서 어떤 단어를 더 중요하게 볼지 계산하는 방식이라고 이해하면 된다.
예를 들어 “철수가 사과를 먹었다. 그는 맛있다고 말했다.”라는 문장이 있을 때,
여기서 “그”가 누구인지 파악하려면 앞 문장의 “철수”를 중요하게 봐야 한다.
Attention은 이런 식으로 문장 안의 중요한 관계에 집중하게 해주는 장치라고 볼 수 있다.
LLM은 다음 토큰을 예측한다
LLM을 이해할 때 가장 중요한 문장은 이것이다.
LLM은 생각한다기보다 다음 토큰을 예측하는 기계일 뿐이다.
토큰은 AI가 문장을 처리하는 단위다. 사람은 문장을 단어 단위로 읽는다고 느끼지만,
LLM은 문장을 토큰이라는 작은 조각으로 나누어 본다.
어떤 단어는 하나의 토큰이 될 수도 있고, 어떤 단어는 여러 토큰으로 쪼개질 수도 있다.
예를 들어 다음 문장이 있다고 해보자.
나는 오늘 점심으로 김치찌개를 _____
이 뒤에 올 가능성이 높은 말은 “먹었다”일 것이다.
반대로 “우주선”이 온다면? 매우 어색하다.
LLM은 이런 방식으로 지금까지 주어진 문맥을 보고 다음에 올 가능성이 높은 토큰을 선택한다.
프로그래밍 언어도 마찬가지다.
public static void ______
이 뒤에는 main이 올 가능성이 높다.
또 if (가 나오면 조건식이 나오고, 이후에는 {가 이어질 가능성이 높다.
코드는 자연어보다 문법과 패턴이 훨씬 정형화되어 있기 때문에 LLM이 예측하기 좋은 대상이 된다.
이 때문에 LLM은 코드를 꽤 잘 생성한다.
다만 여기서 중요한 점은 LLM이 프로그래밍을 인간처럼 이해해서 코드를 작성한다기보다,
“코드를 작성하라”는 지시 뒤에 자연스럽게 올 가능성이 높은 소스코드 토큰을 생성한다는 것이다.
통계적 언어 모델(Statistical Language Model)과 N-gram
LLM의 뿌리를 이해하려면 통계적 언어 모델을 먼저 봐야 한다.
통계적 언어 모델은 다음에 어떤 문장이 말해질 가능성을 확률로 계산하는 모델이다.
쉽게 말하면 “이 문장이 자연스러운가?”를 수학적으로 판단하려는 시도다.
예를 들어 다음 두 문장을 비교해보자.
밥 먹었어?
통계적 언어 모델은 다음 단어가 무엇인지 통계적으로 예측하는 수학적 장치이다.
두 문장 모두 문법적으로는 가능하다. 하지만 일상 대화에서는 “밥 먹었어?”가 훨씬 자주 등장한다.
따라서 언어 모델 입장에서는 첫 번째 문장의 등장 확률이 더 높다고 볼 수 있다.
문장의 확률을 계산하려면 원칙적으로는 앞에 나온 모든 단어를 고려해야 한다.
하지만 문장이 길어질수록 경우의 수가 너무 많아진다.
그래서 등장한 아이디어가 N-gram이다.
N-gram은 문장을 단어 n개씩 잘라서 보는 방식이다.
나는 오늘 밥을 먹었다
1-gram은 한 단어씩 본다.
[나는], [오늘], [밥을], [먹었다]
2-gram은 두 단어씩 본다.
[나는 오늘], [오늘 밥을], [밥을 먹었다]
3-gram은 세 단어씩 본다.
[나는 오늘 밥을], [오늘 밥을 먹었다]
핵심은 전체 문장을 모두 보지 않고 앞에 나온 몇 단어만 봐도 다음 단어를 어느 정도 예측할 수 있다는 점이다.
예를 들어 “오늘 점심은 김치찌개를”이라는 표현이 자주 등장했다면, 그
뒤에 “먹었다”가 올 확률이 높다고 판단할 수 있다. 반대로 한 번도 본 적 없는 조합이라면 확률이 낮아진다.
이 흐름이 프로그래밍 언어에도 적용된다고 설명했다.
우리가 작성하는 코드의 상당 부분은 반복적이고 정형화되어 있다.
실제로 Hindle et al.의 연구에서는 프로그래밍 언어의 문법을 깊게 분석하지 않고도 n-gram 기반 통계 분석만으로 자동완성 엔진을 만들 수 있음을 보였다.
개발자로서 이 부분이 흥미로웠다.
코드 자동완성은 단순히 컴파일러가 문법을 아는 것만으로 이루어지는 것이 아니라,
많은 코드에서 반복적으로 등장한 패턴을 학습해 다음 코드를 예측하는 방식으로도 가능하다는 뜻이기 때문이다.
LLM은 거대하고 강력한 통계적 언어 모델이다
LLM을 내부 구조는 다르지만 근본적으로 매우 거대하고 강력한 통계적 언어 모델이라고 설명했다.
LLM은 Transformer 구조를 기반으로 한다.
그리고 다음 토큰 예측을 자기회귀(Auto-Regressive) 방식으로 학습한다.
자기회귀라는 말은 어렵지만 원리는 단순하다.
한 토큰을 생성한다.
생성한 토큰을 다시 입력에 포함한다.
그 다음 토큰을 생성한다.
이 과정을 반복한다.
예를 들어 모델이 “나는”을 생성하고, 그 다음에는 “나는”을 포함한 문맥을 보고 “오늘”을 생성한다.
다시 “나는 오늘”을 보고 “점심을”을 생성한다. 이런 식으로 문장을 이어간다.
따라서 LLM이 질문에 대답하는 방식도 다르게 봐야 한다.
질문에 답하는 것은 질문의 정답을 알고 있기 때문이라기보다,
질문 뒤에 자연스럽게 이어질 토큰이 대답이기 때문이다.
코드를 작성하는 것도 마찬가지다. 프로그래밍을 진짜로 할 줄 알아서라기보다,
코드를 짜라는 지시 뒤에 자연스럽게 이어질 토큰이 소스코드이기 때문이다.
물론 이 설명만으로 LLM의 능력을 낮게 평가할 필요는 없다.
다음 토큰 예측이라는 단순해 보이는 목표를 엄청난 규모의 데이터와 모델로 수행했더니
번역, 요약, 코드 생성, 추론처럼 보이는 능력이 나타났다. 이를 창발적 능력(Emergent Capability) 이라고 한다.
창발은 구성 요소 하나하나에는 없던 특징이 전체 구조에서 나타나는 현상이다.
개미 한 마리는 단순하지만 개미 군집은 복잡한 길을 만들고, 뉴런 하나는 단순하지만 뇌 전체는 생각과 기억을 만들어내는 것과 비슷하다.
LLM도 규모가 커지면서 명시적으로 학습 목표로 삼지 않았던 능력들이 나타났다.
이것이 대규모 언어 모델이 주목받는 이유다.
In-Context Learning과 Prompt Engineering
LLM의 대표적인 창발적 능력 중 하나가 In-Context Learning이다.
In-Context Learning은 모델을 새로 학습시키지 않고, 프롬프트 안에 주어진 맥락과 예시를 보고
그 자리에서 규칙을 따라 하는 능력이다.
예를 들어 다음처럼 입력한다고 해보자.
행복한 강아지는 happy 강아지야.
슬픈 고양이는 sad 고양이야.
어리둥절한 하마는 뭐야?
모델은 앞의 예시를 보고 규칙을 파악한다. 감정 표현은 영어로 바꾸고, 동물 이름은 그대로 둔다는 패턴을 찾는 것이다.
그래서 “confused 하마”와 같은 답을 생성할 수 있다.
이때 예시를 몇 개 주느냐에 따라 Zero-shot, One-shot, Few-shot으로 나눌 수 있다.
Zero-shot은 예시 없이 지시만 주는 방식이다.
사과는 영어로 뭐야?
One-shot은 예시 하나를 주고 비슷한 일을 시키는 방식이다.
행복한 강아지는 happy 강아지야.
슬픈 고양이는 뭐야?
Few-shot은 예시 여러 개를 주고 패턴을 따라 하게 하는 방식이다.
행복한 강아지는 happy 강아지야.
슬픈 고양이는 sad 고양이야.
어리둥절한 하마는 뭐야?
이 흐름이 Prompt Engineering으로 이어진다.
Prompt Engineering은 AI가 원하는 방식으로 답하도록 입력을 설계하는 일이다.
단순히 “이 코드 어때?”라고 묻는 것보다
“Spring 백엔드 면접 과제라고 생각하고 보안, 트랜잭션, N+1, 예외 처리 관점에서 리뷰해줘” 라고 묻는 것이 훨씬 좋은 답을 만든다.
AI는 질문 내용뿐 아니라 질문의 분위기, 예시, 조건, 출력 형식을 모두 참고한다.
그래서 좋은 답을 얻기 위해서는 좋은 맥락을 줘야 한다.
Chain-of-Thought는 왜 도움이 될까
Chain-of-Thought는 말 그대로 생각의 사슬이다.
정답만 바로 말하게 하지 않고 중간 추론 과정을 거치도록 유도하는 방식이다.
예를 들어 다음 문제가 있다고 해보자.
사과가 23개 있었다.
점심에 20개를 사용했다.
그 뒤 6개를 더 샀다.
몇 개가 남았을까?
모델이 바로 답만 내면 틀릴 수 있다. 하지만 다음처럼 단계를 나누면 정답 가능성이 높아진다.
처음에는 23개가 있었다.
20개를 사용했으므로 3개가 남았다.
6개를 더 샀으므로 9개가 되었다.
정답은 9개다.
단순히 프롬프트 뒤에 “차근차근 생각해보자” 또는 “Let’s think step by step”이라고 붙이는 것만으로도
답의 정확도가 높아질 수 있다고 한다.
이유는 LLM이 프롬프트의 맥락을 따라 다음 토큰을 생성하기 때문이다.
“차근차근 생각하자”는 말이 들어가면 바로 답을 내는 패턴보다 풀이 과정을 쓰는 패턴을 따르게 된다.
다만 여기서 중요한 경고가 있다.
Chain-of-Thought가 있다고 해서 추론이 항상 맞는 것은 아니다.
풀이 과정이 있어 보이더라도 그 과정 자체가 틀릴 수 있다. 학생이 풀이를 길게 썼다고 해서 정답이라는 보장이 없는 것과 같다.
따라서 AI가 중간 과정을 보여준다고 해서 무조건 믿으면 안 된다.
개발자는 그 과정을 테스트, 실행 결과, 요구사항과 대조하며 검증해야 한다.
Reasoning Model은 진짜 생각하는 모델일까
DeepSeek-R1 같은 모델은 Reasoning Model의 예시로 언급되었다.
여기서 처음에는 조금 헷갈렸다. LLM은 GPT 같은 것이고, Reasoning Model은 DeepSeek 같은 것인가 싶었다.
정확히는 GPT도 LLM이고 DeepSeek도 LLM이다.
그중 DeepSeek-R1처럼 추론 과정을 더 적극적으로 수행하도록 튜닝된 모델을 Reasoning Model이라고 부를 수 있다.
즉 관계는 다음과 같이 이해할 수 있다.
LLM
├── 일반 LLM
│ ├── GPT 계열
│ ├── Claude 계열
│ └── DeepSeek-V3 등
│
└── Reasoning 특화 LLM
├── DeepSeek-R1
└── 추론 특화 모델들
Reasoning Model은 답을 바로 생성하기보다 답하기 전에 필요한 정보를 정리하고 중간 추론을 생성하도록 훈련된 모델이다.
예를 들어 코드 리뷰를 할 때 모델이 먼저 다음 정보를 정리한다고 해보자.
DB URL이 코드에 직접 적혀 있다.
username이 admin으로 하드코딩되어 있다.
password가 문자열로 노출되어 있다.
이 정보를 컨텍스트 안에 생성해두면, 최종 답변을 만들 때 이 내용을 다시 참고할 수 있다.
그래서 보안 문제를 더 잘 짚어낼 가능성이 높아진다.
하지만 이것도 진짜 사람처럼 의식을 가지고 생각하는 것은 아니다.
모델이 답하기 전에 think 태그 안에 생각처럼 보이는 텍스트를 먼저 만들도록 훈련된 것에 가깝다.
그리고 강조한 것처럼 추론 자체의 올바름이 자동으로 보장되지는 않는다. 추론 과정이 틀리면 최종 답도 틀릴 수 있다.
결국 Reasoning Model은 더 잘 생각하는 것처럼 보이는 도구이지, 무조건 정답을 보장하는 존재는 아니다.
중국어 방 실험과 AI의 이해 문제
중국어 방 실험은 LLM을 이해할 때 중요한 철학적 질문을 던진다.
상황은 이렇다. 중국어를 전혀 모르는 사람이 방 안에 있다. 방 안에는 아주 자세한 규칙책이 있다.
밖에서 중국어 문장이 들어오면, 방 안의 사람은 뜻을 모르지만 규칙책을 보고 적절한 중국어 문장을 내보낸다.
밖에서 보면 방 안의 사람은 중국어를 이해하는 것처럼 보인다.
하지만 실제로는 중국어의 의미를 모른 채 기호를 조작했을 뿐이다.
이 실험이 던지는 질문은 이것이다.
말을 잘한다고 해서 정말 이해한 것인가?
LLM도 비슷하게 볼 수 있다.
LLM은 자연스럽고 정확해 보이는 답변을 만든다. 하지만 그것이 인간처럼 의미를 이해했다는 뜻인지는 별개의 문제다.
예를 들어 AI가 트랜잭션을 설명할 수 있다고 해서, 실제 운영 환경에서 장애가 발생했을 때 책임지고 판단할 수 있는 것은 아니다. AI가 코드를 생성할 수 있다고 해서 그 코드가 프로젝트 요구사항, 보안 기준, 성능 조건을 모두 만족한다는 뜻도 아니다.
이 지점에서 개발자의 역할이 중요해진다.
AI는 답을 생성할 수 있다. 하지만 그 답이 맞는지 검증하고 책임지는 사람은 개발자다.
Self-Consistency: 여러 번 풀게 하고 다수결로 고르기
Self-Consistency는 같은 질문을 여러 번 하고, 다수결로 답을 정하면 더 정확해진다는 아이디어다.
LLM은 확률 기반 모델이기 때문에 같은 질문을 해도 매번 조금씩 다른 추론 경로를 만들 수 있다.
한 번의 답변이 틀릴 수 있다면 여러 번 답하게 하고 가장 많이 나온 답을 고르는 방식으로 정확도를 높일 수 있다.
예를 들어 어떤 문제에 대해 모델이 세 번 답했다고 해보자.
1번째 답: 5
2번째 답: 5
3번째 답: 6
이 경우 5가 두 번 나왔기 때문에 최종 답을 5로 선택한다.
친구 여러 명에게 같은 문제를 물어보고 가장 많이 나온 답을 신뢰하는 것과 비슷하다.
물론 다수결도 완벽하지는 않다. 모두가 같은 착각을 하면 다수결도 틀릴 수 있다.
하지만 한 번의 생성에만 의존하는 것보다는 안정성을 높이는 데 도움이 된다.
RAG: 기억력이 없는 LLM에게 외부 지식을 붙이기
RAG는 Retrieval Augmented Generation의 약자다. 검색으로 보강된 생성이라는 뜻이다.
LLM은 학습 시점 이후의 최신 정보나 회사 내부 문서를 기본적으로 알 수 없다.
예를 들어 “우리 회사 연차 규정 알려줘”라고 물어도, 모델이 그 문서를 학습한 적이 없다면 답할 수 없다.
그래서 RAG는 외부 데이터베이스에서 관련 문서를 검색한 뒤,
그 검색 결과를 프롬프트에 넣어 LLM이 답변하도록 만든다.
흐름은 다음과 같다.
사용자 질문
→ 관련 문서 검색
→ 검색 결과를 프롬프트에 추가
→ LLM이 검색 결과를 참고해 답변 생성
기억력이 없는 LLM에게 벡터 데이터베이스를 이용해 기억을 주입한다고 이해하면 된다.
여기서 벡터 데이터베이스는 텍스트를 숫자 배열로 바꾸어(벡터화) 저장하고, 의미가 비슷한 문서를 찾는 데 사용된다.
예를 들어 사용자가 “휴가 규정 알려줘”라고 물었을 때
단순히 글자가 같은 문서만 찾는 것이 아니라, “연차”, “반차”, “병가”처럼 의미적으로 가까운 문서를 함께 찾을 수 있다.
RAG는 실무에서 매우 중요하다.
AI가 모르는 정보를 외부에서 가져와 답하게 만들 수 있고, 환각을 줄이는 데도 도움이 된다.
다만 검색된 문서가 잘못되었거나 관련 없는 문서라면 답변도 틀릴 수 있으므로 검색 품질 역시 중요하다.
ReAct: 생각하고 행동하는 AI
ReAct는 Reason + Act의 줄임말이다. 말 그대로 추론하고 행동하는 방식이다.
기존 LLM은 입력을 받고 텍스트를 출력한다.
하지만 실제 문제 해결에는 텍스트 생성만으로 부족한 경우가 많다.
예를 들어 오늘 날씨를 알려면 실시간 날씨 API를 호출해야 한다.
큰 숫자 계산은 계산기를 사용하는 것이 더 정확하다. 회사 문서를 찾으려면 검색 도구가 필요하다.
ReAct는 LLM이 추론을 통해 어떤 도구를 사용할지 정하고,
실제 도구를 호출한 뒤, 그 결과를 관찰해 다음 답변을 생성하는 방식이다.
흐름은 다음과 같다.
업무 입력
→ 추론
→ 행동
→ 관찰
→ 다시 추론
→ 최종 답변
예를 들어 “서울 오늘 날씨 알려줘”라는 요청이 들어오면, LLM은 먼저 날씨 API를 호출해야 한다고 판단한다.
API 호출 결과를 받아 현재 날씨를 확인하고, 그 결과를 바탕으로 사용자에게 답변한다.
이 구조가 Agentic AI로 이어진다.
Agentic AI는 단순히 답변만 생성하는 것이 아니라,
목표를 받고 필요한 도구를 사용하며 여러 단계를 수행하는 AI 시스템이다.
Agentic AI 시대의 개발자는 무엇을 해야 할까
결국 중요한 질문은 “Agentic AI 시대에 개발자는 어떻게 일해야 하는가?”로 이어진다.
이 질문에 대한 내 나름의 정리는 다음과 같다.
AI는 코드를 생성할 수 있다. 문서를 요약할 수 있다. 테스트 케이스를 제안할 수 있다. API를 호출하고 검색 도구를 사용할 수도 있다.
하지만 AI가 생성한 결과가 항상 맞는 것은 아니다.
LLM은 기본적으로 다음 토큰을 예측하는 모델이고, 그럴듯하지만 틀린 답을 만들 수 있다.
추론 과정을 보여줘도 그 추론 자체가 틀릴 수 있다.
RAG로 문서를 검색해도 잘못된 문서를 참고하면 답이 틀릴 수 있다.
ReAct로 도구를 사용해도 도구 선택이나 결과 해석이 잘못될 수 있다.
그래서 개발자의 역할은 사라지는 것이 아니라 바뀐다.
예전에는 개발자가 코드를 한 줄씩 직접 작성하는 역할에 집중했다면,
AI 시대의 개발자는 문제를 정의하고, 적절한 맥락을 주고, AI가 만든 결과를 검증하고,
실제 시스템에 안전하게 반영하는 역할이 더 중요해진다.
특히 개발자는 다음을 잘해야 한다.
요구사항을 정확히 이해하기
프롬프트에 필요한 맥락 제공하기
AI가 만든 코드 검증하기
테스트로 동작 확인하기
보안과 개인정보 이슈 점검하기
운영 환경에서 발생할 리스크 판단하기
도구와 모델의 한계를 이해하기
AI를 잘 쓰는 개발자는 단순히 질문을 잘하는 사람이 아니다.
AI가 만든 결과를 이해하고 책임질 수 있는 사람이다.
질문과 답변
Q1. LLM이란 무엇인가요?
LLM은 Large Language Model의 약자로 대규모 언어 모델을 의미한다. 대량의 텍스트 데이터를 학습해 주어진 문맥 다음에 올 가능성이 높은 토큰을 예측하는 모델이다. GPT, Claude, Gemini, DeepSeek 등이 LLM의 예시다.
Q2. GPT와 ChatGPT는 같은 말인가요?
같은 말은 아니다. GPT는 OpenAI가 만든 언어 모델 계열이고, ChatGPT는 GPT 계열 모델을 사용자가 대화 형태로 사용할 수 있게 만든 서비스다.
Q3. LLM은 어떻게 답변을 생성하나요?
LLM은 현재까지 주어진 입력을 바탕으로 다음에 올 가능성이 높은 토큰을 예측하고, 그 토큰을 다시 문맥에 포함해 다음 토큰을 생성하는 과정을 반복한다. 이를 통해 문장이나 코드 형태의 답변이 만들어진다.
Q4. N-gram 언어 모델이란 무엇인가요?
N-gram 언어 모델은 문장을 단어 n개 단위로 나누고, 앞에 나온 몇 개의 단어를 기준으로 다음 단어의 확률을 계산하는 언어 모델이다. 전체 문맥을 모두 계산하는 부담을 줄이기 위해 사용되었다.
Q5. 프로그래밍 언어가 자연어와 비슷하다는 말은 무슨 뜻인가요?
프로그래밍 언어도 반복적이고 정형화된 패턴이 많다는 뜻이다. 예를 들어 if, for, public static void 같은 표현 뒤에는 자주 등장하는 코드 패턴이 있다. 이 때문에 통계적 패턴 분석이나 LLM을 활용한 코드 자동완성이 가능하다.
Q6. In-Context Learning이란 무엇인가요?
In-Context Learning은 모델을 새로 학습시키지 않고, 프롬프트 안에 주어진 예시와 맥락을 바탕으로 새로운 작업을 수행하는 능력이다.
Q7. Zero-shot, One-shot, Few-shot의 차이는 무엇인가요?
Zero-shot은 예시 없이 지시만 주는 방식이다. One-shot은 예시 하나를 주고 비슷한 작업을 수행하게 하는 방식이다. Few-shot은 여러 예시를 주고 패턴을 따라 하게 하는 방식이다.
Q8. Chain-of-Thought Prompting이란 무엇인가요?
Chain-of-Thought Prompting은 LLM이 바로 정답을 말하지 않고 중간 추론 과정을 거쳐 답하도록 유도하는 프롬프트 방식이다. 복잡한 계산이나 논리 문제에서 정확도를 높이는 데 도움이 될 수 있다.
Q9. Reasoning Model은 일반 LLM과 무엇이 다른가요?
Reasoning Model은 답을 바로 생성하기보다 답변 전에 중간 정보를 정리하고 추론 과정을 거치도록 튜닝된 LLM이다. DeepSeek-R1이 대표적인 예시다. 다만 추론 과정이 있다고 해서 항상 정답이 보장되는 것은 아니다.
Q10. 중국어 방 실험은 AI와 어떤 관련이 있나요?
중국어 방 실험은 겉으로 언어를 이해하는 것처럼 보여도 실제로는 규칙에 따라 기호를 조작하는 것일 수 있다는 사고실험이다. LLM도 자연스러운 답변을 생성하지만, 이것이 인간과 같은 의미 이해를 보장하는지는 별개의 문제라는 점을 설명하는 데 활용된다.
Q11. Self-Consistency란 무엇인가요?
Self-Consistency는 같은 질문에 대해 여러 개의 추론 경로를 생성한 뒤, 가장 많이 나온 답을 최종 답으로 선택하는 기법이다. 한 번의 답변보다 안정성을 높이는 데 도움이 될 수 있다.
Q12. RAG란 무엇인가요?
RAG는 Retrieval Augmented Generation의 약자로, 외부 문서를 검색한 뒤 그 검색 결과를 바탕으로 답변을 생성하는 구조다. LLM이 알지 못하는 최신 정보나 내부 문서를 활용할 수 있게 해준다.
Q13. 벡터 데이터베이스는 왜 RAG에서 필요한가요?
벡터 데이터베이스는 텍스트를 숫자 배열로 변환해 저장하고, 의미적으로 비슷한 문서를 검색하는 데 사용된다. 사용자의 질문과 유사한 문서를 찾아 LLM에게 참고 자료로 제공하기 위해 필요하다.
Q14. ReAct란 무엇인가요?
ReAct는 Reason과 Act의 결합으로, LLM이 추론을 통해 필요한 행동을 정하고 외부 도구를 사용한 뒤 그 결과를 관찰해 답변을 만드는 방식이다.
Q15. Agentic AI 시대에 개발자의 역할은 무엇이라고 생각하나요?
AI가 코드 생성, 검색, 문서화, 테스트 보조를 할 수 있더라도 결과의 정확성과 안전성을 책임지는 것은 개발자다. 따라서 개발자는 요구사항을 명확히 정의하고, AI에게 적절한 맥락을 제공하며, 생성된 결과를 테스트와 코드 리뷰로 검증할 수 있어야 한다.
Q16. GPT에서 G, P, T는 각각 무엇인가요?
G는 Generative로 결과를 생성한다는 의미다. P는 Pre-trained로 대량의 데이터로 미리 사전학습되었다는 뜻이다. T는 Transformer로 Attention 기반 딥러닝 구조를 의미한다.
Q17. 통계적 언어 모델이란 무엇인가요?
통계적 언어 모델은 주어진 문맥에서 다음 단어가 나올 확률을 계산하는 모델이다. LLM도 기본적으로 현재 문맥 다음에 올 가능성이 높은 토큰을 예측하는 원리를 사용한다.
Q18. Transformer의 핵심은 무엇인가요?
Transformer의 핵심은 Attention 메커니즘이다. 문장 안에서 어떤 단어가 다른 단어와 얼마나 관련 있는지 계산해 문맥을 파악한다.
Q19. 생성형 AI와 분류 AI의 차이는 무엇인가요?
분류 AI는 정해진 선택지 중 하나를 고르는 방식이다. 반면 생성형 AI는 텍스트, 이미지, 코드처럼 새로운 결과물을 직접 만들어내는 방식이다.
Q20. AI 환각이란 무엇인가요?
AI 환각은 AI가 사실과 다른 내용을 그럴듯하게 생성하는 현상이다. LLM은 사실 기반 검색기가 아니라 다음 토큰을 확률적으로 생성하는 모델이기 때문에 존재하지 않는 정보도 자연스럽게 답변할 수 있다.
Q21. Next Token Prediction이란 무엇인가요?
Next Token Prediction은 현재까지 입력된 토큰을 바탕으로 다음에 올 가능성이 가장 높은 토큰을 예측하는 방식이다. LLM이 문장이나 코드를 생성하는 핵심 원리다.
Q22. 자기회귀 방식이란 무엇인가요?
자기회귀 방식은 모델이 이전에 생성한 결과를 다시 입력으로 사용해 다음 토큰을 순차적으로 생성하는 방식이다. LLM은 이 과정을 반복하면서 긴 답변을 만든다.
Q23. 창발이란 무엇인가요?
창발은 모델의 규모와 학습 데이터가 충분히 커졌을 때, 명시적으로 학습하지 않은 새로운 능력이 나타나는 현상이다. 예를 들어 번역, 추론, 코드 작성 같은 능력이 모델 규모가 커지면서 두드러지게 나타날 수 있다.
Q24. Prompt Engineering이란 무엇인가요?
Prompt Engineering은 LLM이 원하는 방식으로 응답하도록 질문, 예시, 조건, 출력 형식을 설계하는 과정이다. 같은 모델이라도 프롬프트를 어떻게 작성하느냐에 따라 답변 품질이 달라질 수 있다.
Q25. 개발자가 프롬프트를 잘 작성해야 하는 이유는 무엇인가요?
LLM은 입력된 맥락과 지시 방식에 따라 답변 품질이 크게 달라진다. 따라서 개발자는 작업 목표, 제약 조건, 예시, 출력 형식을 명확히 제시해 AI가 더 정확하고 실무에 맞는 결과를 내도록 유도해야 한다.
Q26. AI가 추론 과정을 보여주면 무조건 믿어도 되나요?
아니다. 추론 과정이 있다는 것은 답변을 더 체계적으로 만들 수 있다는 장점은 있지만, 그 추론 자체가 틀릴 수도 있다. 따라서 AI의 답변은 요구사항, 테스트, 실제 실행 결과를 기준으로 검증해야 한다.
Q27. 왜 RAG가 필요한가요?
LLM은 최신 정보나 회사 내부 문서를 기본적으로 알 수 없다. RAG를 사용하면 외부 문서를 검색해 참고 자료로 제공할 수 있으므로 답변의 정확성과 근거성을 높일 수 있다.
Q28. Agentic AI란 무엇인가요?
Agentic AI는 단순히 답변만 생성하는 것이 아니라 검색, 계산, API 호출, 파일 처리 같은 행동을 수행하며 문제를 해결하는 AI 시스템이다. 사용자의 목표를 달성하기 위해 여러 단계를 계획하고 도구를 활용할 수 있다는 점이 특징이다.
'AI > 생성형 AI' 카테고리의 다른 글
| AI Agent는 개발 방식을 어떻게 바꿀까 (0) | 2026.05.19 |
|---|
