어제했던거 : 챗봇이 데이터에 근거해서 응답하도록 만듬
7강(27일차)에서 만든 챗봇은 행동의 경로가 하나다.
질문 > 문서 > 답변
이걸 벗어나는 복잡한 행동은? 못함
작년 4분기 실적 데이터 찾아서 올해 전략 제안서 초안 짜줘 이런걸 못함
검색도 하고 수치도 뽑고 글도 써야함 > 이런 구조를 단선 파이프라인이라고 함(일직선 구조)
근데 우리가 현실세계에서 풀어야하는 문제들은 질문 > 응답만으로는 해결이 쉽지않음
AI를 설계하는 방식이 꽤 많이 복잡해져야함
추상화를 사용하여 LLM 애플리케이션의 프로그래밍을 간소화하는 개발 환경
어휘를 표준화
대규모 언어 모델을 활용한 혁신적인 프레임워크
RAG 설명할때 프롬프트 직접 문자열로 작성. API 직접 호출 후 응답받아서 처리 > 이걸 손으로 했음.
API : AI한테 요구하는 청구같은느낌 > 의도적으로 손으로 시킴
이걸 매번 새로 짜야하나? > 이걸 해결하기 위해 LangChain
LLM과의 언어 연결 도구 / LLM과 대화하는 표준 부품 공급소
1) 프롬프트 템플릿 : 프롬프트 만들 때 코드 안에 변수를 직접 끼워 넣는 방식 > 맵번 문장 조합을 새로 했어야 함,
-> 미리 카닝나 쓰여질 내용이 적혀있는 양식
2) 모델 연결 추상화 : 어떤 AI 모델을 사용하던 내 코드는 동일하다. 나와 AI가 연결 될 때는 방법이 다 다를거고, 이에 따라서 그 코드 작성의 방법 다를 것. 그것을 추상화했다. 대충 끼워도 맞는 상황. 코드가 유연하게 작성된다
3) 체인 연결 : A 작업 끝나고 B 시작,B 끝나고 C 시작' 묶음. 연결해서 한번에 짠다.이 묶음이 체인. 그래서 LangChain
단선 파이프라인 문제는 아직 해결 못함. 얘도 체인이라서 A > B > C를 해야함.
제어 흐름 설계
질문 > 찾아봤는데 없음. > 끝 == 단방형 단일 에지어턴트 LAG
질문 > 찾아봤는데 없음 > 검색어가 잘못됐나?의 루프
반복하는 루프 / 분기 => 지식의 핵심. 이걸 만들어주는게 LangGraph
노드 : 점/ 작업 단위 - 검색하다. 판단하다. 도구 사용. 답변 작성
엣지 : 선/ 이동 경로 - 이 노드에서 저 노드로 이동, 엣지의 조건 걸기 가능(분기)

블랙박스 해독
LangChain, LangGraph 사용해서 AI 에이전트를 만들고 이를 서비스하고있다. 고객한테 문의가 왔다. > 답변이 이상함
그럼 어디를 어떻게 찾아야하는지 모름 > 프롬프트가 문제 아닌가? 검색 단계에서 이상한 문서를 참고하나? 어떤 모델 중 하나가 중간에 뭔가 잘못판단하고 있나? 결론에 파싱이 이상한가?
이런식으로 찾는게 거의 불가능함.
LangSmith는 가시성 레이어 Visibility Layer. -> 내 에이전트에 CCTV 달기. 모든 노드에서 무슨일이 벌어졌는지 추적 가능. 어떤 노드가 어떤 판단을 내렸는지, 프롬프트가 어떻게 입력 됐는지... 다 기록 / 트레이싱 한다.
이렇게 구조를 잡아놔야 역추적을 해서 어떤 문제가 어디서 발생했는지 알 수 있음.
형상관리도 가능함. 어떤 모델의 변경 구성 또는 구성의 변화에 따른 성능 개선이 됐는지 안됐는지 평가(정량 평가)가 가능해짐.
이렇게 3개가 있어야 오케스트레이션이 가능하다
하지만 모든 AI는 이렇게 만들지 않고, 항상 이 3개를 같이 쓰지않아도 된다.
필요해지면 사용하면 된다.
가상 시나리오
회계/세무 사무 -> AX 해주세요
AX : 인공지능을 조직 운영 전반에 통합해 데이터를 기반으로 스스로 학습하고 판단하는 구조로 전환하는 과정을 의미한다. (필요한 작업에 대한 최적화정도로 이해함)
회계/세무 상담 -> 고객이 전화함 -> 아들한테 건물 증여하고 싶어요 세금 얼마에요? -> 여기서 세무사는? 현행 세법에서 증여세 관련 조항 찾기 / 이 고객이 이미 증여한적이 있나? / 누적 증여액이 얼만지? 파악 -> 종합해서 답변
RAG 챗봇 하나로는 안되겠는데? 법령 찾아야해. 이 고객 관련 정보 찾아야해. 종합해야해. 답변해야해
루프랑 분기가 필요하지 않을까?
1) 데이터 연결 설계 (LangChain)
내가 해야하는거