본문 바로가기

AI Tutorials (AI 학습 자료)

생성형 AI 개발자가 되는 4단계

생성형 AI 개발자가 되는 4단계

이 글에서는 생성형 AI 개발자의 역할, 숙달해야 할 도구, 그리고 시작하는 방법을 다룹니다.

소개

 

2023년 10월 열린 OpenAI 개발자 데이에서 OpenAI CEO 샘 알트먼이 제품 사용 현황 수치를 발표했습니다. OpenAI는 개발자, 기업, 일반 사용자 세 가지 고객 세그먼트를 고려합니다. 링크: https://www.youtube.com/watch?v=U9mJuUkhUzk&t=120s

2023년 10월 열린 OpenAI 개발자 데이에서 샘 알트먼 OpenAI CEO는 슬라이드를 통해 개발자, 기업, 일반 사용자 세 고객 세그먼트별 제품 사용 현황을 소개했습니다.

 

본 글에서는 개발자 세그먼트에 집중합니다. 생성형 AI 개발자의 업무 내용, 이 직무에 필요한 도구 숙달 방법, 시작하는 방법을 다룰 예정입니다.

 

1단계: 생성형 AI 개발자의 역할 이해하기

소수의 기업이 생성형 AI 제품 개발에 전념하고 있지만, 대부분의 생성형 AI 개발자는 전통적으로 이 분야에 주력하지 않았던 다른 기업에 소속되어 있습니다.

그 이유는 생성형 AI가 다양한 비즈니스에 적용 가능한 용도를 지니기 때문입니다. 대부분의 기업에 적용 가능한 생성형 AI의 네 가지 일반적인 용도는 다음과 같습니다.

챗봇

챗봇은 10년 넘게 주류였지만 대부분 형편없었습니다. 일반적으로 챗봇과의 첫 상호작용은 '실제 상담원과 통화할 수 있나요?'라는 질문으로 시작하곤 했습니다.

생성형 AI, 특히 대규모 언어 모델과 벡터 데이터베이스의 발전으로 이 같은 상황은 더 이상 사실이 아닙니다. 이제 챗봇이 고객에게 쾌적한 사용 경험을 제공할 수 있게 되면서 모든 기업은 챗봇 업그레이드에 분주합니다(적어도 분주해야 합니다).

MIT 테크놀로지 리뷰의 기사 생성형 AI가 챗봇에 미치는 영향은 챗봇 세계가 어떻게 변화하고 있는지 잘 요약하고 있습니다.

의미론적 검색

검색은 문서부터 쇼핑 웹사이트, 인터넷 자체에 이르기까지 다양한 곳에서 사용됩니다. 기존 검색 엔진은 키워드를 중점적으로 활용해 왔는데, 이는 검색 엔진이 동의어를 인식하도록 프로그래밍되어야 하는 문제를 야기했습니다.

예를 들어 마케팅 보고서에서 고객 세분화 관련 부분을 찾으려고 검색한다고 가정해 보자. CMD+F를 누르고 “세분화”를 입력한 후 검색 결과를 일일이 확인해야 한다. 안타깝게도 문서 작성자가 ‘세분화’ 대신 “분류”라고 쓴 경우는 놓치게 됩니다.

의미 기반 검색(의미를 기반으로 검색)은 유사한 의미를 가진 텍스트를 자동으로 찾아내어 이러한 동의어 문제를 해결합니다. 핵심은 임베딩 모델(텍스트를 의미에 따라 수치 벡터로 변환하는 딥러닝 모델)을 활용하는 것입니다. 그러면 관련 텍스트를 찾는 것은 단순한 선형 대수 문제로 귀결됩니다. 더 나은 점은 많은 임베딩 모델이 이미지, 오디오, 비디오 등 다른 데이터 유형을 입력으로 허용하여 검색에 다양한 입력/출력 데이터 유형을 제공할 수 있다는 것입니다.

챗봇과 마찬가지로 많은 기업들이 시맨틱 검색을 활용해 웹사이트 검색 기능을 개선하려 노력하고 있습니다.

밀버스 벡터 데이터베이스 제작사 질루스(Zillus)의 시맨틱 검색 튜토리얼은 활용 사례를 잘 설명해 줍니다.

개인화된 콘텐츠

생성형 AI는 콘텐츠 제작 비용을 낮춥니다. 이를 통해 다양한 사용자 그룹을 위한 맞춤형 콘텐츠 제작이 가능해집니다. 대표적인 예로는 사용자에 대한 정보를 바탕으로 마케팅 문구나 제품 설명을 변경하는 것이 있습니다. 또한 현지화를 제공하여 국가나 인구 통계에 따라 콘텐츠의 관련성을 높일 수도 있습니다.

