[플레이데이터 SK네트웍스 Family AI 캠프 19기] 23주차 회고

doyeon·2026년 2월 13일

108~112일차: 검색 에이전트, RAGAS 평가

최종 프로젝트

108일차:
(1) 질의 분석 에이전트에 대해 내가 생각하는 '이 에이전트가 해야 할 역할'에 대해서 구현을 해갔는데, 지금의 Hub & Spoke 형태에 대해 해당 에이전트가 얼마만큼의 역할을 해야할지, 수퍼바이저는 또 어떤 역할을 해야하는지 정하기가 어려웠다. 그래서 수퍼바이저 및 전체적인 구조를 담당하는 팀장과 의논을 하고 싶었는데, 명확한 결론은 나지 않았다.
(2) 데이터 전처리 - DB 적재를 새로 해서 완료된 DB에 대해 스키마 형태를 전달받았다. 칼럼이나 메타데이터에 대한 숙지가 필요했고, 특히 해결기준은 법률보다는 볼 일이 적었다 보니 더 깊게 이해하는 시간이 필요했다.
109일차: 새로운 DB에 연결 후 검색 로직을 고도화하기 전, 평가를 위해 기존에 있던 질의셋에 대한 검색 결과 로그를 저장했다. 마찬가지로 고도화 전후를 비교하는 문서가 필요할 거라 판단했기 때문이다. 다만 DB를 작업해주신 팀원분이 BM25+dense->RRF로 검색 결과를 내뱉는 기초 함수를 만들어 두셨어서, 이 함수로 로그를 얻었다.
110일차: 리팩토링된 코드 구조를 새로 받아 파악 후 각 에이전트에 대해 무엇을 어디에 구현해야 하는지 학습했다. 이때까지만 해도 쿼리 재생성도 검색 에이전트에서 다룰 생각이었다. 왜냐하면 법률 검색 시에는 법률 용어로 쿼리를 변환하는 작업이 필요하므로 이 쿼리 재생성도 각 데이터마다 다르게 해야될 거라 생각했기 때문이다. 그러다 오늘 저녁 오프라인 멘토링을 받고, 역시 쿼리 재생성은 질의 분석 에이전트에서 한 번만 하는 걸로 결론을 냈다. 다만 이번에도 무언가 정리되고 방향성이 통일되는 멘토링을 받지는 못했다.
111일차: 팀장이 각 에이전트의 I/O TypedDict를 확정해 공유해준 걸 바탕으로 LawRetrievalAgent, CriteriaRetrievalAgent의 I/O 형태를 맞추었다. 그리고 이번주 일요일 1차 병합을 목표로 검색 로직을 어떻게 수정할지에 대한 계획을 세웠다.
112일차:
(1) 며칠 전 뽑아둔 검색 결과 로그에 대해 RAGAS로 비지도 정량평가를 진행했다. 또한, 몇 주 전 만들어둔 골든셋으로 hit@, recall@도 계산해보았다. 그러나 기존 DB 및 검색 로직보다 점수가 떨어졌음을 확인했다. 나름 설득력있는 골든셋을 생성했다고 판단했는데 점수가 전보다 떨어진 상황인 것이었다. 원인을 분석하면 더 좋았겠지만, 당장 임의로 만든 골든셋에 대해 붙들고 있을 시간적 여유가 없다고 판단해 다음 할 일을 진행했다.
(2) DB에 메타데이터가 잘 적재되어 있지 않음을 확인 후 컨텍스트 구성 등에서 다른 방법으로 row를 조회하는 코드를 작성했다. 그리고 일요일까지 어느 작업을 완성할 것인지 정했다.
주말: 삭제된 조문은 검색 결과에 포함되지 못하도록, 자식 청크는 부모 청크와 함께 컨텍스트를 구성해 넘어가도록 하는 등의 코드를 구현했다. 멘토링 하는 시간에 코드 병합을 진행했다. 지금 생각해보면 서로 작성한 코드를 같이 보면서 병합해도 좋았겠다는 생각을 한다. 물론 이때도 시간적 여유가 없긴 했지만, 이 단계만큼은 필요하지 않았을까 싶다.
그리고 팀원 한 분과 서로 다른 부분을 얘기하고 있어 대화가 겉돈 상황이 있었는데, 멘토분이 이 상황을 정확히 파악하지 않은 채 이런저런 말씀을 주셨다. 이외에도 여러 이유로 인해 우리 팀은 더 이상의 멘토링 필요성을 느끼지 못해 다른 팀보다 일찍 종료하게 되었다. 다같이 공통된 이해를 갖고 페이스를 일치하는 게 중요한 것 같다.

Problem

  1. 회고를 쓰면서 느낀 건데, 이번주는 특히 추진력이 부족했다. 무언가 더 할 수 있었을 거란 생각이 든다. 시간을 효율적으로 쓰고, 일정 수준 이상의 결과를 내는 게 정말 어려운 일인 거 같다.
  2. 팀원 모두가 능동적으로 할 일을 찾아 기한 안에 해내고 빠르게 나아가는 것이 제일 이상적인 팀플레이지만, 수동적인 사람도 있기 마련이다. 내가 그렇다. 나름 능동적으로 일을 수행했다고 생각하지만 누군가가 특정 일을 더 시켰을 때 어떻게든 해내려 했을 거고, 따라서 내놓은 결과는 더 있았을 거란 생각이 든다. 물론 아닐 수도 있다... 능력이 부족해 못해냈을 수도 있다. 결국 프로젝트를 계속 하면서 경험을 쌓고, 내가 할 수 있는 일이 무엇인지, 나의 능률이 어느 정도인지 파악하는 시간이 필요한 것 같다.

0개의 댓글