콘텐츠로 이동

에이전트와 자가 치유

FDAI는 이름이 지정된 15개 에이전트로 구성된 고정 조직으로 운영됩니다. 각 에이전트는 고유한 임무를 수행하고, 정해진 객체 및 작업 유형을 담당하며, 스키마 검증을 거치는 이벤트 버스를 통해 통신합니다. 조직 구조 자체가 안전 모델입니다. 판단을 담당하는 에이전트는 실행하지 않으며, 실행을 담당하는 에이전트는 사용자 승인 권한을 갖지 않습니다. 리소스에 구성 편차(드리프트)가 발생하거나 장애가 발생하면 에이전트가 협력하여 문제를 해결합니다. 승격된 저위험 작업은 자동으로 실행되며, 고위험 작업은 사용자의 승인을 기다립니다. 자동 실행 비율은 측정 대상인 목표이지, 제품에서 보장하는 수치가 아닙니다.

이 페이지에서는 각 에이전트의 역할과 책임 분리, 사용자가 승인 또는 거부에 집중할 수 있는 구조, 장애 발생부터 복구까지의 전체 자가 치유 과정을 설명합니다.

에이전트 구성은 업스트림에서 한 번 정의되며, 포크에서도 변경되지 않습니다. Forseti는 의사결정을 담당하고, Odin은 도메인 간 충돌을 중재하며, Thor는 작업을 실행합니다. 지원 에이전트는 실행 권한 없이 카탈로그, 증거 및 메모리를 관리합니다.

외부 신호는 유형이 지정된 공유 이벤트 버스를 통해 Huginn에 전달됩니다. Huginn은 정규화된 이벤트를 발행하고, 이 이벤트는 Heimdall과 Forseti로 분기됩니다. Heimdall, Njord, Freyr, Loki, Mimir, Muninn은 서로 직접 호출하지 않고 탐지된 문제, 도메인별 증거, 규칙 및 컨텍스트를 제공합니다. Forseti는 의사결정을 담당하며, 도메인 간 충돌이 발생하면 Odin에 중재를 요청합니다. 실행 조건을 충족한 결정은 Thor에 전달됩니다. Var는 사람의 승인을 담당하고, Vidar는 롤백을 담당합니다. Forseti, Thor, Var, Vidar는 Saga에 감사 증거를 발행합니다. Saga의 결과는 Norns에 전달되며, Norns는 비활성 상태의 규칙 후보를 Mimir에 제안합니다. Bragi는 Muninn에서 컨텍스트를 읽고 유형이 지정된 작업 제안을 Huginn에 반환하여 대화도 동일한 통제 경로를 따르도록 합니다.

에이전트역할한 줄
Odin총괄 플래너영역 간 충돌을 중재하는 최종 조정자
Forseti판단자결정(자동 실행 / 사람 승인 / 거부)을 발행하고 실행하지 않음
Thor응답자결정을 전달하는 유일한 특권 실행기
Var승인 전달자사람 승인을 전달하며 Thor와 분리
Vidar복구롤백과 DR 장애 조치를 소유
Huginn이벤트 수집 및 리소스 탐색실시간 리소스 변경 수집과 상관관계 연결을 소유
Heimdall관찰자탐색 최신성, 커버리지, 드리프트, 리소스 변경을 감시
Njord비용 전문가비용을 자문하며 실행하지 않음
Freyr용량 전문가용량을 자문하며 실행하지 않음
Loki카오스 전문가범위가 제한된 실험을 제안하며 실행하지 않음
Mimir규칙 담당자통제된 규칙 수명 주기 결정을 소유
Norns학습 전문가감사된 결과에서 비활성 후보를 제안
Muninn메모리 전문가범위가 지정된 맥락과 이전 근거를 제공
Saga감사자추가 전용 감사 로그를 기록
Bragi서술기여러분의 질문을 파이프라인 안팎으로 옮김

안전 보장은 각 에이전트가 무엇을 할 수 없는지에서 나옵니다.

  • 판단자와 실행자를 분리합니다. Forseti가 결정하고 Thor가 실행합니다. 판단과 실행을 동시에 하는 에이전트가 없으므로, 잘못된 판단이 스스로를 승인해 변경으로 이어질 수 없습니다.
  • 승인은 별개의 주체입니다. Var가 여러분의 승인을 전달합니다. Thor는 여러분을 대신해 승인할 수 없습니다.
  • 전문가는 자문만 합니다. Njord, Freyr, Loki는 판단에 정보를 제공할 뿐 실행기에 직접 닿지 않습니다.
  • 두 포트, 우회 없음. 모든 에이전트는 기계 트래픽용 타입 기반 pub/sub 포트와 질문용 대화 포트를 가집니다. 작업을 요청하는 대화는 반드시 타입 기반 파이프라인으로 다시 들어가야 하므로, 내레이터가 직접 실행하는 일은 없습니다.

여러분은 승인과 거절 수준에서 운영

섹션 제목: “여러분은 승인과 거절 수준에서 운영”

여러분이 에이전트를 작업 단위로 지시할 필요는 없습니다. 조직이 루프를 돌리고 여러분에게 결정을 가져옵니다.

  • 승격된 저위험 작업은 스스로 처리할 수 있습니다. 중단 조건, 롤백 경로, 영향 범위 제한, 감사 기록을 갖추며, 새 작업은 승격 기준을 통과할 때까지 관찰 모드에 머무릅니다.
  • 위험한 소수는 여러분을 기다립니다. 승인 카드는 구성되고 승격된 승인 채널을 통해 도착하며, 여러분은 승인하거나 거절합니다. 채널이 있다는 사실만으로 권한이 생기지 않습니다. 거절과 시간 초과는 모두 감사되는 미실행으로 끝납니다.
  • Bragi에게 “왜 장애 조치가 일어났지?” 같은 질문을 평범한 말로 할 수 있고, 실행기의 특권 자격 증명 없이도 근거가 붙은 답을 받습니다.

