Kendalikan aplikasi AI yang saya bangun dengan Python
Titik penerapan yang digunakan: SDK Python, integrasi framework (LangChain, CrewAI, LangGraph, OpenAI Agents, PydanticAI) Mode yang didukung: Local Hosted Hybrid Paket: Free (dasar) Solo Teams (fitur hosted)
Yang akan Anda lakukan
Bungkus bagian-bagian berbahaya dari aplikasi AI Python Anda -- pemanggilan alat, akses API eksternal, penulisan file -- dengan satu pemeriksaan guard(). Kebijakan berada di file YAML yang Anda kendalikan; SDK mengembalikan keputusan izinkan/tolak beserta alasan, dan mencatat keputusannya.
Mengapa ini jalur yang tepat untuk Anda
- Jika Anda menulis aplikasi Python yang memanggil LLM atau alat dan Anda memiliki kodenya, SDK memberi Anda kendali paling terperinci.
- Jika Anda menggunakan LangChain, CrewAI, LangGraph, OpenAI Agents, atau PydanticAI, helper integrasi kelas satu tersedia di Integrasi.
- Jika Anda tidak dapat mengubah kode, gunakan gateway.
- Jika aplikasi Anda berbasis Node, gunakan SDK Node.
Kapan TIDAK menggunakan pendekatan ini
SDK mengharuskan Anda memanggil guard() (atau memakai pembungkus integrasi) di setiap titik keputusan. Jika Anda menginginkan jalur tanpa kode yang mencegat setiap permintaan LLM secara otomatis, gunakan gateway.
Penyiapan 5 menit
pip install controlzero
Mode Local (tanpa akun, kebijakan di disk)
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 minimal:
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.'
Output yang diharapkan saat aturan terpicu:
RuntimeError: Blocked by policy: Destructive shell commands are not allowed.
Mode Hosted (kebijakan berada di dasbor)
import os
from controlzero import Client
cz = Client(api_key=os.environ["CONTROLZERO_API_KEY"])
decision = cz.guard(tool="web_search", args={"query": "..."})
Atur CONTROLZERO_API_KEY=cz_live_... di environment Anda; kebijakan diambil dan dijaga tetap terbaru secara otomatis.
Memverifikasi bahwa berfungsi
- Jalankan aplikasi Anda dan pantau log audit (mode Local) atau halaman Audit di dasbor (Hosted).
- Picu permintaan yang seharusnya ditolak kebijakan Anda. Pastikan
decision.allowed == Falsedan peristiwanya muncul. - Picu permintaan yang diizinkan. Pastikan
decision.allowed == Truedan ada baris auditallow.
Tindak lanjut umum
- "Saya ingin melindungi prompt dari PII" -> Cakupan DLP
- "Saya menggunakan LangChain / CrewAI / LangGraph" -> LangChain, CrewAI, LangGraph
- "Bagaimana cara menjalankan sepenuhnya offline?" -> Jalankan sepenuhnya offline
- "Bagaimana cara menskalakan ke seluruh tim saya?" -> Pendaftaran perangkat
Referensi
- Halaman titik penerapan: SDK Python
- Konsep: Kebijakan, Proyek
- API: Referensi API