2025/04 4

템플 스테이를 다녀와서

난생처음 템플 스테이를 다녀왔다. 요즘따라 괴로운 마음이 들어서 스마트폰을 보면서 생각하는걸 멈추고 수많은 정보를 뇌에 욱여넣는 행동을 한다는걸 깨달아서였다. 내가 괴로운 것은 심각한건 아니고, 보통 사람들이 느끼는 일상적인 괴로움 정도기는 하다. 불안과 질투, 후회 같은 감정들인데 이러한 생각들이 아무런 도움도, 피해도 되지 않는다는 걸 알기에 멈추고 싶었다. 괴로움에 대한 원인과 출처에 대한 정의는 끝났지만 해결방법을 찾지 못했고, 템플 스테이가 해답이 되지않을까? 생각했다. 안전한 곳에서 스마트폰을 끄고 하루를 생활하는 것도 궁금했고! 템플 스테이에 온 사람들은 그다지 다양하지 않았다. (ㅋㅋㅋㅋ)9명중에 8명은 내 또래로 보이는 여자고, 1명은 여자친구가 오자고해서 따라 온 것으로보이는 남자였..

Agent를 고도화하면서 겪은 문제점들

Tool이 늘어날 수록 멍청해지고, Input Token도 빠르게 소모했음다소 무의미해보이는 도구 호출 증가Tool 설명을 위한 Input Token의 증가Tool을 줄이기 위한 노력CAG 활용 → 관련되지 않은 질문에도 들어갔기 때문에 Input Token이 심하게 소모되어 비슷하고 항상 같이 사용되는 Tool을 하나로 합치는 방향으로 다시 작업계속 같은 패턴으로 사용하는 도구를 하나로 합침 → 회사 정보조회 도구Slack 채널을 조회하는 도구Slack UserGroup을 조회하는 도구Slack UserGroup 소속 멤버를 조회하는 도구Tool 설명을 간결하고 명확한 방향으로 수정거대해진 프롬프트, 이를 무시하는 LLMClaude는 주어진 문제에 적절한 도구를 잘 사용하지만, 친근하게 대하라는 Sys..

LangGraph Agent에 장기기억(LTM)추가하기

LangGraph로 만든 Agent에 장기 기억을 추가하기 위해서는 기존 그래프에 새로운 노드와 도구를 추가해야한다.노드대화 전 저장된 기억을 불러오는 노드 (load_memories)도구관련 기억을 검색해서 가져오는 도구 (SearchRecallMemoriesTool)기억하는 도구 (SaveMemoriesTool)load_memories 노드가 하는 일?load_memories 노드부터 살펴보겠다. load_memories는 Agent가 작업을 처리하기 시작할때 이전 대화 내용을 기반으로 관련된 기억을 불러오는 노드다. 불러온 기억은 State에 [”recall_memories”]로 저장되고, 이는 나중에 기억과 관련된 SystemPrompt에 Context로서 제공된다.load_memories를 어떻..

LangGraph ReAct Agent 커스터마이즈하기

Langgraph.prebuilt의 create_react_agent를 이용해 ReAct Agent를 생성하면 이미 StateGraph가 컴파일되어서 반환되기때문에 이걸로 Agent를 만들면 워크플로우를 수정할 수 없다. Agent를 개발하다보니 추가적인 단계를 정의해야할 일이 생겨 더 이상 create_react_agent를 사용할 수 없었다. 그래서 create_react_agent의 코드를 분석해서 커스터마이즈 가능하도록 일부 코드들을 들고와서 create_custom_react_agent를 만들었다. StateGraph가 컴파일 되기전에 customize_workflow로 graph를 받아서 추가로 workflow를 수정한 뒤에 컴파일 할 수 있다. 주석도 열심히 달아두었기때문에 처음부터 ReAc..