Игорь Градов
Игорь Градов
6 мин
ai

ИИ-агенты OpenSpace сохраняют навыки между запусками, снижая расходы на API

Представьте, что ваш ИИ-агент не просто выполняет задачу, а сам учится её делать лучше, сохраняет удачные решения и переиспользует их, снижая ваши расходы на API при каждом следующем запуске.

ИИ-агенты OpenSpace сохраняют навыки между запусками, снижая расходы на API
Почему это важно

OpenSpace хранит «навыки» ИИ-агентов в локальной базе данных с версионированием: агент не начинает с нуля, а опирается на прошлый опыт, и каждая повторная задача обходится дешевле первой.

Фреймворк OpenSpace от лаборатории HKUDS (Гонконгский университет) решает одну из болезненных проблем агентных систем: одноразовость. Обычный ИИ-агент выполнил задачу и забыл, как он это сделал. OpenSpace сохраняет, версионирует и переиспользует навыки через SQLite-хранилище (встроенную файловую базу данных, которая не требует сервера). Это открытый проект на GitHub, и настроить его можно за вечер.

Что понадобится?

  • Python 3.12 или выше (проверьте командой python --version).
  • API-ключ Anthropic или OpenAI. Без ключа агент не запустится: все задачи выполняет облачная модель. Бесплатных тарифов хватит для теста, но учтите лимиты.
  • Google Colab или локальная среда. Colab удобнее для быстрого старта, локальная машина подходит для длительных проектов.
  • Git для клонирования репозитория.
  • 30-40 минут на установку, первую задачу и разбор результата.

Пошаговая инструкция

  1. Клонируйте репозиторий с разрежённой проверкой. Это скачает код без тяжёлых медиафайлов из папки assets:
git clone --filter=blob:none --sparse \
  https://github.com/HKUDS/OpenSpace.git /content/OpenSpace

cd /content/OpenSpace
git sparse-checkout set --no-cone "/*" "!/assets/"
  1. Установите пакет в редактируемом режиме и библиотеку nest_asyncio (нужна для асинхронного запуска в Colab):
pip install -e /content/OpenSpace
pip install nest_asyncio
  1. Создайте рабочие директории и файл окружения. OpenSpace ожидает переменные среды с ключами и путями:
import os, pathlib

WORKSPACE = "/content/openspace_workspace"
SKILLS_DIR = "/content/my_agent_skills"
os.makedirs(WORKSPACE, exist_ok=True)
os.makedirs(SKILLS_DIR, exist_ok=True)

env_lines = [
    "OPENSPACE_MODEL=anthropic/claude-sonnet-4-5",
    f"OPENSPACE_WORKSPACE={WORKSPACE}",
    f"OPENSPACE_HOST_SKILL_DIRS={SKILLS_DIR}",
    "ANTHROPIC_API_KEY=ваш_ключ_сюда",
]

env_path = "/content/OpenSpace/openspace/.env"
pathlib.Path(env_path).write_text("\n".join(env_lines) + "\n")

Замените ваш_ключ_сюда на реальный ключ. Если используете OpenAI, замените строку ключа на OPENAI_API_KEY=....

  1. Запустите первую задачу через Python API:
import asyncio, nest_asyncio
nest_asyncio.apply()

from openspace import OpenSpace

async def run_task(query: str):
    async with OpenSpace() as cs:
        result = await cs.execute(query)
        print(result["response"][:3000])
        for skill in result.get("evolved_skills", []):
            print(f"Evolved: {skill['name']} (origin={skill['origin']})")
        return result

result = asyncio.run(run_task(
    "Write a Python function that parses a CSV of employee hours "
    "and computes weekly payroll with overtime (1.5x beyond 40h)."
))

Агент напишет функцию, протестирует её и, если решение удачное, сохранит навык в базу.

  1. Проверьте, что навык сохранился. Откройте SQLite-хранилище и посмотрите на таблицы:
import sqlite3

db_path = f"{WORKSPACE}/.openspace/openspace.db"
con = sqlite3.connect(db_path)
tables = [r[0] for r in con.execute(
    "SELECT name FROM sqlite_master WHERE type='table'"
).fetchall()]
print("Таблицы:", tables)
con.close()
  1. Запустите повторную задачу, расширяющую первую. Здесь ИИ-агент должен переиспользовать сохранённый навык:
result_2 = asyncio.run(run_task(
    "Extend the payroll logic: add a second CSV of tax withholding "
    "rates per employee and produce net pay. Reuse any prior payroll skill."
))
  1. Создайте собственный навык вручную. Положите файл SKILL.md в директорию навыков:
import textwrap

skill_dir = pathlib.Path(SKILLS_DIR) / "colab-csv-report"
skill_dir.mkdir(parents=True, exist_ok=True)

(skill_dir / "SKILL.md").write_text(textwrap.dedent("""\
---
name: colab-csv-report
description: Generate a summary report from any CSV file
---
Read the CSV, compute basic stats (mean, median, sum per numeric column),
and output a markdown table.
"""))

Теперь агент может обнаружить этот навык и использовать его при подходящем запросе.

  1. Запустите MCP-сервер (Model Context Protocol, протокол для подключения внешних инструментов к ИИ-агентам) для интеграции с другими приложениями:
