28일차

Kangdh·2026년 9월 19일

파이썬 교육

목록 보기
30/33

오케스트레이션

어제했던거 : 챗봇이 데이터에 근거해서 응답하도록 만듬

7강(27일차)에서 만든 챗봇은 행동의 경로가 하나다.
질문 > 문서 > 답변

이걸 벗어나는 복잡한 행동은? 못함

작년 4분기 실적 데이터 찾아서 올해 전략 제안서 초안 짜줘 이런걸 못함

검색도 하고 수치도 뽑고 글도 써야함 > 이런 구조를 단선 파이프라인이라고 함(일직선 구조)

근데 우리가 현실세계에서 풀어야하는 문제들은 질문 > 응답만으로는 해결이 쉽지않음

AI를 설계하는 방식이 꽤 많이 복잡해져야함

  • LangChain

    • 추상화를 사용하여 LLM 애플리케이션의 프로그래밍을 간소화하는 개발 환경

      어휘를 표준화
      대규모 언어 모델을 활용한 혁신적인 프레임워크
      RAG 설명할때 프롬프트 직접 문자열로 작성. API 직접 호출 후 응답받아서 처리 > 이걸 손으로 했음.
      API : AI한테 요구하는 청구같은느낌 > 의도적으로 손으로 시킴
      이걸 매번 새로 짜야하나? > 이걸 해결하기 위해 LangChain
      LLM과의 언어 연결 도구 / LLM과 대화하는 표준 부품 공급소

      1) 프롬프트 템플릿 : 프롬프트 만들 때 코드 안에 변수를 직접 끼워 넣는 방식 > 맵번 문장 조합을 새로 했어야 함,
      -> 미리 카닝나 쓰여질 내용이 적혀있는 양식
      2) 모델 연결 추상화 : 어떤 AI 모델을 사용하던 내 코드는 동일하다. 나와 AI가 연결 될 때는 방법이 다 다를거고, 이에 따라서 그 코드 작성의 방법 다를 것. 그것을 추상화했다. 대충 끼워도 맞는 상황. 코드가 유연하게 작성된다
      3) 체인 연결 : A 작업 끝나고 B 시작,B 끝나고 C 시작' 묶음. 연결해서 한번에 짠다.이 묶음이 체인. 그래서 LangChain
      단선 파이프라인 문제는 아직 해결 못함. 얘도 체인이라서 A > B > C를 해야함.

  • LangGraph

    제어 흐름 설계
    질문 > 찾아봤는데 없음. > 끝 == 단방형 단일 에지어턴트 LAG
    질문 > 찾아봤는데 없음 > 검색어가 잘못됐나?의 루프
    반복하는 루프 / 분기 => 지식의 핵심. 이걸 만들어주는게 LangGraph
    노드 : 점/ 작업 단위 - 검색하다. 판단하다. 도구 사용. 답변 작성
    엣지 : 선/ 이동 경로 - 이 노드에서 저 노드로 이동, 엣지의 조건 걸기 가능(분기)

  • LangSmith

    블랙박스 해독
    LangChain, LangGraph 사용해서 AI 에이전트를 만들고 이를 서비스하고있다. 고객한테 문의가 왔다. > 답변이 이상함
    그럼 어디를 어떻게 찾아야하는지 모름 > 프롬프트가 문제 아닌가? 검색 단계에서 이상한 문서를 참고하나? 어떤 모델 중 하나가 중간에 뭔가 잘못판단하고 있나? 결론에 파싱이 이상한가?
    이런식으로 찾는게 거의 불가능함.
    LangSmith는 가시성 레이어 Visibility Layer. -> 내 에이전트에 CCTV 달기. 모든 노드에서 무슨일이 벌어졌는지 추적 가능. 어떤 노드가 어떤 판단을 내렸는지, 프롬프트가 어떻게 입력 됐는지... 다 기록 / 트레이싱 한다.
    이렇게 구조를 잡아놔야 역추적을 해서 어떤 문제가 어디서 발생했는지 알 수 있음.
    형상관리도 가능함. 어떤 모델의 변경 구성 또는 구성의 변화에 따른 성능 개선이 됐는지 안됐는지 평가(정량 평가)가 가능해짐.

이렇게 3개가 있어야 오케스트레이션이 가능하다

하지만 모든 AI는 이렇게 만들지 않고, 항상 이 3개를 같이 쓰지않아도 된다.
필요해지면 사용하면 된다.


가상 시나리오

회계/세무 사무 -> AX 해주세요

AX : 인공지능을 조직 운영 전반에 통합해 데이터를 기반으로 스스로 학습하고 판단하는 구조로 전환하는 과정을 의미한다. (필요한 작업에 대한 최적화정도로 이해함)

회계/세무 상담 -> 고객이 전화함 -> 아들한테 건물 증여하고 싶어요 세금 얼마에요? -> 여기서 세무사는? 현행 세법에서 증여세 관련 조항 찾기 / 이 고객이 이미 증여한적이 있나? / 누적 증여액이 얼만지? 파악 -> 종합해서 답변

RAG 챗봇 하나로는 안되겠는데? 법령 찾아야해. 이 고객 관련 정보 찾아야해. 종합해야해. 답변해야해

루프랑 분기가 필요하지 않을까?

1) 데이터 연결 설계 (LangChain)

  • 세법 원문 Data 들 (~~법) -> 벡터DB에 넣어
  • 고객 이력 Data
    2) 판단 설계 (LangGraph)
  • 노드 질문 분류 : 지금 상황이 증여세, 소득세, 법인세인건지
  • 세법 검색 노드 : 해당 세법 조항 VectorDB로 가져와
  • 고객 이력 조회 노드 : 과거 이력 불러와
  • 노드 판단 : 세법 조항이 충분한지 고객 이력이 이와 연관 되어 있는지. 모자르면 다시 검색부터. 충분하면 다음 노드
  • 최종 답변
    3) 모니터링 & 개선 (LangSmith)
  • 답변에서 오류가 나면? 법 위반이 됨
  • 내가 만든 이 시스템이 어떤 세법 조항을 근거로 했는지 반드시 추적이 가능해야함

내가 해야하는거

  • 데이터 오너십 : 고객 이력 중에서 어떤 필드를 AI한테 보여줄지 결정하는건 내 몫 / 데이터의 품질과 범위는 내가 정한다. -> 데이터 잘 정제해야함
  • 플로우 차트 설계 : 각 스텝 설정 어떻게 할건지. 업무 논리를 정의한다. -> 실무자랑 같이해야함 -> 각 도메인 전문성 필요
  • seed 평가 set 관리 : 미리 100문 100답을 마련해놔. 테스트 셋.

0개의 댓글