LangSmith Managed Deep Agents, Connections 기능으로 호출자별 신원 관리 도입
핵심 내용
LangSmith Managed Deep Agents가 Connections 기능을 통해 API 키 로테이션과 사용자별 신원 인증을 자동화했다.
자세히 보기
LangSmith Managed Deep Agents v0.7.0+에 Connections 기능이 도입되어, 기존 .env 파일에 하드코딩된 API 키의 한계를 극복했다. 기존 방식은 모든 액션이 서비스 계정으로 기록되어 '누가' 요청했는지 식별할 수 없었으나, Connections는 LangSmith 워크스페이스에 저장된 named credential을 런타임에 참조하여 호출자별 고유 신원을 제공한다.
Ownership과 Credential Type의 분리
Connections는 Ownership(Agent vs User)과 Credential Type(Static Secret vs OAuth Grant)이라는 두 가지 독립적인 축으로 구성된다. Agent-owned는 배포에 귀속되어 모든 호출자가 공유하며, User-owned는 런타임에 호출자별로 해결된다. Agent-owned secret은 웹 검색이나 지오코더처럼 사용자별 권한이 동일할 때 사용되며, mda deploy 시 자동으로 수집되지 않아 보안이 강화된다.
OAuth 자동화와 사용자별 권한 처리
User-owned OAuth 연결을 통해 GitHub 등 23개 서비스의 인증을 자동화할 수 있다. connections.get() 호출 시 미인증 사용자는 OAuth 플로우가 실행되고, 인증된 사용자는 캐시된 토큰을 사용한다. 토큰 만료 시 실행이 일시정지되며 새 권한을 요청하지만 실패하지 않는다. 이를 통해 create_issue 같은 작업이 봇이 아닌 실제 사용자 계정으로 수행되며, 호출자별 권한에 따라 검색 결과가 달라진다.
개발 및 배포 워크플로우
개발 환경에서는 Agent-owned 연결이 .env의 MDA_DEV_<SLUG> 변수로, User-owned 연결은 mda dev에 로그인한 개발자를 실제 주체로 해결한다. OAuth 카탈로그는 바이너리에 내장되어 있어 엔드포인트 설정이 자동화되며, 여러 서비스 간 작업 시 단일 인터럽트로 미부여 연결 목록을 표시하고 승인 후 재개한다. 각 연결은 생성, 참조, 재배포의 3단계로 관리된다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.