
최근 넥스트제이에스(Next.js)와 수파베이스(Supabase)를 활용해서 AI 기반의 할 일 관리(Todo) 웹 서비스를 토이 프로젝트로 개발하고 있습니다. 코딩 과정에서는 주로 제미나이(Gemini)에 질문하며 도움을 받는 정도였지만, 이번 기회에 서비스 자체에 사용자의 의도를 파악하고 자율적으로 동작하는 AI 에이전트를 연동해보고 싶어 이 책을 선택했습니다.
하지만 책을 펼치고 예제 코드를 확인해 보았을 때, 입문자인 제게는 꽤 높은 진입 장벽이 존재했습니다. 제가 평소 웹에서 가볍게 질문을 던지던 환경과 달리, 이 책의 파이썬 예제들은 철저하게 오픈AI(OpenAI) API를 중심으로 실무적인 파이프라인을 구축하는 과정을 요구하기 때문입니다. 파이썬 가상 환경을 설정하고 랭체인(LangChain) 패키지들을 다루며 코드를 하나하나 분석하는 과정은 상당한 집중력이 필요했습니다.
단순히 프롬프트를 작성하는 수준을 넘어, 책의 전반적인 내용은 AI 서비스를 실제 아키텍처로 구현하는 데 집중하고 있습니다. 특히 3장에 등장하는 LCEL(LangChain Expression Language) 기반의 체인 구축 파트는 여러 요소(프롬프트, 모델, 출력 파서)를 파이프라인으로 연결하는 핵심 원리를 다룹니다. 처음에는 코드가 복잡하게 느껴졌지만, 예제를 반복해서 실행해 보며 모델과 데이터가 어떻게 상호작용하는지 구조적으로 이해할 수 있었습니다.

책의 중반부인 6장과 8장의 RAG(검색 증강 생성) 파트는 제가 기존에 가지고 있던 데이터 처리 방식에 대한 생각을 완전히 바꿔놓았습니다. 단순히 텍스트를 검색하는 것이 아니라, 문서를 의미 단위로 나누는 청킹(Chunking) 기술부터 오픈AI의 임베딩 모델을 활용해 텍스트를 벡터로 변환하고 저장하는 과정을 상세히 다룹니다. 더 나아가 단순한 Naive RAG의 한계를 극복하기 위해 검색기와 재순위기(Reranker)를 구현하는 Advanced RAG 코드를 보며, 검색 품질을 높이기 위한 엔지니어링 기법을 배울 수 있었습니다. 더불어 9장에서 다루는 ‘검색 시스템 성능 평가’ 지표들은 실제 서비스를 운영할 때 품질을 어떻게 검증해야 하는지 명확한 기준을 제시해 주었습니다.
수파베이스를 백엔드로 사용하고 있는 제 입장에서, 12장의 PostgreSQL 기반 대화 이력 저장소 예제는 매우 실용적이었습니다. 대화 상태를 메모리상에 임시로 두는 것이 아니라, 데이터베이스를 활용해 사용자 세션별로 영구적으로 관리하고 긴 대화를 요약하는 전략은 현재 제 프로젝트의 구조를 개선하는 데 직접적인 도움이 될 내용이었습니다.
13장과 14장의 Tool Use와 에이전트 설계 실습은 제가 가장 주의 깊게 본 핵심 파트입니다. 오픈AI 모델에 개발자가 정의한 외부 파이썬 함수를 도구(Tool)로 연동하여, 모델이 사용자 질문의 맥락을 분석해 스스로 특정 기능을 실행하는 과정을 구현합니다. 이 펑션 콜링(Function Calling) 구조를 제 서비스에 적용한다면, 사용자가 입력한 자연어에서 AI가 알아서 날짜와 할 일을 추출해 데이터베이스에 등록하는 진정한 의미의 에이전트를 완성할 수 있겠다는 기술적인 방향성을 잡았습니다.
마지막으로 15장부터 이어지는 배포와 운영 최적화 전략은 입문서에서 흔히 놓치기 쉬운 실무적인 영역까지 짚어줍니다. 클라우드 환경에서의 비용 최적화, 응답 속도 개선, 그리고 시스템 내부 상태를 파악하는 관측성(Observability) 설계까지 다루고 있어 서비스를 프로덕션 레벨로 끌어올리는 전체 사이클을 조망할 수 있었습니다.

결론적으로 이 책은 파이썬 기본기가 필요하고 실습 코드를 꼼꼼히 분석해야 하는 난이도 있는 도서입니다. 하지만 눈앞에 당장 돌아가는 결과물만 쫓는 것을 넘어, 전체적인 AI 애플리케이션 아키텍처를 직접 설계하고 싶은 개발자라면 반드시 거쳐야 할 지식들을 충실히 담고 있습니다.
이 책을 끝까지 보며 가장 크게 배운 점 한 문장을 꼽자면 이렇습니다.
“진정한 AI 서비스는 똑똑한 인공지능 모델 하나로 완성되는 것이 아니라, 그 모델을 제어하고 외부 시스템과 연결하는 탄탄한 엔지니어링 파이프라인 위에서만 돌아간다.”
