본문으로 건너뛰기

시공간적 조합성을 위한 프로그래밍 패러다임

Cordis는 되돌릴 수 있는 컨텍스트 변경으로 장기 실행 작업의 장애 복구와 플러그인 추가를 지원합니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

Cordis는 며칠 동안 실행되는 장기 작업에서 플러그인 충돌과 실행 중 새 MCP 추가를 처리하기 위해 공유 컨텍스트 기반의 플러그인 구조를 사용합니다. 각 플러그인은 컨텍스트 변경 schema와 의존 관계를 선언하고, 모든 변경에 대한 undo 작업을 게시해 버전 관리 상태를 되돌릴 수 있게 합니다. 이 구조는 장애가 발생하면 의존 컴포넌트를 중단하거나 기능을 축소하고, 새 플러그인이 추가되면 downstream 업데이트를 연쇄적으로 일으키는 temporal composability와 spatial composability를 지향합니다. 작성자는 필요한 상태만 폐기하므로 cache hit가 거의 100%에 가까울 수 있다고 추정하지만, 이는 검증된 벤치마크가 아닙니다.

실용적 조언

  • 장기 실행 harness의 플러그인을 설계할 때 공유 컨텍스트의 변경 schema와 의존 관계를 명시하고, 각 변경에 대응하는 undo 작업을 함께 정의하는 접근을 적용할 수 있습니다.
  • 플러그인 장애 시 전체 상태를 초기화하기보다 해당 플러그인의 변경과 의존 컴포넌트를 추적해 일시 중단 또는 기능 축소를 선택하는 복구 경로를 마련할 수 있습니다.

섹션별 상세

01
장기간 실행되는 작업은 harness가 며칠 동안 계속 동작해야 하므로, 구성 요소 하나가 충돌할 때 전체 프로세스를 재시작하면 이미 쌓인 상태를 잃게 됩니다. Cordis는 이런 상황에서 플러그인이 공유 컨텍스트를 통해 상태를 주고받도록 설계합니다. 플러그인별 컨텍스트 변경 schema와 의존 관계를 함께 기록하면 충돌한 구성 요소에 의존하는 컴포넌트를 찾아 일시 중단하거나 기능을 축소할 수 있습니다.
02
Cordis의 플러그인은 컨텍스트에 가하는 모든 변경에 대응하는 undo 변경을 게시합니다. 이 변경 기록과 버전 관리 컨텍스트를 결합하면 플러그인 충돌이나 도구 호출 실패 뒤에 상태 전체를 폐기하지 않고 필요한 변경만 되돌릴 수 있습니다. 작성자는 수학적으로 필요한 상태만 버리는 구조가 cache hit를 거의 100%에 가깝게 만드는 요인일 수 있다고 추정하지만, 해당 수치는 검증된 결과가 아니라 개인적인 추정으로 제시합니다.
03
오케스트레이터가 처음에는 불러오지 않은 새 MCP 같은 컴포넌트를 추가로 요청하면 새 플러그인이 컨텍스트를 갱신합니다. 이 갱신은 의존 관계를 따라 downstream 컴포넌트의 연쇄 업데이트를 일으켜 실행 중인 harness에 새 기능을 연결합니다. 작성자는 장애 복구를 temporal composability, 새 구성 요소 추가를 spatial composability로 구분하고 React/redux의 immutable state update와 유사한 점을 덧붙입니다.

용어 해설

공유 컨텍스트(Shared Context)
플러그인과 오케스트레이터가 상태를 주고받는 공통 데이터 구조입니다. 각 플러그인은 이 컨텍스트를 읽고 변경하며, 변경 내역이 전체 실행 흐름의 상태로 추적됩니다.
버전 관리 컨텍스트(Versioned Context)
컨텍스트의 변경을 버전 단위로 기록하는 상태 관리 방식입니다. 어떤 플러그인이 어떤 변경을 만들었는지 추적할 수 있어 오류가 발생한 지점까지 상태를 되돌리거나 의존 컴포넌트에 영향을 전달할 수 있습니다.
시간적 조합성(Temporal Composability)
시간이 지나며 플러그인이 실패하거나 복구되는 상황에서도 실행 흐름을 이어가는 성질입니다. 실패한 플러그인의 변경을 되돌리고 그에 의존하는 컴포넌트를 일시 중단하거나 기능을 축소해 전체 작업의 상태를 보존합니다.
공간적 조합성(Spatial Composability)
실행 중 새 플러그인을 추가해도 기존 시스템이 상태 변화에 반응하며 확장되는 성질입니다. 새 플러그인이 컨텍스트를 갱신하면 해당 변경을 의존 관계에 따라 downstream 컴포넌트로 전달합니다.
가역적 효과(Reversible Effects)
플러그인이 컨텍스트에 가한 변경마다 이를 취소하는 작업도 함께 기록하는 방식입니다. 도구 호출이나 MCP 장애가 발생했을 때 전체 상태를 버리지 않고 문제가 된 변경과 관련 의존성만 되돌릴 수 있습니다.

언급된 도구

MCP중립

오케스트레이터가 실행 중 새로 추가할 수 있는 컴포넌트 또는 도구 연결 방식으로 언급됩니다.

React/redux중립

immutable state update를 활용하는 구조와 비교 대상으로 언급됩니다.

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 16.수집 2026. 08. 16.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.