의도 파악 기반 Chat 명령어 수행의 성능 향상
· 약 6분
서론
사용자는 Chat Agent에게 단순한 텍스트를 입력합니다. "모니터링 시작해주세요.", "사람에 대한 threshold를 0.6으로 맞춰줘.", "타겟 리스트에 나무 추가해."
겉으로 보기엔 단순한 대화지만, LLM 내부에서 이 요청을 처리하기 위해 수행해야하는 작업은 훨씬 복잡합니다.
LLM은 먼저 사용자의 요청이 어떤 종류의 작업인지 스스로 분류해야 합니다.
"이건 Target 설정인가? 시나리오 편집인가? 아니면 단순 조회인가?"
그 다음, 해당 태스크에 필요한 파라미터를 정확히 추출하고, 값이 허용 범위에 있는지 검증하며, 잘못된 값이면 이유까지 사용자 친화적으로 설명해야 합니다.
즉, 사람이 여러 단계에 걸쳐 순차적으로 판단해야 할 일을, 기존 LLM 구조는 한 번의 호출로 모두 처리하도록 설계되어 있었습니다.
이 방식은 외형상 깔끔해 보였지만, 실제로는 예측하기 어려운 문제를 반복적으로 만들어냈습니다.
- 태스크 타입을 잘못 분류하여 엉뚱한 작업을 수행
- 다른 태스크의 규칙이 섞여 충돌 발생
- 잘못 추출한 파라미터가 그대로 통과
- 규칙이 복잡하게 얽혀 유지보수 비용 상승
결국, 근본적인 문제를 해결하기 위해 LangGraph 기반 Multi-Node Routing 구조로 Chat Agent를 재설계하게 되었습니다.
