inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

LangGraph를 활용한 AI Agent 개발 (feat. MCP)

2.4 강의 관련 질문(답변을 검증하는 self rag)

해결된 질문

70

nathan

작성한 질문수 86

0

안녕하세요

좋은 강의 감사드립니다. 강의에서 이해가 안되는 부분이 생겨 질문드립니다.

 

2.4 답변을 검증하는 self rag 에서, hallucination을 판단하는 부분에 대한 질문입니다.

 

node가 hallucination을 잘 판단하지 못하자, 강의에서는 크게 3가지 조치를 취하셨는데요

  1. hallucination prompt 직접 작성

  2. hallucination_llm의 temperature = 0 으로 설정

  3. generate_llm의 max_completion_tokens를 100, 50 으로 감소

근데 저는 강의대로 따라해도, 계속 hallucinated, not hallucinated가 번갈아가면서 나오더라고요. max_completion_tokens을 100 --> 70, 50으로 감소시켜도, test하는 셀을 여러번 돌리면 hallucinated, not hallucinated가 번갈아가면서 나옵니다.

 

답변 내용을 보면, 저의 answer는 5천만원에 대한 소득세를 624만원으로 잘 계산을 하는데 check_hallucination만 판단을 잘 못하는것 같았습니다. 답변을 "소득세는 624만원입니다." 이런 식으로만 짧게 대답을 하다보니, hallucination에 대한 판단을 잘 못하는것 같다는 느낌을 받았습니다.

 

그래서 chatgpt의 도움을 받아서 아래와 같이 수정을 하니 hallucination에 대한 판단은 일관되게 not hallucinated로 판단하더라고요.

  1. generate_llm의 max_completion_tokens를 200, 300 정도로 증가

  2. generate_prompt를 직접 작성하면서, 작성할때 답변에 대한 근거도 같이 제시하라고 지시

아마도 답변에 대한 근거가 같이 제시되면서 hallucination에 대한 판단에 도움을 준 것 같습니다. 그런데 문제가 있습니다 ㅠ 소득세 계산을 잘 못합니다. 수업 코드로 하면 소득세 계산은 624만원으로 매번 잘 계산을 하지만, 이렇게 바꾸는 경우 소득세 계산이 맞을때도 있고 틀릴때도 있습니다.

 

그럼 현실에서는  max_completion_tokens 을 150, 100 이렇게 조절해가면서 중간의 타협점?을 찾는 것이 방법인지요? 아니면 제 방법이 틀린 것인지, 다른 방법이 있는 것인지 코멘트 해주시면 감사하겠습니다.

 

프롬프트엔지니어링 llm ai-agent langgraph mcp 카카오공채-개발

답변 2

1

제이쓴

안녕하세요! 결론부터 말씀 드리자면 좋은 접근이라고 생각합니다.

LLM이 많이 발전해서 다양한 기능들을 수행할 수는 있지만, temperature를 아무리 0으로 설정해도 항상 같은 답변을 받기는 어려운게 사실입니다. 지금 하신 것처럼 원하는 결과를 얻기 위해서 프롬프트를 계속 수정해가면서 테스트 해보시는게 가장 합리적이고 현재로서 가장 좋은 방향입니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. nathan님.

질문해 주신 내용은 hallucination을 판단하는 정확도와 이에 대한 개선 방법에 관한 것으로 보입니다. 강의에서 제공된 방법과 실습 중 겪으신 상황에 대해 해결책을 찾으신 것으로 보입니다.

  1. hallucination에 대한 판단: 문제를 해결하는 데 있어 가장 중요한 부분은 모델이 출력하는 답변의 정확도입니다. 강의에서 설명한 대로, temperature를 낮추고 max_completion_tokens를 조정하여 답변의 일관성을 높이는 전략을 사용하셨습니다. 이는 확률적인 출력 변동성을 줄이는 데 도움을 줍니다.

  2. 답변에 대한 근거 제시: generate_prompt에 대한 수정으로 답변의 근거를 함께 포함시키는 방식은 매우 효과적입니다. 답변의 신뢰성을 높이고, 모델이 자체적으로 판단한 내용을 정당화할 수 있게 도와주기 때문입니다. 이는 hallucination을 줄이는 매우 유용한 접근 방식으로 여겨집니다.

  3. 해결책의 적절성: nathan님이 제시한 해결책은 매우 논리적이며, LLM의 동작 방식에 대한 이해를 잘 반영한 방법입니다. 답변의 근거를 명시함으로써 모델의 응답의 신뢰성을 강화하는 것은 매우 타당한 접근입니다. 이러한 방법은 강의 내용과 다를 수 있지만, 모델의 특정한 동작에 맞추어 커스터마이즈하는 것은 충분히 좋은 전략입니다.

이와 관련하여 추가적으로 참조할 만한 강의의 Q&A 링크를 아래에 소개해드립니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

max token을 제한하는게 왜 성능을 개선하게 되는걸까요?

0

22

2

pyzerox 유니코드 에러

0

67

2

영상 메타데이터 생성 관련 LLM 활용 질문

0

62

1

종합부동산세 부분 tool 사용 질문 드립니다.

0

68

2

uv sync 파이썬 버전문제 onnxruntime

-1

98

2

MCP를 활용해서 간단한 에이전트를 만들어보세요

0

93

1

PDF 형식

0

59

1

5.3 langchain-mcp-adpater를 활용한 MCP 도구 사용 tool_list 지연 사유

0

86

2

3.6 human_in_the_loop 3rd case

0

79

1

summary 를. 시스템메세지에 추가하는 부분에 관하여

0

66

3

병렬 처리 중 retrieve 관련 궁금한 사항

0

72

1

query 에 대한 answer 결과값이 나오지 않습니다.

0

91

2

사람과 관련된 표현이 없는데 rewrite 로 이동하지 않는경우

0

70

1

retriever 관련 질문

0

61

1

인터룹 관련 질문

0

46

2

2.4 Self-RAG 결과가 달라요!

0

74

2

md vs txt 차이..

0

132

2

OpenAI API 호출 때문에 발생하는 Error code: 429 문제

0

110

2

단순 도구 사용과 도구를 가진 에이전트를 사용하는 것의 차이가 궁금합니다.

0

85

1

LangChain과 LangGraph v1

0

132

1

후속강의 문의

0

70

2

3.6 강의 관련 질문(interrupt 관련)

0

48

1

그래프 구현 조언 부탁드립니다!

0

72

2

3.3 강의 에러 질문

0

111

1