Руководство разработчика¶
Руководство по интеграции приложений и ИИ-агентов с платформой 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-ключ (для агентов)¶
JWT (для пользователей панели)¶
Webhook-подпись¶
Архитектура интеграции¶
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}")
Разделы¶
- Справочник API — все эндпоинты
- Python SDK — полное описание клиента
- Prompt Guard — защита от prompt injection
- Webhooks — push-события от агентов
- Интеграции — LangChain, OpenAI