로코
July 16, 2026

AI Engineering

발행일 July 16, 2026  •  7분 소요  • 1353 단어  • 다른 언어 선택:  English, 日本語
Table of contents

1. 이 고민을 끝내러 왔다

근래의 개발 트렌드 중 가장 핫한 키워드는 뭐니 뭐니 해도 AI라고 할 수 있다. AI 도구들은 이미 개발자들에게 있어서 떼려야 뗄 수 없는 준필수적인 존재가 되었다. 나 또한 Claude 활용에 익숙해져서 코딩 테스트 연습, 블로그 아이디어 구상, 사이드 프로젝트 계획 등 온갖 부분에서 AI를 활용하고 있다.

그러던 와중에 나는 공교롭게도 AI 기반 채팅 서비스를 개발하는 스타트업에 입사를 하게 되었다. 그러다 보니 자연스럽게도, 백엔드 엔지니어링을 넘어서 AI 엔지니어링이라는 새로운 영역에도 흥미가 돋기 시작했다.

1년이 넘는 기간 동안 재취업을 도전하면서 맛보았던 숱한 좌절감, 앞으로 수년 이내에 AI가 백엔드 개발 직군을 대체할지도 모른다는 불안감과 함께, 자연스럽게도 나는 AI 엔지니어링을 공부해보고 싶다는 마음이 생겼다.

2. 이 책에 담긴 내용들

이 책을 공부하면서 정리한 내용들은 이미 개인 GitHub Repository 에 정리해두었다. 그러므로 본 포스트에서는 각 챕터별로 어떤 내용들을 배울 수 있는지 가볍게 소개하는 내용을 작성해보고자 한다.

Chapter 1. Introduction to Building AI Applications

AI 엔지니어링을 다루기 이전에 먼저, 언어 모델이 어떻게 발전해 왔는지를 알려준다.

초기의 언어 모델은 기본 단위 토큰 단위를 기반으로, 컨텍스트에서 어떤 단어가 나타날지 예측하는 방식으로 작동했다. 이후 자기 지도 학습(Self-supervised Learning) 이 가능해지면서 언어 모델은 LLM(Large Language Model) 으로 확장되었다. 더 나아가서 언어 수준을 넘어 이미지, 동영상 등 더욱 다양한 데이터들을 처리하며 마치 사람과 같이 세상을 인식하고 상호작용할 수 있는 모델에 대한 연구가 활발해졌고, 이에 따라 멀티모달과 함께 다양한 작업을 수행할 수 있는 파운데이션 모델이 등장했다.

AI와 함께 하게 되면서 애플리케이션을 개발하는 것이 놀라울 정도로 쉬워졌다. 하지만 그럴수록 더욱 고민해봐야 할 부분이 “경쟁 우위"다. 기술력, 데이터, 유통력 중에서 우리가 어떤 부분에서 우위를 가져갈 수 있는가? 파운데이션 모델을 기반으로 한다면 대부분의 회사들이 비슷한 기술력을 가질 것이고, 유통력 측면에서는 대기업이 유리할 것이다. 그러므로 스타트업이라면 데이터를 중심으로 전략을 세우는 것이 유리할 것이다.

Chapter 2. Understanding Foundation Models

이번 챕터에서는 파운데이션 모델을 직접 만들기 위한 방법보다는, 모델 활용에 필요할 만한 기반 지식들에 집중한다.

2014년 구글에서 발표한 seq2seq(sequence to sequenct) 아키텍처는 기계 번역 성능을 크게 개선했다. seq2seq는 인코더와 디코더를 RNN(Recurrent Neural Network, 순환신경망) 으로 구성하여 토큰을 순차적으로 처리하도록 설계되었다. 하지만 순차적으로 작동하는 구조 특성상 품질 저하 및 속도 지연 이슈가 있었다.

트랜스포머 아키텍처는 seq2seq의 문제점들을 해결해준다. 어텐션 메커니즘을 통해 입력 토큰의 중요도에 가중치를 두고, 입력 토큰을 병렬 처리함으로써 처리 속도를 향상시킨다. 하지만 출력은 여전히 순차적으로 생성된다.

모델을 이해할 때, 사전 학습 너머의 사후 학습의 중요성을 간과해서는 안된다. 사후 학습은 부적절한 응답을 필터링하고, 마치 사람과 같이 응답을 완성할 수 있도록 해준다. 사후 학습은 일반적으로 2단계를 거친다. 지도 파인튜닝(Supervised Fine-Tuning, SFT)선호도 파인튜닝(Preference Fine-Tuning) 이 바로 그것이다.

지도 파인튜닝은 고품질 지시 데이터로 파인튜닝을 하는 과정이고, 선호도 파인튜닝은 인간의 선호도를 학습하는 방식이며, RLHF(Reinforcement Learning from Human Feedback) 와 같은 강화 학습으로 수행된다.

Chapter 3. Evaluation Methodology

