Перейти к содержанию

Руководство разработчика

Руководство по интеграции приложений и ИИ-агентов с платформой AegisAI.

Способы интеграции

Способ Сложность Назначение
Python SDK ⭐ Низкая Основной способ для Python-агентов
REST API ⭐⭐ Средняя Любой язык программирования
Prompt Guard ⭐ Низкая Проверка промптов до LLM
Webhooks ⭐⭐ Средняя Внешние системы, push-события
Интеграции ⭐ Низкая LangChain, OpenAI (готовые адаптеры)

Быстрый старт (SDK)

import asyncio
from aegisai.sdk import AegisAIClient

async def main():
    async with AegisAIClient(
        api_key="your-api-key",
        base_url="http://localhost:8000",
        agent_name="My Agent",
    ) as client:
        # 1. Регистрация
        reg = await client.register()
        print(f"Registered: {reg.id}")

        # 2. Prompt Guard
        if not await client.guard.is_safe("User message…"):
            print("Prompt blocked")
            return

        # 3. Проверка политики
        decision = await client.check_policy("read_data", "customer_db")
        if not decision.allowed:
            print(f"Denied: {decision.reason}")
            return

        # 4. Наблюдение за действием
        async with client.observe("analyze_data", "sales_db") as ctx:
            ctx.add_reasoning("Загрузка данных")
            ctx.add_reasoning("Анализ трендов")
            # ctx автоматически логирует в аудит

asyncio.run(main())

Аутентификация

API-ключ (для агентов)

X-API-Key: aegis_your_tenant_key_here

JWT (для пользователей панели)

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

Webhook-подпись

X-Webhook-Signature: sha256=abc123...
X-API-Key: aegis_your_tenant_key_here

Архитектура интеграции

sequenceDiagram
    participant App as Ваше приложение
    participant SDK as AegisAI SDK
    participant API as FastAPI
    participant OPA as OPA

    App->>SDK: register()
    SDK->>API: POST /agents/register
    API-->>SDK: agent_id

    App->>SDK: check_policy(action, resource)
    SDK->>API: POST /policies/check
    API->>OPA: Evaluate Rego
    OPA-->>API: decision
    API-->>SDK: allowed, risk_score

    App->>SDK: observe(action, resource)
    SDK->>API: POST /audit/log
    API-->>SDK: audit_id

Примеры в репозитории

Файл Описание
examples/simple_agent.py Базовый агент с SDK
examples/langchain_agent.py LangChain + middleware
examples/openai_agent.py OpenAI + callback
examples/webhook_agent.py Webhook-интеграция
# Запуск примера
export AEGISAI_API_KEY=aegis_acme_demo_seed_key_001
poetry run python examples/simple_agent.py

WebSocket (real-time)

Для получения событий в реальном времени:

const ws = new WebSocket(
  `ws://localhost:8000/api/v1/ws?token=${jwtToken}`
);

ws.onmessage = (event) => {
  const { type, data } = JSON.parse(event.data);
  console.log(type, data);
};

События: system.status, audit.new, anomaly.detected, hitl.pending.

Обработка ошибок

from aegisai.sdk.exceptions import APIError, AgentNotRegisteredError

try:
    await client.log_action("test", "resource")
except AgentNotRegisteredError:
    await client.register()
except APIError as e:
    print(f"API error {e.status_code}: {e}")

Разделы