TL;DR
Cordis는 며칠 동안 실행되는 장기 작업에서 플러그인 충돌과 실행 중 새 MCP 추가를 처리하기 위해 공유 컨텍스트 기반의 플러그인 구조를 사용합니다. 각 플러그인은 컨텍스트 변경 schema와 의존 관계를 선언하고, 모든 변경에 대한 undo 작업을 게시해 버전 관리 상태를 되돌릴 수 있게 합니다. 이 구조는 장애가 발생하면 의존 컴포넌트를 중단하거나 기능을 축소하고, 새 플러그인이 추가되면 downstream 업데이트를 연쇄적으로 일으키는 temporal composability와 spatial composability를 지향합니다. 작성자는 필요한 상태만 폐기하므로 cache hit가 거의 100%에 가까울 수 있다고 추정하지만, 이는 검증된 벤치마크가 아닙니다.
실용적 조언
- 장기 실행 harness의 플러그인을 설계할 때 공유 컨텍스트의 변경 schema와 의존 관계를 명시하고, 각 변경에 대응하는 undo 작업을 함께 정의하는 접근을 적용할 수 있습니다.
- 플러그인 장애 시 전체 상태를 초기화하기보다 해당 플러그인의 변경과 의존 컴포넌트를 추적해 일시 중단 또는 기능 축소를 선택하는 복구 경로를 마련할 수 있습니다.
섹션별 상세
용어 해설
- 공유 컨텍스트(Shared Context)
- — 플러그인과 오케스트레이터가 상태를 주고받는 공통 데이터 구조입니다. 각 플러그인은 이 컨텍스트를 읽고 변경하며, 변경 내역이 전체 실행 흐름의 상태로 추적됩니다.
- 버전 관리 컨텍스트(Versioned Context)
- — 컨텍스트의 변경을 버전 단위로 기록하는 상태 관리 방식입니다. 어떤 플러그인이 어떤 변경을 만들었는지 추적할 수 있어 오류가 발생한 지점까지 상태를 되돌리거나 의존 컴포넌트에 영향을 전달할 수 있습니다.
- 시간적 조합성(Temporal Composability)
- — 시간이 지나며 플러그인이 실패하거나 복구되는 상황에서도 실행 흐름을 이어가는 성질입니다. 실패한 플러그인의 변경을 되돌리고 그에 의존하는 컴포넌트를 일시 중단하거나 기능을 축소해 전체 작업의 상태를 보존합니다.
- 공간적 조합성(Spatial Composability)
- — 실행 중 새 플러그인을 추가해도 기존 시스템이 상태 변화에 반응하며 확장되는 성질입니다. 새 플러그인이 컨텍스트를 갱신하면 해당 변경을 의존 관계에 따라 downstream 컴포넌트로 전달합니다.
- 가역적 효과(Reversible Effects)
- — 플러그인이 컨텍스트에 가한 변경마다 이를 취소하는 작업도 함께 기록하는 방식입니다. 도구 호출이나 MCP 장애가 발생했을 때 전체 상태를 버리지 않고 문제가 된 변경과 관련 의존성만 되돌릴 수 있습니다.
언급된 도구
오케스트레이터가 실행 중 새로 추가할 수 있는 컴포넌트 또는 도구 연결 방식으로 언급됩니다.
immutable state update를 활용하는 구조와 비교 대상으로 언급됩니다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
