[부스트캠프] Day 108 회고

Gamchan Kang·2025년 1월 28일
0

Self-refine 스켈레톤 코드를 서비스에 적용했다.

이전에 Agent 관련 클래스를 통합 관리하기 위해 템플릿 메소드 패턴으로 BaseAgent라는 클래스를 만들었다. 템플릿 메소드 패턴을 사용한 이유는 다음과 같았다.

  • Agent 관련 객체는 생성 시 초기화 로직이 거의 비슷하다.
  • Agent의 동작 또한 프롬프트 로드LLM 추론후처리 로 거의 비슷하다.

오늘 작업은 Self-refine Agent에서 feedback과 refine 과정 파이프라인을 구현하고, 실험 및 테스트 진행이었다. feedback에서 refine으로 넘어갈 때, 추가 수정이 필요 없을 경우, STOP을 출력하도록 해 조기 종료하도록 했다.

Self-refine을 코드를 테스트해보니, STOP 플래그에 의한 조기 종료는 의외로 정상적으로 동작했다. 하지만, 실제 메일 내용과 최종 리포트 내용이 달리지는 문제, 최종 리포트 형식이 단순한 plain text라는 문제가 있었다. 최종 리포트 형식은 To-do 리스트로 구성되거나 메일 본문 하이퍼링크가 연결되어야 하니, 구조화된 출력은 필수였다. 따라서 다음과 같은 추가 작업이 필요했다.

  • 메일 본문과 리포트가 달라지는 문제 → Groundness Check 도입
  • 단순 plain text로 출력 → Structed Output 적용
profile
Someday, the dream will come true

0개의 댓글