Forwarded from Machinelearning
Теперь у всех есть пример, как сделать продакшн-агентов с маршрутизацией, безопасностью и интерфейсом — от запроса до ответа.
Что это такое:
• Многоагентная система для поддержки клиентов (например: бронирование мест, отмена рейса, статус рейса, FAQ)
• Демка написана на Python + Next.js
• Использует OpenAI Agents SDK
• Встроены guardrails: защита от неуместных запросов и попыток обхода правил
• UI: внутри готовый интерфейс чат-бота
Как работает:
1. Пользователь пишет запрос
2. Система выбирает подходящего агента (например, `SeatBooking`)
3. Агент отвечает или передаёт диалог другому
4. Есть fallback на человека, если нужно
Как запустить:
# Backend
cd python-backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn api:app --reload --port 8000
# Frontend
cd ui
npm install
npm run dev
Далее открываем:
https://localhost:3000
Особенности
• MIT-лицензия — можно адаптировать под свои задачи
• Удобно расширять: добавлять новых агентов, инструменты, правила
• Простой код, всё задокументировано
• Рабочий кейс от OpenAI
🔗 GitHub: github.com/openai/openai-cs-agents-demo
Если вы хотите собрать систему из агентов — это отличная точка старта.
@ai_machinelearning_big_data
#chatgpt #openai #aiagents #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠 Сложная и интересная задача для Python-инженеров:
"Запусти чужой Python-код... но так, чтобы он не сломал твой сервер"
Представь, ты разрабатываешь платформу, где пользователи могут запускать произвольные Python-скрипты:
например, в формате онлайн-компилятора, песочницы для тестов, или генератора графиков.
📌 Условия задачи:
Ты должен написать систему, которая:
• Принимает произвольный Python-код от пользователя
• Выполняет его безопасно и изолированно
• Ограничивает время выполнения до 2 секунд
• Ограничивает память до 128 MB
• Блокирует доступ к файловой системе, сети, subprocess, fork
• Возвращает
🛡️ Безопасность — ключ:
• Скрипт может попытаться сделать
• Ваша система не должна пострадать. Даже если кто-то пошлёт fork-бомбу или запросит весь RAM.
📦 Технические ограничения:
• Решение должно быть на Python
• Можно использовать Docker, podman, или Firecracker — но обоснуй выбор
• Стандартная библиотека разрешена, но доступ к
• Никаких внешних HTTP-запросов, файловых сокетов или pip install
🔧 Что ожидается:
1. Функция запуска:
Изоляция среды:
• Вариант 1: через запуск контейнера с ограничениями (docker run --rm --net=none --memory=128m)
• Вариант 2: через Firejail / chroot / seccomp / AppArmor профили
• Вариант 3: через интерпретатор Python внутри subprocess с ограничениями через resource, signal, ast и multiprocessing.Process
Блокировка опасных импортов и функций:
• Запретить import os, import subprocess, import, eval, exec, open, globals()
• Пример: AST-парсер удаляет запрещённые ноды до запуска
Обработка ошибок и ограничений:
• TimeoutExceededError — если код работает > 2 сек
• MemoryLimitError — если процесс превысил лимит
• SecurityViolation — при попытке запрещённого импорта или доступа
Опционально — FastAPI API:
→ Ответ:
🎯 Цель:
Собрать систему, которая запускает потенциально опасный код от незнакомцев — и не падает, не зависает, не открывает доступ к хосту.
🤯 Challenge:
• Как отследить попытку from os import system?
• Что делать с __import__('os').system('ls')?
• Как гарантировать остановку при while True: pass?
• Как контролировать память на уровне Python?
✅ Если решишь — ты разберёшься с:
• AST-парсингом и безопасностью исполнения Python
• Управлением ресурсами (CPU, RAM, время) на уровне ОС
• Изоляцией через контейнеры и sandbox-окружения
• Построением безопасных API и интерпретаторов
"Запусти чужой Python-код... но так, чтобы он не сломал твой сервер"
Представь, ты разрабатываешь платформу, где пользователи могут запускать произвольные Python-скрипты:
например, в формате онлайн-компилятора, песочницы для тестов, или генератора графиков.
📌 Условия задачи:
Ты должен написать систему, которая:
• Принимает произвольный Python-код от пользователя
• Выполняет его безопасно и изолированно
• Ограничивает время выполнения до 2 секунд
• Ограничивает память до 128 MB
• Блокирует доступ к файловой системе, сети, subprocess, fork
• Возвращает
stdout
, stderr
и статус выполнения🛡️ Безопасность — ключ:
• Скрипт может попытаться сделать
os.remove('/')
, import socket
, while True:
и т.п. • Ваша система не должна пострадать. Даже если кто-то пошлёт fork-бомбу или запросит весь RAM.
📦 Технические ограничения:
• Решение должно быть на Python
• Можно использовать Docker, podman, или Firecracker — но обоснуй выбор
• Стандартная библиотека разрешена, но доступ к
os
, sys.modules
, inspect
, eval
, __import__
— должен быть отключён или переопределён • Никаких внешних HTTP-запросов, файловых сокетов или pip install
🔧 Что ожидается:
1. Функция запуска:
result = run_code_safely(code="print(2 + 2)")
# result = { "stdout": "4\n", "stderr": "", "exit_code": 0, "status": "ok" }
Изоляция среды:
• Вариант 1: через запуск контейнера с ограничениями (docker run --rm --net=none --memory=128m)
• Вариант 2: через Firejail / chroot / seccomp / AppArmor профили
• Вариант 3: через интерпретатор Python внутри subprocess с ограничениями через resource, signal, ast и multiprocessing.Process
Блокировка опасных импортов и функций:
• Запретить import os, import subprocess, import, eval, exec, open, globals()
• Пример: AST-парсер удаляет запрещённые ноды до запуска
Обработка ошибок и ограничений:
• TimeoutExceededError — если код работает > 2 сек
• MemoryLimitError — если процесс превысил лимит
• SecurityViolation — при попытке запрещённого импорта или доступа
Опционально — FastAPI API:
POST /run
{
"code": "for i in range(10): print(i)"
}
→ Ответ:
{
"stdout": "0\n1\n2\n...\n",
"stderr": "",
"status": "ok",
"time": 0.032
}
🎯 Цель:
Собрать систему, которая запускает потенциально опасный код от незнакомцев — и не падает, не зависает, не открывает доступ к хосту.
🤯 Challenge:
• Как отследить попытку from os import system?
• Что делать с __import__('os').system('ls')?
• Как гарантировать остановку при while True: pass?
• Как контролировать память на уровне Python?
✅ Если решишь — ты разберёшься с:
• AST-парсингом и безопасностью исполнения Python
• Управлением ресурсами (CPU, RAM, время) на уровне ОС
• Изоляцией через контейнеры и sandbox-окружения
• Построением безопасных API и интерпретаторов
🧬 Genesys: Language Modeling by Language Models
Проект от Allen Institute — Genesys (Genetic Discovery System) — это распределённая эволюционная система, в которой сами языковые модели (LLM) создают и улучшают другие языковые модели.
🛠 Что делает Genesys:
• Автоматизирует весь цикл: от генерации идеи до реализации, проверки, обучения и оценки новых моделей
• Использует LLM-агентов в роли исследователей и архитекторов
• Работает как распределённая система, способная параллельно развивать десятки направлений
• Имеет визуальный интерфейс, где можно наблюдать за эволюцией моделей и сравнивать результаты
🌐 Демо-доступ:
Доступен онлайн на сайте genesys.allen.ai (первая сборка может загружаться медленно)
📊 Основные разделы интерфейса:
• Evolution Statistics — статистика и ход эволюции
• Design Viewer — галерея сгенерированных архитектур (можно скачивать)
• Design Leaderboard — лидерборд лучших дизайнов по метрикам
🎥 Есть короткое видео-демо, где показаны функции и логика системы
📄 Исходный код и исследовательская статья опубликованы на GitHub и в открытом доступе
🧠 Genesys — это шаг к будущему, где языковые модели смогут исследовать и разрабатывать сами себя
💻 Попробовать: https://genesys.allen.ai
📝 Код https://github.com/allenai/genesys
✍️ Статья: https://arxiv.org/abs/2506.20249
Проект от Allen Institute — Genesys (Genetic Discovery System) — это распределённая эволюционная система, в которой сами языковые модели (LLM) создают и улучшают другие языковые модели.
🛠 Что делает Genesys:
• Автоматизирует весь цикл: от генерации идеи до реализации, проверки, обучения и оценки новых моделей
• Использует LLM-агентов в роли исследователей и архитекторов
• Работает как распределённая система, способная параллельно развивать десятки направлений
• Имеет визуальный интерфейс, где можно наблюдать за эволюцией моделей и сравнивать результаты
🌐 Демо-доступ:
Доступен онлайн на сайте genesys.allen.ai (первая сборка может загружаться медленно)
📊 Основные разделы интерфейса:
• Evolution Statistics — статистика и ход эволюции
• Design Viewer — галерея сгенерированных архитектур (можно скачивать)
• Design Leaderboard — лидерборд лучших дизайнов по метрикам
🎥 Есть короткое видео-демо, где показаны функции и логика системы
📄 Исходный код и исследовательская статья опубликованы на GitHub и в открытом доступе
🧠 Genesys — это шаг к будущему, где языковые модели смогут исследовать и разрабатывать сами себя
💻 Попробовать: https://genesys.allen.ai
📝 Код https://github.com/allenai/genesys
✍️ Статья: https://arxiv.org/abs/2506.20249