LangChain: Deep Agents의 Dynamic Subagents — 에이전트가 수백 개의 하위 에이전트를 병렬로 디스패치하는 코드 작성
Dynamic Subagents는 LangChain Deep Agents 프레임워크 내의 오케스트레이션 아키텍처로, 모델이 수백 개의 하위 에이전트를 병렬로 디스패치하는 JavaScript 스크립트를 작성할 수 있게 합니다. QuickJS 인터프리터가 스크립트를 결정론적으로 실행하여 300개 이상의 순차적 도구 호출을 제거합니다. 시스템은 classify-and-act부터 loop-until-done까지 6개의 오케스트레이션 패턴을 정의합니다.
이 기사는 AI가 1차 출처를 기반으로 생성했습니다.
LangChain은 Deep Agents 프레임워크 내에서 Dynamic Subagents — AI 에이전트가 복잡한 작업을 조율하는 방식을 근본적으로 변화시키는 오케스트레이션 아키텍처를 발표했습니다. 순차적 도구 호출 대신, 모델은 이제 QuickJS — 파이프라인에 직접 내장된 경량 결정론적 인터프리터 — 가 실행하는 JavaScript 스크립트를 작성합니다. 해당 스크립트는 순서 없이 수백 개의 하위 에이전트를 병렬로 디스패치합니다.
기존 에이전트 대 동적 오케스트레이션
기존 에이전트는 300개 이상의 개별 도구 호출을 거치며 무작위로 범위를 잘라내는 경향이 있습니다: 500개 항목 중 75개를 추정하고 멈춥니다. Dynamic Subagents는 이 문제를 제거합니다. LangChain은 Deep Agents 프레임워크가 모든 하위 에이전트를 순차적이 아닌 병렬로 실행하기 때문에 전체 데이터 세트에 대한 결정론적 커버리지를 보장합니다. 디스패치를 위한 코드 작성은 기존 도구 호출과 근본적으로 다릅니다: 에이전트는 도구 호출이 제공할 수 없는 제어 구조(루프, 분기, 병렬 처리)를 얻습니다.
task() 함수와 QuickJS 런타임
시스템의 핵심은 QuickJS 인터프리터 내의 전역 함수 task()입니다. 세 가지 매개변수를 받습니다: description(작업 설명), subagentType(라우팅을 위한 전문가 유형), 선택적 responseSchema(필터링 준비가 된 유형화된 출력). 스크립트는 한 번의 통과에서 task()를 수백 번 호출할 수 있습니다 — 모든 호출이 병렬로 진행됩니다. 설치: pip install -U "deepagents[quickjs]", 파이프라인에서 QuickJS 런타임을 활성화하는 CodeInterpreterMiddleware와 함께.
모든 시나리오를 위한 6가지 오케스트레이션 패턴
Deep Agents는 6가지 오케스트레이션 패턴을 정의합니다: classify-and-act(분류 후 전문가에게 라우팅), fanout-and-synthesize(병렬 작업, 통합된 결과), adversarial verification(두 독립적 검증자), generate-and-filter(다중 솔루션 및 점수 매기기), tournament(토너먼트 라운드), loop-until-done(새 결과가 없을 때까지 반복).
순차적 호출보다 코드 작성이 더 나은 이유?
개념적 기반은 재귀 언어 모델 — 더 많은 모델을 디스패치하는 코드를 작성하는 모델입니다. LangChain Deep Agents 프레임워크의 Dynamic Subagents는 이 아이디어를 프로덕션 도구로 전환합니다: 이전에 수백 개의 순차적 단계가 필요했던 복잡한 워크플로우가 이제 데이터 세트 크기에 관계없이 전체 데이터 커버리지를 갖추고 결정론적이고 병렬로 실행됩니다.
자주 묻는 질문
- QuickJS란 무엇이며 LangChain은 Dynamic Subagents 아키텍처에서 왜 사용하나요?
- QuickJS는 Deep Agents 프레임워크 내에서 오케스트레이션 스크립트를 실행하는 경량 결정론적 JavaScript 인터프리터입니다. 외부 의존성 없이 코드를 안전하고 예측 가능하게 실행하여 수백 개의 하위 에이전트 디스패치를 신뢰할 수 있고 반복 가능하게 만듭니다.
- Dynamic Subagents는 기존 도구 호출과 어떻게 다른가요?
- 기존 에이전트는 도구 호출을 순차적으로 실행합니다 — 하나씩. 범위를 잘라내는 경향이 있습니다(예: 500개 항목 대신 75개로 추정하고 멈춤). Dynamic Subagents는 한 번의 통과로 수백 개의 하위 에이전트를 병렬로 디스패치하는 스크립트를 작성하며, 전체 데이터 세트에 대한 결정론적 커버리지를 제공합니다.