왜 나는 AI 에이전트를 위한 가드레일을 6개월 동안 만들었는가

발행: (2026년 1월 17일 오전 05:23 GMT+9)
7 min read
원문: Dev.to

Source: Dev.to

Source:

왜 만들었는지, 어떻게 작동하는지, 그리고 무엇을 배웠는지

문제: AI 에이전트는 강력하지만 무섭다

저는 AI 에이전트에 집착해 왔습니다 – 챗봇이 아니라 실제로 무언가를 수행하는 에이전트 말이죠. 에이전트가 할 수 있는 일은 다음과 같습니다:

  • 풀 리퀘스트 병합
  • 쿠버네티스에 배포
  • 데이터베이스 레코드 업데이트
  • 여러분을 대신해 슬랙 메시지 전송

기술은 이미 준비돼 있습니다. 하지만 프로덕션에 배포하려고 할 때마다 같은 일이 일어났습니다:

보안팀이 거부했습니다.

솔직히 말해서, 그들은 옳았습니다.

생각해 보세요: AI에게 프로덕션 시스템에 쓰는 권한을 주면서 감사 로그도, 승인 워크플로우도, 정책을 강제할 방법도 없습니다. 마치 인턴에게 루트 권한을 주고 행운을 기대하는 것과 같습니다.

저는 팀들이 **“PoC 지옥”**이라고 부르는 상황에 갇혀 있는 것을 계속 보았습니다 – 훌륭한 데모는 있지만 거버넌스 스토리가 없어서 절대 배포되지 않음.

해결책: 정책‑우선‑디스패치

모든 AI 행동이 실행되기 전에 정책 검사를 통과해야 한다면 어떨까요?

그것이 Cordum의 핵심 아이디어입니다.

┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│   AI Agent  │ --> │ Safety Kernel│ --> │   Action    │
└─────────────┘     └──────────────┘     └─────────────┘

                    ┌──────┴──────┐
                    │   Policy    │
                    │ (as code)   │
                    └─────────────┘

어떤 작업도 실행되기 전에, Safety Kernel이 정책을 평가하고 다음 중 하나를 반환합니다:

  • Allow – 정상 진행
  • Deny – 사유와 함께 차단
  • 👤 Require Approval – 인간이 개입해야 함
  • Throttle – 속도 제한

코드 보여주기

정책은 다음과 같이 정의됩니다:

# policy.yaml
rules:
  - id: require-approval-for-prod
    match:
      risk_tags: [prod, write]
    decision: require_approval
    reason: "Production writes need human approval"

  - id: block-destructive
    match:
      capabilities: [delete, drop, destroy]
    decision: deny
    reason: "Destructive operations not allowed"

  - id: allow-read-only
    match:
      risk_tags: [read]
    decision: allow

에이전트가 위험한 작업을 시도하면 Cordum이 개입합니다:

{
  "job_id": "job_abc123",
  "decision": "require_approval",
  "reason": "Production writes need human approval",
  "matched_rule": "require-approval-for-prod"
}

작업은 대시보드에서 인간이 승인할 때까지 대기합니다. 전체 감사 로그가 남고, 컴플라이언스도 만족합니다.

아키텍처

Cordum은 컨트롤 플레인이며, 에이전트 프레임워크가 아닙니다. 에이전트를 조정하고 거버넌스를 제공하지만 LangChain이나 CrewAI를 대체하지는 않습니다.

┌─────────────────────────────────────────────────────────┐
│                Cordum Control Plane                     │
├─────────────────────────────────────────────────────────┤
│  ┌───────────┐  ┌──────────────┐  ┌─────────────────┐ │
│  │ Scheduler │  │ Safety Kernel│  │ Workflow Engine │ │
│  └───────────┘  └──────────────┘  └─────────────────┘ │
├─────────────────────────────────────────────────────────┤
│  ┌───────────────┐  ┌───────────────────────────────┐ │
│  │  NATS Bus     │  │  Redis (State)                  │ │
│  └───────────────┘  └───────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
         │                    │                    │
    ┌────┴────┐          ┌────┴────┐          ┌───┴────┐
    │ Worker   │          │ Worker   │          │ Worker │
    │ (Slack)  │          │ (GitHub) │          │ (K8s)  │
    └──────────┘          └──────────┘          └────────┘

기술 스택

  • Go – 핵심 컨트롤 플레인 (~15 K 라인)
  • NATS JetStream – 최소 한 번 전달을 보장하는 메시지 버스
  • Redis – 작업, 워크플로, 컨텍스트를 위한 상태 저장소
  • React – 실시간 업데이트가 가능한 대시보드

성능

  • (성능 세부 사항은 발췌본에 포함되지 않음)

이 프로젝트를 만들며 배운 점

  1. 안전을 기능으로, 제약이 아니라
    처음엔 거버넌스를 “불가피한 악”이라고 생각했지만…

기업들은 규정 준수가 필요합니다. 하지만 저는 그것을 기능으로 보게 되었습니다.

  • (레슨의 나머지는 원본 내용에 계속됩니다)*

1. “쓰기 권한”은 경쟁 우위

모든 AI 행동이 정책에 따라 평가되고 기록될 때, 이전에는 불가능했던 사용 사례를 열 수 있습니다.

  • Banks can use AI agents.
  • Healthcare can use AI agents.

“쓰기” 능력은 강력한 차별화 요소가 됩니다.

2. 프로토콜이 예상보다 더 중요하다

나는 CAP에 많은 시간을 투자했고, 그 보람을 얻었다. 깔끔한 프로토콜을 갖추면 다음과 같은 이점이 있다:

  • 워커를 어떤 언어로든 작성할 수 있다.
  • 컨트롤 플레인을 독립적으로 진화시킬 수 있다.
  • 제3자가 호환 가능한 도구를 구축할 수 있다.

3. Open source is a distribution strategy

I could have built this as a closed SaaS from day one, but open source gives us:

  • Trust – you can read the code.
  • Self‑hosting – enterprises love this.
  • Community funnel – users contribute and spread the word.

Business model: open‑core. Self‑hosted is free forever; cloud/enterprise features are paid.

다음 단계

로드맵에는 다음이 포함됩니다:

  • Helm chart for Kubernetes 배포.
  • Cordum Cloud – 관리형 버전.
  • 대시보드 내 Visual workflow editor.
  • More packs – AWS, GCP, PagerDuty 등.

직접 사용해 보기

🌐 웹사이트:
📦 GitHub:
📋 프로토콜:
📚 문서:

AI 에이전트를 구축하고 거버넌스가 내장된 시스템을 원한다면 한 번 시도해 보세요. 유용하다고 생각되면 레포지토리에 ⭐ 별을 달아 주세요.

읽어 주셔서 감사합니다! 댓글로 질문에 답변해 드리겠습니다.

Back to Blog

관련 글

더 보기 »

기술은 구원자가 아니라 촉진자다

왜 사고의 명확성이 사용하는 도구보다 더 중요한가? Technology는 종종 마법 스위치처럼 취급된다—켜기만 하면 모든 것이 개선된다. 새로운 software, ...

에이전틱 코딩에 입문하기

Copilot Agent와의 경험 나는 주로 GitHub Copilot을 사용해 인라인 편집과 PR 리뷰를 수행했으며, 대부분의 사고는 내 머리로 했습니다. 최근 나는 t...