25차시. Generator Node 분리
1. 생성 모듈이 따로 있어야 하는 이유
출처: 원본 PDF 25차시_GeneratorNode분리.pdf 3~4쪽 · 쪽 그림 3쪽 4쪽
24차시에서 검색을 독립시켰습니다. 이제 생성 차례입니다.
1-1) 붙어 있으면
⚠️ 검색과 생성이 한 함수에 있으면
① 프롬프트를 바꿀 때마다 검색까지 재실행됩니다
13차시 A/B 테스트가 느리고 비쌌던 이유입니다
② 모델을 교체하면 코드 여러 곳을 고칩니다
③ 생성 실패와 검색 실패를 구분할 수 없습니다
둘 다 "답이 이상하다"로만 보입니다
④ 재생성만 따로 시킬 수 없습니다
27차시 재시도 루프를 만들 수 없습니다
1-2) 생성 노드의 역할을 한마디로
🔤 근거를 문장으로 바꾸는 번역기
생성 노드는 지식을 만들지 않습니다.
이미 확보된 근거를 사람이 읽을 문장으로 바꿉니다.
그래서 이렇게 생각하면 설계가 쉬워집니다.
· 근거가 좋으면 → 좋은 답변
· 근거가 부실하면 → 부실하다고 말한다
· 근거가 없으면 → 없다고 말한다
근거를 더 찾아오는 것은 Retriever의 일이고,
답변이 맞는지 판단하는 것은 Verifier의 일입니다.
💡 좋은 생성 노드의 정의
잘 쓰는 노드가 아니라, 못 쓸 때를 정직하게 아는 노드
근거가 부족한데 그럴듯하게 써내는 노드는
성능이 좋은 게 아니라 위험한 것입니다.