VIBE 코딩으로 AX 업무 자동화? 이것 모르면 '시간 낭비'입니다!
AI 챗봇, 이제 더 똑똑하게 만들어 보자! (8강 요약)
지난 7강에서는 레그(RAG) 기반 챗봇을 만들었지? 한글 파일이나 기업 내규 같은 걸 넣어서 챗봇이 실제 정보에 근거해서 답변하게 만들었잖아. 그런데 말이야, 그때 챗봇은 질문 받고, 문서 찾고, 답변 생성하는 딱 한 가지 길만 갈 수 있었어. 마치 일직선 도로처럼 말이야.
그래서 "작년 4분기 실적 찾아서 올해 전략 초안 써줘!" 같은 복잡한 질문은 할 수가 없었지. 왜냐하면 챗봇이 검색도 하고, 숫자도 뽑고, 글도 써야 하는데, 그때 챗봇 구조로는 이런 복잡한 일을 한 번에 처리할 경로가 없었거든. 이걸 단선 파이프라인이라고 불러.
현실 세계의 문제는 이렇게 단순하지 않잖아? 그래서 이번 8강에서는 오케스트레이션이라는 걸 배울 거야. 이건 단순히 일직선으로만 움직이는 게 아니라, 복잡하고 살아 움직이는 AI 시스템을 만드는 방법이야.
이 오케스트레이션을 이해하기 위해 랭체인(LangChain), 랭그래프(LangGraph), 랭스미스(LangSmith)라는 세 가지 도구를 알아볼 거야.
1. 랭체인 (LangChain): AI랑 대화하는 표준 부품 창고
지난 7강에서는 프롬프트 직접 만들고, API 직접 호출하고, 응답 받아서 처리하는 걸 다 손으로 했었지? 불편했잖아. 이걸 해결해 주는 게 바로 랭체인이야.
- 랭체인 뜻: '랭(Lang)'은 언어, '체인(Chain)'은 연결 고리. 즉, 언어 모델(LM)과 대화하는 연결 도구라는 뜻이야.
- 하는 일:
- 프롬프트 템플릿: 관공서 양식처럼 미리 틀을 만들어 놓고, 필요한 부분만 채워 넣는 것처럼 프롬프트 만드는 걸 쉽게 해줘.
- 모델 연결 추상화: 어떤 AI 모델(GPT, Claude 등)을 쓰든 코드는 똑같게 만들어줘. 마치 어떤 플러그를 꽂든 전기가 통하는 것처럼 말이야. 덕분에 모델이 바뀌어도 코드를 계속 수정할 필요가 없어.
- 체인 연결: A 작업 끝나면 B 작업, B 작업 끝나면 C 작업처럼 여러 작업을 순서대로 묶어서 한 번에 실행하게 해줘.
하지만 랭체인만으로는 아직도 일직선 파이프라인의 한계를 완전히 벗어나진 못했어.
2. 랭그래프 (LangGraph): AI의 생각 흐름을 설계하자!
편의점에 물이 없으면 어떻게 할 거야? 그냥 갈 거야, 아니면 다른 편의점을 찾아볼 거야? 당연히 다른 편의점을 찾아보겠지? 이게 바로 지능적인 행동이야.
- 랭그래프 뜻: 제어 흐름(Control Flow)을 설계하는 도구야. AI가 어떻게 생각하고 움직일지, 마치 게임 캐릭터의 행동처럼 복잡한 흐름을 만들 수 있어.
- 핵심 개념:
- 노드 (Node): 검색, 판단, 답변 생성 같은 작업 단위야.
- 엣지 (Edge): 노드와 노드를 연결하는 이동 경로야.
- 하는 일:
- 루프 (Loop): 검색했는데 답이 없으면 다시 검색하게 하거나, 조건을 만족할 때까지 반복하게 만들 수 있어.
- 분기 (Branching): 특정 조건에 따라 다른 경로로 이동하게 만들 수 있어. 예를 들어, 검색 결과가 충분하면 답변 생성으로 가고, 부족하면 다시 검색하는 식이지.
랭그래프를 사용하면 AI가 단순히 일직선으로만 움직이는 게 아니라, 상황에 따라 다르게 판단하고 행동하는 진짜 똑똑한 AI를 만들 수 있어. 마치 AI 팀의 업무 매뉴얼, 즉 플로우 차트를 만드는 것과 같아.
3. 랭스미스 (LangSmith): AI의 모든 행동을 CCTV로 기록!
멋진 AI 에이전트를 만들었는데, 고객이 이상한 답변을 받았다고 연락이 왔어. 어디가 문제인지 어떻게 알 수 있을까? 프롬프트 문제일까? 검색 문제일까? 모델 문제일까?
- 랭스미스 뜻: AI 시스템의 가시성(Visibility)을 높여주는 도구야. 마치 AI 시스템에 CCTV를 달아주는 것과 같아.
- 하는 일:
- 모든 작업(노드)에서 무슨 일이 벌어졌는지, 어떤 문서를 검색했는지, 프롬프트가 어떻게 들어갔는지, 모델이 뭐라고 판단했는지 모두 기록하고 추적해줘.
- 문제가 생겼을 때 어디서부터 잘못되었는지 역추적할 수 있게 해줘.
- 프롬프트나 모델을 변경했을 때 성능이 실제로 개선되었는지 정량적으로 평가할 수 있게 해줘.
랭스미스가 없으면 AI 시스템은 블랙박스가 되어버려서 문제를 해결하기가 거의 불가능해져.
오케스트레이션 시스템: 랭체인 + 랭그래프 + 랭스미스
이 세 가지 도구가 합쳐져야 비로소 하나의 오케스트레이션 시스템이 완성돼. 마치 오케스트라처럼 각 악기가 제 역할을 하면서 멋진 음악을 만들듯이, 이 도구들이 협력해서 현실 세계의 복잡한 업무를 자동화하는 거야.
언제 이 도구들을 써야 할까?
모든 프로젝트에 이 세 가지 도구를 다 쓸 필요는 없어. 단순한 작업이라면 API 한 번 호출하는 것으로 충분할 때도 있지. 하지만 다음과 같은 경우에는 오케스트레이션이 필요해.
- 일이 복잡할 때: 여러 단계를 거쳐야 하거나, 반복적인 작업이 필요할 때.
- 루프가 필요할 때: 조건을 만족할 때까지 반복해야 하는 작업이 있을 때.
- 분기가 필요할 때: 특정 조건에 따라 다른 작업을 수행해야 할 때.
실제 사례: 세무 상담 챗봇 만들기
세무 법인에서 고객의 증여세 상담을 돕는 AI 챗봇을 만든다고 상상해보자.
- 랭체인: 세법 원문 데이터베이스와 고객 이력 데이터베이스를 벡터 DB에 넣고, AI가 이 데이터에 쉽게 접근할 수 있도록 준비해.
- 랭그래프:
- 질문을 분류해 (증여세인지, 소득세인지 등).
- 해당 세법 조항을 검색해.
- 고객의 과거 이력을 조회해.
- 세법 조항이 충분한지, 고객 이력이 관련 있는지 판단해.
- 만약 부족하면 다시 세법 검색으로 루프를 돌고, 충분하면 답변을 생성해.
- 랭스미스: 만약 잘못된 세무 상담 답변이 나오면, 어떤 세법 조항을 근거로 했고 어떤 고객 이력을 참고했는지 모두 추적해서 오류를 바로잡을 수 있어.
비개발자도 할 수 있다!
이런 오케스트레이션 시스템을 만들 때, 비개발자도 중요한 역할을 할 수 있어.
- 데이터 오너십: 어떤 데이터를 AI에 넣을지 결정하는 건 여러분의 몫이야. 쓰레기 데이터를 넣으면 쓰레기 답변만 나올 뿐이니까.
- 플로우 차트 설계: AI가 어떻게 생각하고 움직일지, 어떤 순서로 작업을 할지 업무 논리를 정의하는 건 코딩 지식이 없어도 할 수 있어. 이게 바로 도메인 전문가의 핵심 역량이야.
- 평가셋 관리: AI의 성능을 평가하기 위한 질문과 모범 답안을 직접 만들어서 테스트셋을 관리할 수 있어.
이번 8강을 끝으로 뿌리 강의는 마무리돼. 웹 개발과 AI의 기본적인 지식을 탄탄하게 쌓았으니, 이제 여러분의 도메인 지식과 AI를 결합해서 현실적인 자동화를 만들어갈 수 있을 거야. 두려워하지 말고, 여러분의 잠재력을 마음껏 펼쳐보자!