전체 워크스루: ../guides/approve-change-ko.md.

장애는 어떻게 자가 치유되는가

섹션 제목: “장애는 어떻게 자가 치유되는가”

리소스 상태가 나빠지면 에이전트들은 다른 이벤트와 동일한 파이프라인에서 함께 움직입니다. 장애 조치 하나를 처음부터 끝까지 따라가 보겠습니다.

Huginn이 변경을 탐색하고 Heimdall이 근거 범위를 확인합니다. Njord, Freyr, Loki가 Forseti에게 자문합니다. 목표가 충돌할 때만 Forseti가 Odin에게 중재를 요청한 뒤, 실행 가능한 작업을 Thor에게 보내거나 Var를 통해 사람 승인을 요청하거나 거부된 미실행을 Saga에 기록합니다. Thor가 실행하고 Vidar가 필요한 복구를 처리하며 Saga가 결과를 감사한 뒤 Norns가 비활성 후보를 제안합니다.

  1. 감지. Huginn이 리소스 변경과 장애 신호를 실시간으로 모읍니다. 주기적인 인벤토리 작업이 놓친 변경을 메우고, Heimdall이 최신성과 커버리지를 확인해 알림 폭주 대신 하나의 인시던트로 묶습니다.
  2. 판단. Forseti가 인시던트를 점수화하고, 비용과 용량 절충을 전문가에게 물은 뒤, 자동 실행, 사람 승인, 거부 중 하나를 결정합니다.
  3. 행동. Thor가 작업을 배분합니다. 저위험 복구는 스스로 실행되고, 고위험 장애 조치는 Var가 여러분의 승인을 전달할 때까지 기다립니다.
  4. 복구. Vidar가 작업의 중단 조건과 영향 범위 안에서 롤백이나 DR 장애 조치를 담당합니다.
  5. 기록과 학습. Saga가 감사 기록을 남기고, Norns가 반복되는 패턴을 아직 작동하지 않는 카탈로그 후보로 만듭니다. 후보는 승격 전에 출처, 검토, 회귀 테스트, 관찰 모드 근거를 갖춰야 합니다.

전문가들이 같은 리소스를 두고 엇갈릴 때가 있습니다. Njord는 비용을 위해 scale_down을, Freyr는 용량을 위해 scale_up을 원할 수 있습니다. 이때 Forseti가 결정을 확정하기 전에 Odin이 충돌을 중재하므로, 상충하는 목표에 따른 작업이 동시에 실행 단계로 넘어가지 않습니다.

에이전트를 사용할 수 없을 때의 안전한 성능 저하

섹션 제목: “에이전트를 사용할 수 없을 때의 안전한 성능 저하”

역할을 사용할 수 없으면 조직은 안전한 쪽으로 동작합니다. 역할 하나가 빠지면 자율성이 낮아지고, 해당 역할의 권한이 다른 에이전트에게 조용히 넘어가지 않습니다.

사용할 수 없는 역할안전한 성능 저하 방식
Forseti (판단자)새 결정을 발행하지 않고 사람 승인으로 보류합니다
Thor (실행자)판단과 감사는 계속되지만 아무것도 바뀌지 않습니다
Var (승인자)승인 요청이 대기열에 남고 시간 초과는 감사되는 미실행으로 끝납니다
Vidar (복구)롤백이나 장애 조치가 필요한 작업은 자동 실행할 수 없습니다
Saga (감사자)감사 요건을 충족할 경로가 없으므로 변경이 중지됩니다
Odin (중재자)영역 간 충돌에서 승자를 고르지 않고 사람 승인으로 넘깁니다

에이전트는 장애가 난 동료를 조용히 대신하지 않습니다. 복구는 선언된 역할을 되살리고 대기 중인 판단만 다시 재생합니다. 대화나 오래된 전달 메시지에서 작업을 다시 실행하지는 않습니다.

에이전트 상태와 컨트롤 루프 결과를 함께 보는 신호가 유용합니다.

  • 이벤트 수집 지연, dead-letter 적체, 상관관계 처리 대기
  • 결정 지연, 모델 간 불일치, 승인 만료 비율
  • 실행 성공률, 중단 조건 발동, 롤백 비율
  • 감사 완전성과 최종 결과가 영구 기록으로 남기까지 걸린 시간
  • 에이전트별 성능 저하 상태와 정상 자율성 상한 아래에 머문 시간

목표는 자동 실행을 최대로 늘리는 것이 아닙니다. 건강한 조직은 이 신호가 나빠지면 자율성을 낮추고 그 이유를 운영자에게 보여 줍니다.

학습 대상문서
모든 액션이 안전 계약을 물려받는 방식ontology-driven-automation-ko.md
결정이 자동 실행과 사람 승인으로 갈리는 방식risk-tiers-ko.md
대기 중인 변경 승인 또는 거절../guides/approve-change-ko.md
감사 로그로 결정 추적하기../guides/read-audit-log-ko.md
전체 판테온 설계../../roadmap/agents/agent-pantheon-ko.md