// Simple predicates
'tacocat'.startsWith('taco')

// Parameterized predicates over structured data
account.balance >= transaction.withdrawal

// JSON objects
{'sub': '12345678',
 'aud': 'example2.cel.dev',
 'iss': 'https://example1.cel.dev/jwt-issuer'}

// Strongly typed objects
common.GeoPoint{ latitude: 10.0, longitude: -5.5 }

Common Expression Language (CEL)는 성능이 중요한 애플리케이션에서 빠르고 이식 가능하며 안전하게 실행할 수 있는 표현식 언어입니다. CEL은 애플리케이션별 확장 프로그램과 함께 애플리케이션에 삽입되도록 설계되었으며 애플리케이션에서 이미 사용 중일 수 있는 선언적 구성을 확장하는 데 이상적입니다.

API 호출의 목록 필터, 프로토콜 버퍼에 대한 유효성 검사 제약조건, API 요청에 대한 승인 규칙 등에 CEL을 사용하세요.

나노초부터 마이크로초에 이르는 성능이 중요한 경로에서 표현식 평가 가속화
개발자 친화적이고 가벼우며 여러 Google 및 외부 시스템에서 공통된 구문을 사용합니다.
비튜링이 완료되었으며 호스트 애플리케이션에서 제공하는 데이터에만 액세스합니다.
Z3와 같은 자동화된 SMT 솔버를 사용하여 모든 입력에 걸쳐 정확성, 안전 불변량, 동등성을 증명합니다.

CEL은 예측 가능한 비용으로 안전하고 빠르게 (나노초에서 마이크로초까지) 평가하도록 설계되었기 때문에 성능이 중요한 애플리케이션에 이상적입니다. CEL 표현식은 특히 조건자 로직과 단순 데이터 변환에 유용합니다.

CEL은 표현식이 자주 평가되지만 드물게 수정되는 애플리케이션에서 가장 효율적으로 사용됩니다. 예를 들어 보안 정책에 따라 HTTP 요청을 평가하는 것은 CEL의 훌륭한 사용 사례입니다. CEL 보안 정책 표현식은 표현식 검증을 위한 일회성 구성 비용이 발생하며, 이는 미미한 비용으로 매우 자주 평가됩니다.

추가 설명이 필요하신가요? CEL 개요 및 언어 정의를 확인하거나 Google에 문의하세요. 기꺼이 도와드리겠습니다.

AI 에이전트가 정책을 작성, 리팩터링, 배포할 때 무한한 입력에 걸쳐 엣지 케이스를 다루지 못하는 휴리스틱 단위 테스트가 실패할 수 있습니다. Z3 정리 증명기로 구동되는 CEL 형식 검증 프레임워크를 사용하면 개발자가 정책의 정확성을 수학적으로 증명하고, AST 동등성을 확인하고, 전체 입력 공간에서 보안 불변성을 보장할 수 있습니다.

미묘한 논리적 결함을 포착하고, 포괄적인 가드레일을 적용하고, 수학적 확실성으로 자동화된 정책 작성을 보호합니다.

CEL 프로젝트를 돕고 싶으신가요? 오픈소스 코드 및 문서에 참여합니다. 도움이 필요합니다.