파운데이션 모델은 개방적이기 때문에 성능을 평가하기 위해 사용할 명확한 정답이 없고, 블랙박스의 출력 결과만을 봐야 하기 때문에 평가하기 어렵다. 그럼에도 우리는 시스템의 취약성을 파악하고 더욱 견고하게 만들기 위해서 평가의 중요성을 간과해서는 안된다.

파운데이션 모델의 근본은 언어 모델이므로, 언어 모델링 지표를 이해해야 한다. 우선 엔트로피는 토큰에 얼마나 많은 정보가 담겨있는지를 나타낸다. 엔트로피가 높을수록 더 많은 정보를 담고 있으며, 엔트로피가 낮을수록 모델이 다음에 올 것을 예측하기 쉬워진다. 교차 엔트로피는 언어 모델이 데이터셋의 내용을 얼마나 예측하기 어려워하는지를 보여주는 지표다. 또한 이 둘은 BPB(Bit Per Byte) 등의 수치를 통해 텍스트를 원본 대비 얼마나 압축할 수 있는지를 확인한다. 퍼플렉시티는 엔트로피와 교차 엔트로피의 지수 함수로, 다음 토큰 예측의 불확실성을 나타낸다. 여기서 불확실성이 높다는 것은 다음 토큰이 될 수 있는 선택지가 많다는 뜻이다.

최근에는 AI를 사용해 AI를 평가하는 AI 평가자의 활용 사례도 늘고 있다. 이는 사람만큼 정확하진 않더라도 개발 방향성을 잡기에 충분히 도움이 될 수 있다. 다만 아직 AI 평가 기준이 표준화되지 않았으므로 편향이나 기준의 모호성에 대해 유의해야 한다.

Chapter 4. Evaluate AI Systems

애플리케이션의 모델을 평가하는 기준에는 도메인 특화 능력, 생성 능력, 지시 준수 능력, 비용, 지연 시간 등이 있다. 개발에 앞서 우리는 평가 기준을 명확히 해야 하며, 여기에는 비즈니스적 우선순위가 반영되어야 한다.

모델을 선택하는 과정 역시 중요하다. 비용과 성능 사이에서의 트레이드오프에 대한 결정이 필요하고, 모델을 직접 개발할 것인지 상용 모델의 API를 활용할 것인지 결정해야 한다.

일회성 평가로 끝날 것이 아니라 평가 파이프라인을 설계해서 시스템의 각 구성요소들을 독립적으로 평가해야 한다. 평가 지표를 비즈니스 지표와 연결해서 어떤 지표를 우선시할지 결정해야 한다.

Chapter 5. Prompt Engineering

프롬프트 엔지니어링은 파인튜닝에 비하면 초보자도 할 수 있는 쉽고 간단한 것이라는 오해를 받기 쉽다. 하지만 프롬프트 엔지니어링은 파인튜닝에 비해 더 적은 자원으로도 효율적인 모델 조정이 가능하게 해주는 기법이기 때문에 다른 ML 기법들처럼 엄중하게 수행될 가치가 있다.

프롬프트 엔지니어링을 위해 먼저 의 갯수를 조절할 필요가 있다. 샷의 갯수가 많으면 더 풍부한 예시와 함께 추론 결과 품질이 좋아진다. 하지만 프롬프트가 길어져서 추론 비용이 증가할 수 있으므로 실험을 통해 적정 샷 갯수를 찾아나가야 한다.

프롬프트 엔지니어링의 모범 사례에는 충분한 컨텍스트 제공, 작업 단위 분할, CoT(Chain of Thought), 프롬프트 엔지니어링 도구 평가, 프롬프트 버전 관리 등이 있다.

또한 프롬프트 추출, 탈옥 및 프롬프트 주입 등의 프롬프트 공격에 대비해야 하며, 이를 위해서는 벤치마크나 보안 점검 자동화 도구가 유용할 것이다.

Chapter 6. RAG and Agents

모델이 컨텍스트를 구성할 때 주로 사용하는 2가지가 있는데, RAG(Retrieval-Augmented Generation)에이전트가 바로 그것이다.

RAG은 모델이 외부 소스로부터 관련 정보를 검색해서 컨텍스트를 구성할 수 있게 한다. TF-IDF, Elasticsearch, BM25 등의 키워드 기반 검색 방식과 Vector DB와 같은 임베딩 기반의 검색 방식을 활용할 수 있으며, 보통 이 2개의 방식을 결합해서 하이브리드 방식으로 활용하는 경우가 많다.

에이전트는 도구를 통해 환경을 인식하고 변화를 줄 수 있다. 이와 관련된 여러 에이전트 패턴들이 있는데, 추론과 행동을 교차하면서 스스로 과정을 평가하고 개선하는 ReAct 패턴이 일반적으로 많이 쓰이고 있다.

Chapter 7. Finetuning

파인튜닝은 한 과제에서의 학습 방식을 다른 과제에서도 적용시키는 전이 학습(Transfer Learning, TL) 의 한 형태이다. 추가적으로 뭔가를 더 학습하기보다는 단지 모델의 행동을 다듬는 것이 이상적인 파인튜닝이다.

