주뇽's 저장소
Part 5: LangGraph 상태 수동 업데이트 - AI의 행동 제어하기 🎮 본문
728x90
반응형
Part 5: LangGraph 상태 수동 업데이트 - AI의 행동 제어하기 🎮
LangGraph의 상태를 수동으로 업데이트하여 AI의 행동을 제어하는 방법을 설명한다. AI의 응답을 수정하거나 대화의 흐름을 변경하는 방법을 예제와 함께 알아본다.
주요 내용 요약 💡
- 상태 수동 업데이트 방법
- 메시지 수정 기능
- 상태 관리와 검증
- 실제 활용 사례
예제 코드로 알아보기 🔍
Example 1: 기본적인 상태 업데이트
# 기본 상태 업데이트 예제
@tool
def update_and_verify(message_content: str) -> str:
"""메시지를 업데이트하고 검증하는 예제"""
# 상태 업데이트 전 검증 수행
verified = verify_content(message_content)
if verified:
new_state = {
"messages": [("AI", message_content)]
}
return Command(update=new_state)
return "검증 실패"
# 사용 예시
test_case = "이 정보를 업데이트해주세요."
result = update_and_verify(test_case)
실행 결과:
🔄 상태 업데이트 시작...
✅ 검증 완료
📝 새로운 상태: 이 정보를 업데이트해주세요.
Example 2: 메시지 수정하기
# 메시지 수정 예제
def modify_message(graph, config: dict):
# 현재 상태 가져오기
current_state = graph.get_state(config)
# 마지막 메시지 수정
modified_content = "수정된 메시지입니다."
new_message = AIMessage(
content=modified_content,
id=current_state.values["messages"][-1].id
)
# 상태 업데이트
graph.update_state(
config,
{"messages": [new_message]}
)
# 테스트
config = {"thread_id": "test_123"}
modify_message(graph, config)
실행 결과:
📝 원본 메시지: 안녕하세요
✏️ 수정 후 메시지: 수정된 메시지입니다.
실제 활용 사례 🎯
- 고객 서비스 봇
# 부적절한 응답 수정 original_response = "죄송합니다만 도와드릴 수 없습니다." modified_response = "구체적으로 어떤 도움이 필요하신지 알려주시겠어요?"
modify_message(graph, config, original_response, modified_response)
2. 교육용 챗봇
```python
# 학생 수준에 맞게 응답 조정
student_level = "beginner"
original_response = "이는 고급 알고리즘의 예시입니다."
simplified_response = "간단한 예시로 설명해드리겠습니다."
adapt_response(graph, config, student_level)
주의사항 ⚠️
- 상태 업데이트 시
- 데이터 유효성 검증
- 이전 상태 백업
- 에러 처리 구현
- ID 관리
# 올바른 예시 new_message.id = original_message.id
다음 단계 🚀
이러한 LangGraph의 상태 관리와 검증 시스템을 활용하면 복잡한 정보를 더 안전하고 효율적으로 관리할 수 있다. 다음 글에서는 시간 여행 기능을 통한 상태 관리의 고급 기능을 살펴본다.
이렇게 LangGraph의 상태 관리 기능을 활용하면 더 똑똑하고 안정적인 AI 시스템을 구축할 수 있다.
참고 : https://langchain-ai.github.io/langgraph/tutorials/introduction/#part-5-customizing-state
참고 : https://github.com/junyong1111/LangGraph/tree/main/example5
'LangGraph' 카테고리의 다른 글
Part 4: LangGraph의 Human-in-the-Loop 구현하기 - AI와 사람의 협업 🤝 (0) | 2025.01.18 |
---|---|
Part 3: LangGraph 메모리 관리 - 대화 기억하기 🧠 (0) | 2025.01.18 |
Part 2.2: LangGraph와 웹 검색 도구를 활용한 지능형 챗봇 구현하기 🔍 (2) | 2025.01.18 |