Salesforce 최고 디지털 전도사 발라 아프샤르(Vala Afshar)의 생성형 AI 플랫폼을 활용한 초개인화 구현 방법 기사는 생성형 AI를 활용한 콘텐츠 개인화의 장점과 과제를 다룹니다.

소프트웨어의 자연어 인터페이스

소프트웨어가 복잡해지고 기능이 풍부해질수록 메뉴, 버튼, 도구 등으로 사용자 인터페이스가 과도하게 부풀어 사용자가 찾거나 사용법을 파악하기 어려워집니다. 사용자가 원하는 내용을 한 문장으로 설명하는 자연어 인터페이스는 소프트웨어 사용성을 획기적으로 개선할 수 있습니다. “자연어 인터페이스”는 음성 또는 입력 방식으로 소프트웨어를 제어하는 방식을 의미합니다. 핵심은 사람이 이해할 수 있는 표준 문장을 사용할 수 있다는 점입니다.

비즈니스 인텔리전스 플랫폼은 이를 조기에 도입한 사례로, 자연어 인터페이스를 통해 비즈니스 분석가가 데이터 조작 코드를 덜 작성할 수 있게 되었습니다. 그러나 이 기술의 적용 범위는 사실상 무한합니다: 기능이 풍부한 거의 모든 소프트웨어가 자연어 인터페이스의 혜택을 누릴 수 있습니다.

오메가 벤처 파트너스의 창립자이자 관리 파트너인 가우라브 테와리가 쓴 AI와 자연어 인터페이스 수용에 관한 이 포브스 기사는 자연어 인터페이스가 소프트웨어 사용성을 개선하는 이유를 쉽게 이해할 수 있도록 설명합니다.

2단계: 생성형 AI 개발자가 사용하는 도구를 이해하라

첫째, 생성형 AI 모델이 필요합니다! 텍스트 작업을 위해서는 대규모 언어 모델(LLM)을 의미합니다. GPT 5.1이 현재 성능 면에서 최고 수준이지만, Qwen3, MiniMax-M2, Kimi-K2-Thinking 같은 오픈소스 대안도 많습니다.

둘째, 벡터 데이터베이스가 필요합니다. Pinecone이 가장 인기 있는 상용 벡터 데이터베이스이며, Milvus, Weaviate, Chroma 같은 오픈소스 대안도 있습니다.

프로그래밍 언어 측면에서는 커뮤니티가 Python과 JavaScript를 중심으로 정착한 것으로 보입니다. JavaScript는 웹 애플리케이션에 중요하며, Python은 그 외 모든 분야에 적합합니다.

이들 위에 생성형 AI 애플리케이션 프레임워크를 활용하는 것이 도움이 됩니다. 주요 경쟁자는 LangChain과 LlamaIndex입니다. LangChain은 다양한 생성형 AI 애플리케이션 개발이 가능한 광범위한 프레임워크인 반면, LlamaIndex는 의미 기반 검색 애플리케이션 개발에 더 집중되어 있습니다.

검색 애플리케이션을 만드는 경우 LlamaIndex를 사용하고, 그렇지 않으면 LangChain을 사용하세요.

이 분야는 매우 빠르게 변화하고 있으며, 매주 새로운 AI 스타트업과 도구들이 등장하고 있다는 점을 유의할 필요가 있습니다. 애플리케이션을 개발하려면 다른 애플리케이션보다 소프트웨어 스택의 일부를 더 자주 변경해야 할 것으로 예상해야 합니다.

특히 새로운 모델들이 꾸준히 등장하고 있으며, 사용 사례에 가장 적합한 모델도 변할 가능성이 높습니다. 일반적인 작업 흐름은 API(예: OpenAI API와 벡터 데이터베이스용 Pinecone API)를 먼저 사용하는 것입니다. 개발이 빠르기 때문입니다. 사용자 기반이 성장하면 API 호출 비용이 부담스러워질 수 있으므로, 이 시점에서 오픈소스 도구(Hugging Face 생태계가 좋은 선택입니다)로 전환하는 것이 좋습니다.

3단계: 시작하기 위한 기술 습득

모든 신규 프로젝트와 마찬가지로 간단하게 시작하세요! 한 번에 하나의 도구를 익힌 후, 나중에 여러 도구를 결합하는 방법을 고민하는 것이 최선입니다.