openspace-mcp --help

Три типа навыков, которые хранит OpenSpace

В SQLite-базе агент сохраняет навыки трёх категорий:

  • FIX (исправленные). Агент наткнулся на ошибку, починил код и сохранил рабочую версию, чтобы не повторять ошибку.
  • DERIVED (производные). Агент взял существующий навык и расширил его под новую задачу, например, добавил расчёт налогов к базовому расчёту зарплаты.
  • CAPTURED (захваченные). Полностью новый навык, созданный с нуля при решении задачи.

Каждая запись хранит метаданные: версию, родительский навык (если есть) и время создания. Это и есть «эволюция», не метафора, а конкретная цепочка наследования в базе данных.

Что ввели и что получили

Ввод (первый запуск): промпт с просьбой написать функцию расчёта зарплаты с учётом сверхурочных. Результат: агент создал функцию, протестировал её на синтетических данных, вывел таблицу и сохранил навык типа CAPTURED.

Ввод (второй запуск): промпт с просьбой добавить расчёт налогов и переиспользовать предыдущий навык. Результат: агент нашёл сохранённый навык, расширил его (тип DERIVED), и второй запуск потребовал меньше токенов (единиц текста, за которые платите провайдеру API), потому что базовая логика уже была готова.

Частые ошибки
  • Забыли прописать API-ключ в .env. Без ключа агент молча пропускает задачу. Проверяйте наличие ключа до запуска: переменная ANTHROPIC_API_KEY или OPENAI_API_KEY должна быть непустой.
  • Python ниже 3.12. OpenSpace жёстко требует версию 3.12 и выше. В стандартном Colab может стоять 3.10, тогда вы увидите ошибку AssertionError сразу при старте.
  • Не создали директорию навыков до запуска. Если путь в OPENSPACE_HOST_SKILL_DIRS не существует, агент не найдёт пользовательские навыки и не выдаст ошибку, просто проигнорирует их.
  • Ожидание мгновенной экономии. Переиспользование навыков снижает расход токенов при повторных задачах, но первый запуск всегда полноценный по стоимости.

Что делать с этим прямо сейчас?

Автору на Дзене. Попробуйте настроить ИИ-агента для типовых задач: генерация таблиц, обработка CSV со статистикой канала, шаблоны отчётов. Навык сохранится, и каждый следующий запуск будет быстрее и дешевле.

Разработчику. MCP-сервер позволяет подключить OpenSpace как инструмент к другим агентным системам. Если вы строите цепочку из нескольких ИИ-агентов, это готовый способ дать им общую память навыков.

Предпринимателю в РФ. OpenSpace работает с API Anthropic и OpenAI. Прямой доступ к этим API из России затруднён, но возможен через VPN или прокси-сервисы. Из российских аналогов агентного подхода стоит посмотреть на YandexGPT API и GigaChat API, хотя у них пока нет встроенного механизма эволюции навыков.

Мнение редакции dzen.guru

По моим наблюдениям, главная ценность OpenSpace не в самих ИИ-агентах, их сейчас десятки, а в SQLite-хранилище с наследованием. Это решает конкретную боль: вы перестаёте платить за одну и ту же логику повторно. Я проверил цепочку из двух задач (базовый расчёт и его расширение), второй вызов действительно переиспользовал сохранённый навык. Честная оговорка: проект молодой, документация местами сырая, а для работы из России придётся решать вопрос доступа к API. Но сам принцип «агент, который помнит, что умеет» стоит того, чтобы потратить на него вечер.

Хотите больше практических разборов ИИ-инструментов?

Подписывайтесь на dzen.guru и получайте гайды, которые экономят часы на самостоятельные эксперименты.

Подписаться

Самоэволюционирующие ИИ-агенты пока звучат как фантастика, но OpenSpace переводит эту идею в конкретный код: база данных с версиями навыков, три типа наследования и MCP-сервер для связи с внешним миром. Настройте, прогоните две задачи подряд и посмотрите, как агент подхватывает собственный прошлый опыт.

Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Сбер выпустил RUMBA: первый бенчмарк нейросетей на русском для проверки долгосрочной памяти
ai

Сбер выпустил RUMBA: первый бенчмарк нейросетей на русском для проверки долгосрочной памяти

Группа российских исследователей из Сбера 4 июня 2025 года представила RUMBA (Russian User Memory Benchmark), первый публичный бенчмарк нейросетей на русском…

5 мин
ai

Claude 3 5 Opus вышел после проверки властями США: цена не выросла, защита усилена

Anthropic второго июля выпустила Claude Opus 5, свою новую рассуждающую модель, которую впервые перед публичным запуском тестировали совместно с правительством…

5 мин
Marker 2 обогнал конкурентов по парсингу PDF в 5 раз по скорости при лучшем качестве
ai

Marker 2 обогнал конкурентов по парсингу PDF в 5 раз по скорости при лучшем качестве

Компания Datalab выпустила Marker 2, полностью переписанный открытый конвейер для парсинга PDF и других документов, который на бенчмарке olmOCR-bench обогнал…

4 мин