그런데 사실 파인튜닝을 하기에 앞서 파인튜닝의 필요성에 대해 신중히 검토할 필요가 있다. 파인튜닝에는 상당한 컴퓨팅 자원이 필요할 뿐만 아니라, ML에 대한 전문적인 지식 기반도 필요하다. 사실이나 정보가 부족하다면 RAG이 더 효율적이고, 성능을 높이고 싶은 경우에도 프롬프트만으로 성능 향상이 가능한 경우가 많다. 그러므로 프롬프트를 먼저 시도해본 이후에, 형식 및 안정성을 강화해야 할 때 파인튜닝 도입을 고려해보는 것이 좋다.

파인튜닝은 메모리를 많이 사용한다. 그래서 역전파(Backpropagation) 같은 신경망 학습 알고리즘이나 메모리 사용량을 줄여주는 양자화 기법들이 사용된다. 대표적인 파인튜닝 기법으로 더 적은 파라미터로 부분 파인튜닝을 하면서도 전체 파인튜닝에 가까운 성능을 달성할 수 있는 PEFT(Parameter-Efficient Fine-Tuning) 가 있다. PEFT 안에서도 다양한 기법들이 나눠져 있으며, 대표적으로 유명한 것은 LoRA(Low-Rank Adaptation) 이다.

Chapter 8. Dataset Engineering

모델 학습에는 데이터가 필요하다. 데이터셋을 구축하기 위해서는 모델이 편향이나 환각을 일으키지 않도록 고품질의 데이터를 확보하는 것이 중요하다.

데이터는 증강 및 합성을 통해서도 생성이 가능하다. 특히 최근에는 AI로 데이터를 생성하는 사례도 많아졌다. 하지만 AI로 데이터를 생성하는 경우에는 데이터 품질에 각별한 유의가 필요하다.

또 한편으로는, 모델 증류(model distillation) 를 통해 작은 모델이 큰 모델을 모방하도록 학습시키는 방식도 있다.

Chapter 9. Inference Optimization

학습이 모델을 만드는 과정이라면, 추론은 모델에 입력을 넣어서 결과를 얻는 과정이라고 할 수 있다.

추론 최적화는 연산 병목을 찾아서 해결하는 과정이다. 주요 병목에는 연산 제약, 메모리 대역폭 제약이 있다. 모델이 입력 토큰을 병렬로 처리하는 prefill은 연산 제약에 해당되고, 모델이 토큰 출력을 한번에 하나씩 생성하는 decode는 메모리 대역폭 제약에 해당된다.

추론 최적화 기법들에는 모델 크기 압축, 자기회귀 디코딩 병목 해결, 어텐션 매커니즘 최적화 등이 있다.

Chapter 10. AI Engineering Architecture and User Feedback

AI 애플리케이션을 만들 때에는 가장 단순한 아키텍처부터 시작해 점진적으로 더 많은 구성요소를 추가하는 방식이 효율적이다. 우선은 유저가 모델 API와 직접 통신하는 가장 단순한 구조에서부터 시작하고, 아래와 같이 단계별로 아키텍처를 확장해나간다.

이런 것들을 담아서 완성할 수 있는 아키텍처의 모습은 대략적으로 이런 모습을 띄게 될 것이다.

AI 애플리케이션에서는 일반 애플리케이션에 비해 사용자 피드백이 훨씬 더 중요해진다. 따라서 피드백을 수집하는 시점이나 수집 방법에 대한 설계가 필요하고, 편향이 발생할 수 있다는 한계점 또한 명확히 이해해둘 필요가 있다.

3. 실전 투입, 그리고 앞으로의 방향성

상단에 이 책의 요약본을 최대한 간결하게 정리해봤다. 하지만 사실 이건 핵심 개념들을 나열한 것에 불과하다. 책에서 각 개념들을 더 깊게 들여다 봤을 때는 이해하기 어려운 부분들이 많았기에, 그 지식의 간극을 없애기 위해서 뭔가를 만들어봐야겠다는 생각을 하게 되었다. 사이드 프로젝트를 만듦으로써 이번 독서의 방점을 제대로 찍어보고 싶다.

사실 근래에 어떻게 커리어를 더 향상시킬지에 대한 고민이 많아지고 있다. AI를 활용하게 되면서 내가 제품의 품질 향상에 기여한다는 느낌이 줄어들었고, 또 어떤 것들을 공부해야 유능한 개발자가 될 수 있을지 쉽게 감이 잡히지 않게 되었다. 나만의 색깔 있는 블로그 포스팅을 작성하고 싶어도 AI가 쓴 것 아니냐는 의심을 받을까봐 두렵기도 하다. 그래서 앞으로는 사이드 프로젝트에 집중해보면 어떨까 싶다. 기왕 AI가 이렇게나 발전했으니, AI 활용 능력을 극대화해서 임팩트 있는 아웃풋을 끌어내는 개발자가 되고자 한다.

Contact me

email: nmin1124@gmail.com