첫 단계는 사용하려는 모든 도구의 계정을 설정하는 것입니다. 플랫폼을 활용하려면 개발자 계정과 API 키가 필요합니다.

초보자를 위한 OpenAI API 가이드: 실습 튜토리얼 및 모범 사례에는 OpenAI 개발자 계정 설정과 API 키 생성 방법이 단계별로 설명되어 있습니다.

마찬가지로, Pinecone 튜토리얼로 벡터 데이터베이스 마스터하기: 종합 가이드에는 Pinecone 설정 방법이 상세히 담겨 있습니다.

허깅 페이스란 무엇인가? AI 커뮤니티의 오픈소스 오아시스는 허깅 페이스 시작 방법을 설명합니다.

LLM 학습

GPT와 같은 LLM을 프로그래밍 방식으로 사용하기 시작하려면, 프롬프트를 전송하고 응답을 수신하기 위해 API를 호출하는 방법을 배우는 것이 가장 간단합니다.

LLM과의 단일 상호작용으로 많은 작업을 수행할 수 있지만, 챗봇과 같은 사용 사례는 긴 대화가 필요합니다. OpenAI는 최근 Assistants API의 일부로 “스레드” 기능을 발표했으며, 이에 대한 내용은 OpenAI Assistants API 튜토리얼에서 확인할 수 있습니다.

모든 LLM이 이 기능을 지원하는 것은 아니므로 대화 상태를 수동으로 관리하는 방법도 배워야 할 수 있습니다. 예를 들어, 대화 중 이전 메시지 중 현재 대화와 여전히 관련성이 있는 메시지를 결정해야 합니다.

이 외에도 텍스트 작업에만 국한할 필요는 없습니다. 오디오 전사(음성-텍스트 변환)나 텍스트로부터 이미지 생성 등 다른 미디어 작업도 시도해 볼 수 있습니다.

벡터 데이터베이스 학습

벡터 데이터베이스의 가장 간단한 사용 사례는 시맨틱 검색입니다. 여기서 텍스트(또는 다른 입력)를 그 의미를 나타내는 숫자 벡터로 변환하는 임베딩 모델(OpenAI API를 활용한 텍스트 임베딩 소개 참조)을 사용합니다.

그런 다음 임베딩된 데이터(숫자 벡터)를 벡터 데이터베이스에 삽입합니다. 검색은 단순히 검색 쿼리를 작성하고, 데이터베이스 내 항목 중 요청한 내용과 가장 근접하게 일치하는 항목이 무엇인지 묻는 것을 의미합니다.

예를 들어, 회사 제품에 대한 자주 묻는 질문(FAQ)을 가져와 임베딩한 후 벡터 데이터베이스에 업로드할 수 있습니다. 그런 다음 제품에 대한 질문을 하면 가장 가까운 일치 항목을 반환하며, 이는 숫자 벡터를 다시 원래 텍스트로 변환한 것입니다.

LLM과 벡터 데이터베이스 결합

벡터 데이터베이스에서 텍스트 항목을 직접 반환하는 것만으로는 충분하지 않다는 것을 알게 될 수 있습니다. 대부분의 경우 질의를 더 자연스럽게 답변할 수 있도록 텍스트를 처리해야 합니다.

이를 해결하는 방법은 검색 강화 생성(RAG) 기법입니다. 즉, 벡터 데이터베이스에서 텍스트를 검색한 후 LLM용 프롬프트를 작성하고, 검색된 텍스트를 프롬프트에 포함시킵니다(검색된 텍스트로 프롬프트를 강화). 그런 다음 LLM에게 사람이 읽을 수 있는 답변을 작성하도록 요청합니다.

FAQ에서 사용자 질문에 답변하는 예시에서는 다음과 같이 자리 표시자를 포함한 프롬프트를 작성합니다.

“”"
사용자의 {product} 관련 질문에 답변해 주세요.
---
사용자의 질문은 다음과 같습니다: {query}
---
답변은 다음 텍스트에서 찾을 수 있습니다: {retrieved_faq}
“”"

마지막 단계는 RAG 기술과 메시지 스레드 관리 능력을 결합하여 더 긴 대화를 유지하는 것입니다. 짜잔! 이제 챗봇이 완성되었습니다!

4단계: 계속 학습하세요!

YouTube에는 생성형 AI 개발자가 되는 법을 가르치는 수많은 영상이 있습니다. 시작하려면 기본적인 Python 기술이 필요하지만, 모든 AI 개념부터 찾아서 보세요.이 글에서 다룬 모든 주제를 검색하여 배우세요.