Managed Deep Agents가 프로덕션 환경의 에이전트 사용자 경험을 개선합니다
요약
Managed Deep Agents (MDA) 0.8 버전이 출시되어 프로덕션 환경에서 에이전트를 구축하고 배포하는 과정을 간소화했습니다. 이 업데이트는 사용자 소유 자격 증명, 사용자 수준 메모리, HTTP 채널 지원 및 Parallel 기반 웹 검색 기능을 추가하여 엔지니어링 팀의 부담을 줄입니다.
핵심 포인트
- 사용자 인증 및 컨텍스트 관리를 위한 ID 범위별 기능 제공
- HTTP 채널 연동으로 다양한 제품 인터페이스에서 에이전트 사용 가능
- Parallel 기반 웹 검색 기능 기본 탑재로 정보 접근성 강화
- 에이전트 메모리, 인증, 채널 등 프로덕션 필수 요소를 통합 지원
주요 요점
ID 범위별 인증 및 메모리: 사용자가 소유한 자격 증명(credentials)과 사용자 수준의 메모리를 통해 에이전트가 올바른 권한으로 행동하고 호출자별 특정 컨텍스트를 기억할 수 있게 합니다.
HTTP 채널: 웹훅을 보낼 수 있는 내부 도구, 고객 포털, 지원 시스템 및 기타 제품 인터페이스에서 에이전트를 사용할 수 있습니다.
내장 웹 검색: Managed Deep Agents는 이제 Parallel 기반의 웹 검색 기능을 기본적으로 포함합니다.
오늘 저희는 사용자 소유 자격 증명, 사용자 수준 메모리, HTTP 채널, Slack 파일 전송을 지원하고 Parallel 기반의 웹 검색용 사전 구축 도구를 추가한 Managed Deep Agents 0.8 버전을 출시합니다.
Managed Deep Agents (MDA)는 미션 크리티컬(mission-critical) 에이전트를 프로덕션 환경에서 빌드, 배포 및 실행하는 가장 간단한 방법으로, 엔지니어링 팀이 모든 에이전트가 필요로 하는 동일한 인프라를 재구축하는 대신 에이전트의 동작에 집중할 수 있게 합니다. 오늘 출시와 함께 저희는 Managed Deep Agents를 확장하여 대부분의 팀이 프로덕션 환경에서 에이전트를 실행할 때 직면하는 네 가지 과제, 즉 에이전트 메모리, 인증(authentication), 채널(channels), 도구 관리(tool management)를 지원합니다.
Managed Deep Agents 소개
Managed Deep Agents는 Deep Agents 프레임워크에 프로덕션 환경에서 에이전트를 실행하는 데 필요한 모든 인프라를 결합한 것입니다. Managed Deep Agent는 사용자의 리포지토리 내 코드 우선(code-first) 프로젝트로, 에이전트의 모든 기본 요소(primitives)를 간단한 디렉터리에 쉽게 구성할 수 있도록 합니다:
my-agent/
agent.py | agent.ts | agent.tsx
pyproject.toml | package.json # project dependencies
...
실제 사례에서의 Managed Deep Agents
판매팀을 지원하기 위한 내부 에이전트를 구축한다고 상상해 보세요 (본 게시물에서는 이 에이전트를 GTM Agent라고 부르겠습니다). 이 에이전트가 계정 세부 정보를 조회하고, 해당 계정을 조사하며, 미팅 브리프를 작성하고, 후속 이메일을 보내는 등 팀의 계정이 활발하게 유지되도록 돕기를 원합니다. 이를 지원하기 위해 에이전트는 메모리, 도구 접근(tool access), 웹 검색, 추론(reasoning) 및 계획(planning) 기능이 필요합니다.

