仕組み
クライアントをラップする
SDKをインストールし、LLMクライアントを1行でラップします。それ以降、LLM呼び出しは自動的に統制されます。
pip install controlzeroダッシュボードでポリシーを定義する
エージェントが使用できるモデル、ツール、カスタムアクションを制御するルールを作成します。ポリシーはSDKに自動的に同期されます。
安心してリリースする
Every LLM call and custom action is checked against your policies before execution. Violations are blocked and logged. No code changes needed.
本番運用のAIの ために
自動ラッピングSDK
OpenAI、Anthropic、LangChainのクライアントを1行でラップできます。すべてのLLM呼び出しは、実行前にダッシュボードのポリシーに照らして自動的にチェックされます。ビジネスロジックのコード変更は不要です。
カスタムアクション
LLMのガバナンスにとどまりません。ベクトルストア、データベース、API、MCPツール、その他のドメイン固有の操作に対して独自のアクション規約を定義できます。enforce()を使えば、あらゆるアクションをポリシーチェックで制御できます。
ポリシーエンジン
Define granular, composable policies in the dashboard. Specify allowed actions, target resources, conditions, and effects. Policies are encrypted, cached locally, and cryptographically signed.
監査証跡
Every policy decision is recorded with full context -- the requested action, the matching rule, and the outcome. Gain complete, searchable visibility into how your AI agents operate.
お使いのスタックで動作
from controlzero import Client
from controlzero.integrations.openai import wrap_openai
import openai
cz = Client(policy_file="controlzero.yaml")
client = wrap_openai(openai.OpenAI(), cz)
# Use normally -- all calls governed by your policy
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Hello"}],
)from controlzero import Client
cz = Client(policy={
"rules": [
{"allow": "data:read", "reason": "Reads are permitted"},
{"deny": "trade:*", "reason": "Trading is blocked"},
]
})
# Guard any tool call against the loaded policy
result = cz.guard("data", method="read", args={"source": "vectorstore"})
print(result.decision) # "allow"
result = cz.guard("trade", method="execute", args={"asset": "AAPL"})
print(result.decision) # "deny"import { Client } from "@controlzero/sdk";
const cz = new Client({
policy: {
rules: [
{ allow: "llm:generate", reason: "LLM calls permitted" },
{ deny: "filesystem:write_file", reason: "Writes blocked" },
],
},
});
// Guard before executing
const decision = cz.guard("llm", { method: "generate" });
console.log(decision.effect); // "allow"
cz.guard("filesystem", { method: "write_file", raiseOnDeny: true });
// throws PolicyDeniedError