Deep Agents에서 미들웨어를 사용하면 에이전트가 어떤 툴을 어떤 인자로 호출했는지, 총 몇 번 호출했는지 등을 정확히 추적하고 검증할 수 있습니다. 실제 디버깅과 확장에 필수적인 미들웨어 활용법을 3단계로 정리했습니다.
Deep Agents 미들웨어, 왜 필요할까?
Deep Agents를 활용하다 보면 에이전트가 실제로 툴을 호출했는지, 어떤 툴을 어떤 인자로 사용했는지, 총 몇 번의 툴 호출이 발생했는지 궁금해집니다. 특히 문제가 발생했을 때 정확한 원인 파악과 디버깅을 위해서는 이러한 정보가 필수적입니다. 미들웨어는 이러한 에이전트의 내부 동작을 투명하게 들여다볼 수 있게 해주는 핵심 요소입니다. 단순한 데모를 넘어 실제 서비스에 적용 가능한 수준으로 에이전트를 개발하고 싶다면, 미들웨어의 활용은 선택이 아닌 필수입니다. 이를 통해 에이전트의 신뢰성을 높이고 예측 가능한 동작을 보장할 수 있습니다.
미들웨어를 활용한 툴 호출 추적 방법
Deep Agents에서 미들웨어를 설정하는 것은 비교적 간단합니다. 먼저 필요한 패키지를 설치합니다. `pip install deepagents tavily-python langchain-openai python-dotenv` 명령어를 실행하여 관련 라이브러리를 모두 설치합니다. 이후, `@wrap_tool_call` 데코레이터를 사용하여 툴 호출을 가로챌 미들웨어 함수를 정의합니다. 예를 들어, `log_tool_calls` 함수는 에이전트가 툴을 호출할 때마다 실행되어 호출 횟수, 툴 이름, 전달된 인자 등을 기록합니다. 이 함수는 `request` 객체와 `handler` 함수를 인자로 받으며, `handler(request)`를 통해 실제 툴이 실행되도록 합니다. 정의된 미들웨어는 `create_deep_agent` 함수 호출 시 `middleware` 파라미터에 리스트 형태로 전달하여 에이전트에 적용합니다. 이를 통해 에이전트의 모든 툴 호출 과정을 상세하게 추적하고 관리할 수 있습니다.
미들웨어 설정으로 에이전트 동작을 상세히 추적해보세요.








