Deep Agents 미들웨어는 에이전트의 툴 호출 과정을 상세히 기록하고 추적하여 디버깅 및 검증을 돕는 핵심 기능입니다.
Deep Agents 미들웨어, 왜 필요할까요?
Deep Agents를 실제 서비스에 적용하려면 에이전트가 어떤 툴을, 어떤 인자로, 몇 번이나 호출했는지 정확히 파악하는 것이 필수적입니다. 단순히 데모 수준을 넘어선다면, 문제가 발생했을 때 원인을 신속하게 진단하고 해결하기 위해 툴 호출 과정을 면밀히 추적해야 합니다. 미들웨어는 이러한 툴 호출을 가로채 로그를 남기고, 에이전트의 동작을 투명하게 분석할 수 있도록 지원합니다. 이를 통해 개발자는 에이전트가 예상대로 작동하는지 검증하고, 필요한 경우 수정하여 확장 가능한 형태로 발전시킬 수 있습니다. 실제로 미들웨어를 활용하면 에이전트가 Tool 없이 응답하는 경우를 걸러내고, 어떤 Tool이 선택되었는지 명확히 확인할 수 있어 개발 효율성을 크게 높일 수 있습니다.
미들웨어 설정 및 툴 호출 추적 방법
Deep Agents 미들웨어를 사용하기 위해선 먼저 필요한 패키지를 설치해야 합니다. `pip install deepagents tavily-python langchain-openai python-dotenv` 명령어를 통해 관련 라이브러리를 설치합니다. 이후, `@tool` 데코레이터를 사용하여 에이전트가 사용할 툴을 정의합니다. 예를 들어, 도시 이름을 받아 날씨 정보를 반환하는 `get_weather` 툴을 만들 수 있습니다. 다음 단계는 툴 호출 시마다 실행될 미들웨어를 정의하는 것입니다. `@wrap_tool_call` 데코레이터를 사용하면 툴 호출 전후 로직을 쉽게 구현할 수 있습니다. `log_tool_calls`와 같은 미들웨어 함수는 툴 이름, 인자, 호출 횟수 등을 기록하여 디버깅에 유용한 정보를 제공합니다. 정의된 툴과 미들웨어를 `create_deep_agent` 함수에 `tools`와 `middleware` 인자로 전달하여 에이전트를 생성합니다. 마지막으로, `agent.invoke()` 메서드를 통해 사용자의 질문을 전달하면, 미들웨어가 툴 호출 과정을 기록하며 에이전트가 실행됩니다. 이 과정에서 기록된 로그를 통해 에이전트의 동작을 상세히 파악할 수 있습니다.
Deep Agents 미들웨어 활용법, 더 자세히 알아보세요.






