Page History
...
- 사용자 세션별로 생성되는 ChatBotActor 액터모델을 생성합니다.
- ChatBotActor 액터는 추후 SSE와 연결되어 사용자의 대화요청을 처리받아 응답을 SSE로 스트리밍예정입니다. SSE는 당장 구현하지 않고 액터모델에서 스트림형태로 응답을 주는 형태로 구현합니다.
- ChatbotActor 액터는 사용자 세션별로 하나가 대응됩니다. 동일세션이 있을시 동일액터를 재 사용합니다.
- ChatbotActor 액터는 3일동안 세션당 대화가 없으면 스스로 종료합니다. 챗봇세션대응 메모리를 정리하기위한 시스템절약 용도입니다. -액터내 타이머를 이용
- 아래에 설명되는 SearchMemoryActor,DecisionActor는 미리생성되며 ChatbotActor 는 생성된 참조액터를 이용합니다. ChatBotActor생성시 생성된 참조 액터가 전달됩니다.
- SearchMemoryActor는 메모리 검색을 담당합니다. LLM을 이용할수 있으며 요청에대해 검색이 필요한지 판단하며 요청내용과 관련된 내용이 잘 검색할수 있도록 검색에 용이한 자연어 문장으로 변환후 시도합니다. IT관련 용어는 영어단어로 변환합니다.
- src/Memorizer/Services/Memory.cs 을 이용해 메모리를 검색할수 있습니다.
- 메모리 검색기능이 필요없는 요청일시에는 검색을 시도하지 않고 검색 결과 없음으로 응답합니다.
- 메모리 검색기능 에는 문장으로 유사도 검색을 할수 있으며 유사 0.3 이상인것중 최대 5개를 이용합니다.
- 검색결과 자체가 없을시 시도되는 문장에서 키워드를 추출해 영문,한글로 시도해 최대 3번까지 재검색을 시도합니다.
- 이 액터의 목적을 달성하기 위해 LLM을 이용할수 있으며 이용할 프롬프트를 액터모델내 작성합니다.
- DecisionActor 는 요청내용과 검색된 결과가 관련성이 있는지 판단합니다.
- 관련성이 있다고 판단되면 검색된 결과를 이용해 연관문서로 응답을 생성합니다.
- 관련성이 없다고 판단되면 연관문서 없음으로 응답합니다.
- 이 액터의 목적을 달성하기 위해 LLM을 이용할수 있으며 이용할 프롬프트를 액터모델내 작성합니다.
- ChatBotActor가 사용자의 대화요청에 다양한 대응을위해 SearchMemoryActor는, DecisionActor를 이용해 응답을 생성합니다.
- DecisionActor 가 요청에대한 관련 자료를 찾지 못한경우 일반 LLM응답을 생성합니다.
- ChatBotActor는 LLM을 이용해 일반응답을 생성할수 있습니다.
- ChatBotActor는 응답에 대한 내용이 출처 메모리인지? 또는 일반인지 판단해 응답을 생성합니다. 참조된 위치를 추가로 표현할수 있습니다.
- ChatBotActor는 최종응답을 받기까지의 추론하는 과정을 다른액터로부터 수신받을수 있습니다. 이 과정을 추후 SSE스트리밍을 통해서도 표현할수 있어야합니다. SSE스트리밍은 당장 구현하지 않습니다.
| Warning |
|---|
여기서 중요한 한가지 방법을 사용.. 클로드 코드 동일세션에서 작업이 계속 누적되는경우 처음에서 시작된 컨텍스트의 량이 점점늘어나고 압축되면서 느려지거나 어전의 목적이 남아있는 상태에서 새로운 목표를 수행하느라 컨텍스트 꼬임현상이 발생 할수 있음으로 목표도달하고 나서는 문서화 정도로 마무리 , MCP메모리를 사용해 지금까지 내용을 정리하라고함 그리고 다음 작업은 하루또는 이틀뒤가 될수 있으니 컨텍스트를 초기화하고 항상 새롭게 시도해 적절한 크기의 버전업데이트가 진행 클로드내 참고 프롬프트 : "지금까지 진행과정의 핵심과정을 메모리화" 라고 하기만 하면 클로드의 컨텍스트를 요약해 장기메모리화 합니다. - 이역시 클로드 코드에 연결된 모델성능에 의존(MCP는 분류해 저장해줄뿐) |
컨텍스트 단절이 일어난 경우 다음과 같이 문제 해결한 메모리조각이 남아 있다면, 토큰절약및 삽질을 한번덜 하지 않을까?
- https://mcp.webnori.com/ui/view/30bf1a4c-e4fc-4904-993f-2410253a338a
- 이 단위가 얼만큼의 단위가 되어야 효율이 될지는 LLM 모델 성능에 따른것이기때문에 메모리의 컨텍스트 한조각을 온디바이스기준 2천토큰 이내로 제약(튜닝요소)
02-SSE를 액터모델에 연결하면서 BOT UX만들기
...