이 페이지는 기계 번역이며 충분한 검토를 거치지 않았습니다. 영어 원문이 기준입니다. 보안, 개인정보 보호, 데이터 처리, 규정 준수 및 라이선스에 관한 설명은 기술 검토가 끝날 때까지 영어로 유지됩니다. 영어 원문 보기
Python으로 개발 중인 AI 앱 통제하기
사용하는 적용 지점: Python SDK, 프레임워크 통합 (LangChain, CrewAI, LangGraph, OpenAI Agents, PydanticAI) 지원 모드: Local Hosted Hybrid 플랜: Free (기본) Solo Teams (Hosted 기능)
수행할 내용
Python AI 앱에서 위험한 부분 -- 도구 호출, 외부 API 호출, 파일 쓰기 -- 을 guard() 검사 한 번으로 감쌉니다. 정책은 사용자가 관리하는 YAML 파일에 있으며, SDK는 사유와 함께 허용/거부를 반환하고 결정을 기록합니다.
이 방법이 적합한 경우
- LLM이나 도구를 호출하는 Python 앱을 직접 작성하고 코드를 소유하고 있다면, SDK로 가장 세밀하게 제어할 수 있습니다.
- LangChain, CrewAI, LangGraph, OpenAI Agents 또는 PydanticAI를 사용한다면 통합에 기본 제공 헬퍼가 있습니다.
- 코드를 변경할 수 없다면 게이트웨이를 사용하세요.
- 앱이 Node라면 대신 Node SDK를 사용하세요.
이 방법을 사용하지 말아야 할 경우
주의
SDK는 각 결정 지점에서 guard()를 호출하거나 통합 래퍼를 사용해야 합니다. 모든 LLM 요청을 자동으로 가로채는 코드 변경 없는 방법을 원한다면 게이트웨이를 사용하세요.
5분 설정
pip install controlzero
Local 모드 (계정 불필요, 정책은 디스크에 저장)
from controlzero import Client
cz = Client(policy_file="./policy.yaml")
decision = cz.guard(
tool="shell",
args={"command": "rm -rf /"},
)
if not decision.allowed:
raise RuntimeError(f"Blocked by policy: {decision.reason}")
최소한의 policy.yaml:
rules:
- id: block-shell-execute
deny: 'shell:execute'
reason: 'Destructive shell commands are not allowed.'
- id: allow-everything-else
allow: '*'
reason: 'Default-allow for everything else.'
규칙이 작동할 때의 예상 출력:
RuntimeError: Blocked by policy: Destructive shell commands are not allowed.
Hosted 모드 (정책은 대시보드에 저장)
import os
from controlzero import Client
cz = Client(api_key=os.environ["CONTROLZERO_API_KEY"])
decision = cz.guard(tool="web_search", args={"query": "..."})
환경에 CONTROLZERO_API_KEY=cz_live_...를 설정하세요. 정책은 자동으로 가져오고 최신 상태로 유지됩니다.
작동 확인
- 앱을 실행하고 감사 로그(Local 모드) 또는 대시보드 Audit 페이지(Hosted)를 확인합니다.
- 정책이 거부해야 하는 요청을 보냅니다.
decision.allowed == False이고 이벤트가 표시되는지 확인합니다. - 허용되는 요청을 보냅니다.
decision.allowed == True이고allow감사 행이 있는지 확인합니다.
자주 이어지는 질문
- "프롬프트의 PII를 보호하고 싶어요" -> DLP 적용 범위
- "LangChain / CrewAI / LangGraph를 사용해요" -> LangChain, CrewAI, LangGraph
- "완전한 오프라인으로 실행하려면 어떻게 하나요?" -> 완전한 오프라인 실행
- "팀 전체로 확장하려면 어떻게 하나요?" -> 디바이스 등록
참고 자료
- 적용 지점 페이지: Python SDK
- 개념: 정책, 프로젝트
- API: API 레퍼런스