에이전트를 메시지 변환기로 이해하기
에이전트를 메시지 변환기로 이해하기
Langroid의 핵심 아이디어 하나는 에이전트를 '메시지 변환기(message transformer)'로 보는 거예요. 모든 상호작용이 결국 메시지를 받아 메시지를 돌려주는 형태로 정리되죠.
출처: https://langroid.github.io/langroid/quick-start/chat-agent/
ChatDocument는 메시지 본문(텍스트)과 메타데이터를 감싸는 클래스예요. 그리고 ChatAgent에는 LLM, USE
llm_response: 입력 메시지에 대한 LLM의 응답을 돌려줘요. 입력과 응답 모두 LLM 히스토리에 자동으로 추가돼요.agent_response: 커스텀 에이전트 응답을 구현하는 메서드예요. 주로 '도구'나 '함수 호출'을 담은 메시지를 처리하거나, 메시지 검증에 써요.user_response: 사람의 입력을 받아요. 휴먼이 개입하거나 대화를 끝낼 때 유용하죠.
시그니처를 간단히 보면 다음과 같아요.
str | ChatDocument -> ChatDocument
즉 문자열이나 ChatDocument를 받아 ChatDocument로 돌려주는 함수 형태예요. 이렇게 에이전트를 함수처럼 다루니, 여러 에이전트를 나열해 사슬처럼 이어 붙이는 태스크 구성이 자연스러워져요. 각 에이전트가 독립적인 메시지 처리 단계가 되는 거죠.