5분 안에 AI 에이전트에 킬 스위치를 추가하는 방법

발행: (2026년 2월 22일 오전 07:42 GMT+9)
7 분 소요
원문: Dev.to

Source: Dev.to

번역을 진행하려면 번역하고자 하는 전체 텍스트를 제공해 주시겠어요?
코드 블록, URL 및 마크다운 형식은 그대로 유지하면서 본문만 한국어로 번역해 드리겠습니다.

소개

귀하의 AI 에이전트는 프로덕션 환경에서 실행되며 API를 호출하고, 의사결정을 내리며, 비용을 지출합니다. 만약 에이전트가 문제가 생겨—루프에 갇히거나 툴 호출을 환각하고, API 예산을 소진한다면—유일한 방법은 수동으로 프로세스를 종료하는 것입니다. 이 튜토리얼은 에이전트의 핵심 코드를 변경하지 않고도 5분 안에 실제 킬 스위치를 추가합니다.

리버스‑프록시가 에이전트와 LLM 제공자 사이에 위치합니다. 모든 요청은 이를 통해 흐르고, 정책은 YAML로 정의되며, 정책이 트리거되면 모델에 도달하기 전에 요청이 차단됩니다.

사전 요구 사항

  • Docker 및 Docker Compose가 설치됨
  • OpenAI API 키(또는 OpenAI와 호환되는 제공자)
  • OpenAI API 형식을 사용하는 AI 에이전트

Setup

git clone https://github.com/airblackbox/air-platform.git
cd air-platform
cp .env.example .env

.env 파일을 편집하고 API 키를 추가하세요:

OPENAI_API_KEY=sk-your-key-here

플랫폼을 시작합니다:

make up

여섯 개의 서비스가 약 8 초 안에 시작됩니다. 중요한 서비스는 http://localhost:8080 에서 실행되는 Gateway 입니다.

에이전트를 Gateway에 연결하기

Python (OpenAI SDK)

from openai import OpenAI

# 이전 — OpenAI에 직접 호출
# client = OpenAI()

# 이후 — AIR Blackbox Gateway를 통해 호출
client = OpenAI(base_url="http://localhost:8080/v1")

LangChain

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    openai_api_base="http://localhost:8080/v1",
    model="gpt-4o"
)

CrewAI

import os
os.environ["OPENAI_API_BASE"] = "http://localhost:8080/v1"
# CrewAI가 자동으로 인식합니다

cURL

curl http://localhost:8080/v1/chat/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

에이전트는 정확히 동일하게 동작하지만, 이제 모든 호출이 Gateway를 통해 흐르게 됩니다.

킬‑스위치 정책 정의

config/policies.yaml를 편집합니다. 아래는 일반적인 실패 모드를 다루는 시작 정책입니다:

policies:
  # Kill switch: stop runaway loops
  - name: loop-detector
    description: "Kill agent if it makes more than 50 requests in 60 seconds"
    trigger:
      type: rate-limit
      max_requests: 50
      window_seconds: 60
    action: block
    alert: true

  # Kill switch: budget cap
  - name: budget-cap
    description: "Kill agent if it exceeds $5 in token spend"
    trigger:
      type: cost-limit
      max_cost_usd: 5.00
    action: block
    alert: true

  # Kill switch: restrict dangerous tools
  - name: tool-restriction
    description: "Block agent from executing shell commands"
    trigger:
      type: tool-call
      blocked_tools:
        - "execute_command"
        - "run_shell"
        - "delete_file"
    action: block
    alert: true

  # Risk tiers: require human approval for high‑risk actions
  - name: high-risk-gate
    description: "Flag requests that involve payments or external APIs"
    trigger:
      type: content-match
      patterns:
        - "payment"
        - "transfer"
        - "external_api"
    action: flag
    risk_tier: critical

파일을 저장합니다. 정책 엔진은 자동으로 변경 사항을 감지합니다—재시작이 필요하지 않습니다.

루프 감지기 테스트

from openai import OpenAI
import time

client = OpenAI(base_url="http://localhost:8080/v1")

# Simulate a runaway agent — rapid repeated calls
for i in range(60):
    try:
        response = client.chat.completions.create(
            model="gpt-4o",
            messages=[{"role": "user", "content": f"Request {i}"}]
        )
        print(f"Request {i}: OK")
    except Exception as e:
        print(f"Request {i}: BLOCKED — {e}")
        break
    time.sleep(0.5)

속도 제한이 트리거될 때까지 정상적인 응답을 확인할 수 있으며, 그 이후에는 요청이 차단되고 에이전트가 중지됩니다.

관측성

  • Jaeger trace viewer – 모든 요청의 전체 추적.
  • Prometheus metrics – 비용 및 요청 통계.
  • Episode Store API – 컨텍스트, 지연 시간 및 비용과 함께 전체 시퀀스를 재생.

5분 만에 얻은 것

  • 루프 감지 – 통제 불능 에이전트가 자동으로 종료됩니다.
  • 예산 상한 – 예상치 못한 API 비용이 없습니다.
  • 도구 제한 – 위험한 기능이 차단됩니다.
  • 위험 등급 – 고위험 행동은 인간 검토를 위해 표시됩니다.
  • 전체 감사 로그 – 모든 결정이 기록되고 재생 가능합니다.

에이전트 핵심 로직을 한 줄도 수정하지 않고; 킬 스위치는 인프라 계층에 존재합니다.

맞춤 정책

  • 특정 모델을 차단합니다.
  • 요청당 토큰 수를 제한합니다.
  • 특정 도구 호출에 대해 인간 승인을 요구합니다.
  • 필요한 모든 패턴을 정의합니다.

프레임워크 플러그인

보다 깊은 통합을 위해, 다음에 대한 신뢰 플러그인이 제공됩니다:

  • CrewAI
  • LangChain
  • AutoGen
  • OpenAI Agents SDK

이 플러그인들은 프레임워크 수준에서 신뢰 점수 매기기와 정책 시행을 추가합니다.

MCP Security (Optional)

**Model Context Protocol (MCP)**을 사용하는 경우, MCP Security Scanner는 MCP 서버 구성을 감사하고, MCP Policy Gateway는 MCP 도구 호출에 대한 정책을 적용합니다.

Source:

라이선스 및 출처

전체 플랫폼은 Apache 2.0 라이선스 하에 오픈 소스입니다.

AIR Blackbox는 AI 에이전트를 위한 플라이트 레코더입니다—모든 결정을 기록하고, 모든 사건을 재생하며, 모든 정책을 시행합니다. 에이전트가 프로덕션 환경에서 결정을 내리고 있다면, 블랙박스가 필요합니다.

0 조회
Back to Blog

관련 글

더 보기 »

서브넷팅 설명

Subnetting이란 무엇인가? 큰 아파트 건물을 여러 층으로 나누는 것과 같다. 각 층 서브넷은 자체 번호가 매겨진 유닛(hosts)을 가지고, 그리고 건물…