Deep Agents와 같은 에이전트 하네스(Agent harnesses)는 이러한 에이전트를 구축하는 데 도움을 줍니다. 이들은 장기간 실행되고 임무에 중요한 작업을 수행할 수 있는 복잡한 에이전트를 구축하기 위한 기본 요소(primitives)를 제공합니다. Deep Agents를 사용하면 프로토타입을 빠르게 구동시키는 것은 간단하지만, 에이전트가 프로덕션 환경에서 원활하게 작동하도록 만드는 것은 훨씬 더 많은 노력이 필요합니다.
바로 이 지점에서 Managed Deep Agents가 등장합니다. 이는 사용자 지정 Deep Agents 하네스를 이러한 에이전트를 대규모로 실행하는 데 필요한 관리형 인프라와 함께 패키징합니다. 여기에는 Slack과 같은 채널 추가, ID 및 인증(identity and authentication), 도구 권한 관리 등이 포함됩니다. 일반적으로 이러한 인프라를 구축하려면 로드맵의 분기(quarters)가 필요하며 지속적인 유지보수가 요구됩니다. Managed Deep Agents는 엔지니어들이 에이전트 로직을 구축하는 데 집중하고, 반복적이고 정형화된 코드(boilerplate code) 처리는 맡길 수 있도록 합니다.
사용자별로 범위가 지정된 에이전트 메모리
에이전트가 프로덕션 환경에서 여러 사용자에 의해 사용될 때, 메모리를 관리하기 위한 강력하고 안전한 시스템이 중요합니다. Managed Deep Agents는 이미 영구적인(durable) 에이전트 메모리를 지원하여 배포된 에이전트가 대화 전반에 걸쳐 지침과 선호도를 유지할 수 있게 합니다. 메모리 설정은 간단한 선언 파일(declaration files)을 통해 수행할 수 있습니다:
# A memory declaration file enables durable agent and user-level memory.
my-agent/
agent.py
...
Managed Deep Agents 0.8에서는 에이전트 실행을 시작한 인증된 사용자에게 범위가 지정되는, 두 번째 계층의 사용자 레벨 메모리를 추가했습니다. 이를 통해 에이전트는 호출자 특정 컨텍스트(caller-specific context), 예를 들어 선호도, 작업 방식, 반복적인 작업 또는 사용자가 기억하도록 요청한 세부 정보를 공유되는 에이전트 레벨 메모리와 혼합하지 않고 저장할 수 있는 공간을 갖게 됩니다.
from managed_deepagents import MemoryLayer, define_memory
memory = define_memory(
agent=MemoryLayer(),
...
내부적으로(Under the hood), 영구 메모리는 LangSmith Context Hub에 의해 지원되며, 이를 통해 팀은 Skills 및 AGENTS.md와 같은 에이전트 파일을 저장하고, 버전을 관리하며, 협업할 수 있습니다. 에이전트 메모리는 /memories/agent/에 마운트됩니다.
그리고 배포에 참여하는 모든 사용자가 공유합니다. 사용자 메모리는 /memories/user/에 마운트되며, 호출자의 인증된 신원과 연결됩니다. 런타임은 이 레이어들 간의 콘텐츠를 절대 복사하지 않으므로, 팀은 기본적으로 공유 지식과 개인 컨텍스트를 분리하여 유지할 수 있습니다. 이는 다음과 같은 실제 에이전트 사용 사례에서 유용합니다:
- 지원 에이전트는 팀 전체의 에스컬레이션 규칙을 위해 에이전트 메모리를 사용하고, 특정 팀원이 간결한 Slack 업데이트를 선호한다는 것을 기억하기 위해 사용자 메모리를 사용할 수 있습니다.
- 연구 에이전트는 공유된 연구 절차를 에이전트 메모리에 보관하는 동시에, 개별 사용자의 선호 소스 유형이나 형식 규칙을 사용자 메모리에 저장할 수 있습니다.
"Managed Deep Agents로 구축하는 것은 매우 순조로운 경험이었습니다. LangChain 팀은 저희와 잘 협력하며 신속하게 문제 해결을 도와주었습니다. 저희의 프로덕션 채팅 앱은 Managed Deep Agent로 실행되는데, Context Hub와 사용자 레벨 메모리를 통해 고객 기밀성을 유지하면서도 우수한 경험을 제공할 수 있었습니다."
— Zahid, CTO, Kyth.ai
메모리는 쉽게 구성할 수 있으며 Managed Deep Agents 프로젝트 내 단일 파일에 존재합니다. 에이전트 레이어, 사용자 레이어 또는 둘 다 활성화할 수 있습니다. 또한 각 레이어에 대한 접근 정책을 정의하여 팀이 메모리가 언제 사용 가능한지, 그리고 어떤 범위에 적용되는지에 대한 제어권을 갖도록 할 수 있습니다. 별도로 지정하지 않는 한, Managed Deep Agents는 다음 기본값을 사용합니다:
이러한 계층적 접근 방식은 사용자 레벨 정보가 여러 사용자와의 대화에서 '유출'되지 않도록 보장합니다. 앞서 언급된 GTM agent를 고려해 보세요. 사용자는 에이전트와 직접 DM(Direct Message)으로 요청을 시작할 수도 있고, Slack 그룹에서 요청을 시작할 수도 있습니다. 정의된 접근 정책과 기본값은 다음을 보장합니다:
- 직접 DM의 경우 에이전트는 사용자의 선호도에 따라 작동합니다.
- 스레드 또는 Slack 그룹에 여러 사용자가 포함된 요청의 경우 에이전트는 워크스페이스/팀 기본값으로 설정됩니다.
- 두 시나리오 간에 선호도 및 저장된 메모리가 유출되지 않습니다.
에이전트 및 사용자 수준 메모리 설정 방법에 대해 여기서 더 알아보세요.
연결을 통해 사용자 및 에이전트 신원 안전하게 제공하기
연결(Connections)은 Managed Deep Agent를 GitHub, Notion 또는 Tavily와 같은 외부 서비스에 연결합니다. 연결은 LangSmith 워크스페이스 내의 이름 지정된 자격 증명이며, 도구는 런타임 시점에만 이를 읽습니다.
메모리와 마찬가지로, 에이전트의 목적과 사용자가 상호 작용하는 방식에 따라 자격 증명을 범위(scope)를 설정하는 것이 중요합니다. Managed Deep Agents를 사용하면 사용자 수준 또는 에이전트 수준에서 자격 증명을 범위 설정할 수 있습니다.
에이전트 소유 자격 증명은 모든 사용자에게 공유되므로, 웹 검색처럼 개인별로 차이가 없는 에이전트 기능에 유용합니다. 반면에 사용자 소유 자격 증명은 사용자가 도구 내에서 고유한 권한을 가질 때 중요합니다. 이는 종종 GitHub, Linear, Notion과 같은 도구에 필요합니다.

예를 들어, 저희 GTM 에이전트는 사용자가 DM(Direct Message)으로 요청할 때 사용자 자격 증명을 전달하고 Salesforce 데이터를 사용할 수 있어야 합니다. 또한 이 에이전트는 에이전트 자격 증명을 사용하여 웹을 검색하고 고객에 대한 정보를 찾을 수도 있어야 합니다.
Managed Deep Agents는 Linear, GitHub 및 Google Workspace 도구를 포함하여 23개 서비스에 대해 기본 지원(OOTB support)을 제공하며, LangSmith가 권한 부여(authorization), 토큰 및 메서드를 관리하므로 개발자는 사용자 ID와 비밀 키만 설정하면 됩니다.
연결에서 자격 증명을 설정하고 사용하는 방법을 여기서 알아보세요.
사용자가 선호하는 채널을 통해 에이전트 액세스하기
내부 에이전트는 Slack과 같은 기존 통신 채널을 통해 일반적으로 접근됩니다. Managed Deep Agents는 팀이 이미 작업하고 있는 곳에서 에이전트를 노출하는 것을 간단하게 만들기 위해 사전 구축된 Slack 지원을 제공합니다.
오늘 출시 버전으로 Managed Deep Agents는 파일 전송 기능이 추가되어 더 풍부한 Slack 워크플로우를 지원하며, JSON 웹훅을 보낼 수 있는 모든 서비스에 에이전트를 연결하기 위한 HTTP 채널도 추가했습니다.
# channels/orders.py
from managed_deepagents import channels
from lib.orders import parse, verify, messaging
...
Slack 기반 워크플로우의 경우, 사용자는 DM(다이렉트 메시지), 앱 언급, 또는 스레드 답장을 통해 에이전트를 호출할 수 있습니다. 파일 전송 지원 기능 덕분에 로그, 스프레드시트, 계약서, 스크린샷 또는 고객 문서와 같이 에이전트가 필요로 하는 자료를 대화창에 직접 보낼 수도 있습니다. 예를 들어, 저희 GTM agent를 사용하면, 사용자는 이제 Slack 내에서 이전 통화 메모나 고객이 공유한 문서를 추가하면서 에이전트에게 요청을 할 수 있습니다. 그러면 에이전트는 해당 파일을 가져와 컨텍스트(context)에 추가하고 그 내용을 기반으로 응답합니다.
HTTP 채널을 이용하면 팀들이 에이전트를 내부 도구, 고객 포털, 지원 시스템, 주문 시스템 또는 웹훅(webhook)을 보낼 수 있는 모든 제품 표면(product surface)으로 가져올 수 있습니다. 이는 여러 채널에 존재하는 고객 대면 에이전트에게 유용합니다. 예를 들어, 접수 및 분류(triage)를 관리하는 고객 지원 에이전트는 귀사의 제품 내부에 존재할 수 있고, 데모 및 미팅을 예약하는 에이전트는 웹페이지에 존재할 수 있습니다.
Slack과 HTTP 방식 모두에서 팀들은 인증(authentication), 신원(identity), 메모리(memory)에 대한 통제권을 유지하면서도, 사용자들이 이미 선호하는 채널에서 에이전트에 접근할 수 있도록 합니다.
"[Managed Deep Agents는] 단연코 가장 완벽한 엔드투엔드(end to end) 에이전트 플랫폼입니다. Slack 통합은 완벽하게 작동하여 모든 에이전트에 Slack을 통해 접근할 수 있게 되면서 업무를 훨씬 쉽게 만들었습니다. CLI와 GitHub actions을 사용하여 사용자 지정 MCP 서버가 포함된 여러 에이전트를 프로덕션 환경에 배포할 수 있었습니다. 이제 우리는 적절한 모니터링에 대한 접근성과 PR 생성 및 팀 알림 기능과 함께 항상 작동하는 분류 시스템(always-on triage)을 갖게 되었습니다."
— Derek Gilbert, Engineering, Consensus
Parallel이 제공하는 내장 웹 검색 기능
웹 검색은 가장 일반적인 에이전트 도구 중 하나이므로, 저희는 이를 Managed Deep Agents에 직접 구축하기로 결정했습니다. 이제 별도의 벤더 계정을 만들거나, 다른 API 키를 관리하거나, 검색 도구를 에이전트에 연결할 필요 없이 Parallel이 제공하는 웹 검색을 사용할 수 있습니다.
도구 폴더에 MCP 서버를 지정하기만 하면 LangSmith가 Parallel 자격 증명을 관리하고 도구를 실행합니다. 에이전트는 인용할 수 있는 관련 발췌문과 출처 URL을 받으며, 호출, 지연 시간(latency), 오류는 LangSmith 트레이스에 표시됩니다.
tools/mcp.py 또는 tools/mcp.ts의 서버 맵에 Parallel을 추가하세요
. mcp 정의하기
단 한 번만
from managed_deepagents import define_mcp
mcp = define_mcp(
servers={
...
시작하기
Managed Deep Agents 0.8은 에이전트 인증, 메모리 및 채널을 간소화하고 웹 검색을 사전 구축된 도구로 제공합니다.
팀들이 이러한 새로운 기능을 어떻게 사용할지 기대하며, MDA가 베타 버전인 동안 Managed Deep Agents를 통해 Parallel 웹 검색을 무료로 이용할 수 있도록 하고 있습니다.
Managed Deep Agents 문서를 참조하거나 다음으로 시작하세요:
uvx --from managed-deepagents mda init my-agent
cd my-agent
uv run mda deploy
저희는 Managed Deep Agents를 계속 개선할 것이며, 여러분이 무엇을 만들고 계신지 듣고 싶습니다. Slack 커뮤니티에 참여하여 개발 중인 것을 공유하고 어떤 피드백이라도 저희에게 알려주세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 LangChain Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기