
«У большинства команд лучшие обучающие данные просто лежат в их базах данных. Проблема в том, что превратить сырые данные в что-то полезное — сложно, а позволить агентам дёшево читать, искать и изменять данные в масштабе требует продвинутой инфраструктуры. Если направить Castform на Neon, обе проблемы решаются сразу».
Ин Хан Сеа, сооснователь Castform
Хороший агент должен быть силён в двух областях:
- Контекст: есть ли инструменты, чтобы найти нужные данные?
- Модель: способна ли она решить, что искать?
Neon (Lakebase Postgres) с новым расширением Search решает первую задачу; Castform — вторую.
Эволюция агентного поиска
Около 2022 года индустрия массово переходила на поиск по эмбеддингам. Каждый провайдер баз данных добавил такую функцию, а pgvector стал самым скачиваемым расширением Neon. Чтобы дать LLM контекст, инженеры вручную собирали RAG-пайплайны, которые по сути сводились к поиску по схожести эмбеддингов.
Примерно с 2025 года агенты стали набирать популярность. Разработчики начали строить многошаговые поисковые workflow, разбивая крупные задачи на более мелкие. Поиск сместился от одношаговых систем к агентному retrieval: вместо одного запроса модель планирует и ищет несколько раз в цикле. Каждая итерация цикла означала новый вызов топовой модели, что увеличивало стоимость и задержку на каждый пользовательский запрос.

Типичный многошаговый поисковый запрос с gpt-5.6-sol занимает более 10 секунд и стоит около $0,03 целиком — это неоправданно медленно и дорого.
При этом небольшие открытые модели в 100 раз дешевле. Но «из коробки» их возможности отстают от закрытых API-моделей. RL-постобучение помогает сократить этот разрыв. На конкретных задачах, таких как поиск, дообученные открытые модели способны сравняться и превзойти топовые модели, при этом стоимость запроса — на порядки ниже.
Именно поэтому был создан Castform: чтобы разработчики могли RL-дообучать модели без погружения в внутренности machine learning и работу с GPU. Цель — сделать постобучение таким же доступным, как и prompt engineering.
Как Castform использует Neon?
Пайплайн Castform работает с Neon через Lakebase Search:
| Этап | Neon + Lakebase Search |
|---|---|
| Хранение корпуса | Исходные документы хранятся в Postgres на Neon |
| Генерация синтетических данных | Пайплайн обучения Castform использует lakebase_text и lakebase_vector для формирования обучающих задач |
| RL-обучение | Каждый вызов поискового инструмента в rollout использует Lakebase Search на Neon |
| Инференс в продакшене | Готовая модель использует тот же вызов поискового инструмента при инференсе |
Лучшие обучающие данные уже существуют
Для эффективного RL-постобучения нужны три компонента: задача (например, ответить на вопрос пользователя), среда для работы агента (например, поисковый инструмент по корпусу) и функция награды (например, правильный ли ответ).
Когда все три компонента на месте, RL-постобучение превращается в цикл проб и ошибок: модель пытается решить задачу с доступными инструментами, функция награды оценивает попытку, а сигнал обратной связи ведёт модель к оптимальному результату.
Тем не менее у большинства компаний нет готового чистого набора задач и функций награды для постобучения.
При этом у предприятий есть большой массив собственных данных:
- внутренняя документация
- записи о продуктах
- статьи поддержки
- переписка с клиентами
- вики
- операционные базы данных
В этих данных содержатся знания, необходимые агенту, но превращение их в эффективный обучающий датасет обычно требует серьёзной работы по обработке данных и ручной разметке.
Из-за этого многие команды отказываются от постобучения по одной из двух причин:
- «У нас нет обучающих данных».
- «Fine-tuning слишком сложен и требует инфраструктуры, которой у нас нет».
Castform решает обе проблемы. Инструмент превращает существующий корпус в обучающие задачи, а затем управляет RL-циклом, который учит открытую модель эффективно работать с этими данными.
Использование Castform
С помощью Castform корпоративную базу знаний можно превратить в модель:
- Документ (из ваших данных): Поездки на поезде, забронированные через Navan, оплачиваются корпоративной картой GitLab для travel. Билеты должны быть в стандартном классе с бронированием минимум за 14 дней.
- Эталонный ответ (выведен из данных): Поездки на поезде должны быть в стандартном классе с бронированием минимум за 14 дней.
- Вопрос (сгенерирован синтетически): При бронировании поездки на поезде в Navan — за сколько дней нужно бронировать билет и какой класс места ожидается выбрать?
Имея сгенерированный датасет вопросов-ответов, Castform позволяет выстроить обучающий запуск, указав инструменты, доступные агенту, и функцию награды.
Функция награды определяет, в чём именно должна стать хороша модель. В данном случае цель — извлекать правильные фрагменты, ссылаться на верные источники и давать корректный итоговый ответ.
def run_tool(tool, tool_args):
"""Single tool: hybrid search over Lakebase."""
if tool == "search":
query = tool_args["query"]
bm25 = neon.lakebase_text(query, k)
vector = neon.lakebase_vector(query, k)
return rrf_merge(bm25, vector, k)
def reward(trace, ground_truth):
"""Grade a trace against the ground-truth answer."""
answer = parse_trace(trace)
retrieval = ... # did it retrieve the right source
citation = ... # did it cite the right chunk
correctness = ... # did it land on the right answer
return retrieval + citation + correctnessПодробный пример кода доступен здесь.
Наблюдаемость: как модель учится
Castform обеспечивает полную наблюдаемость за RL-обучением. Можно следить за ростом награды на каждом шаге, но что важнее — можно углубиться в отдельные задачи и промпты, чтобы качественно оценить, как модель справляется, и выявить проблемы вроде сломанных инструментов или reward hacking.
Подробнее о мониторинге обучающих запусков — в блоге Castform. Также доступен пример обучающего запуска.

Почему Neon «просто работает»
Во время обучения агент многократно вызывает Lakebase Search, пока не наберёт достаточно контекста для ответа. При тысячах параллельных rollout, каждый из которых может делать десятки вызовов, нагрузка получается крайне неравномерной, с всплесками.

Динамическое масштабирование вычислений Neon поглощает эти пики без необходимости для Castform держать максимальную мощность круглосуточно. Обучающие запуски получают поиск с низкой задержкой в моменты всплеска спроса, а вычислительные ресурсы уменьшаются в периоды простоя.
Эта инфраструктура становится ещё более ценной, когда агенты выходят за рамки поиска и начинают изменять данные. Обучение агентов с состоянием требует изолированных сред, которые можно дёшево создавать и сбрасывать, не давая действиям одного rollout влиять на другой или затрагивать продакшен.
Ветвление Neon позволяет выделить каждому rollout изолированное состояние базы данных, а запросы time-travel дают возможность восстановить и изучить состояние, с которым столкнулся агент. В сочетании с автомасштабированием и scale-to-zero это открывает путь к обучению тысяч агентов с состоянием без необходимости поддерживать тысячи постоянно работающих сред.
Castform даёт любому разработчику возможность дообучать открытые модели, делая их дешевле, быстрее и лучше топовых. Дообучить первую модель можно уже сегодня на castform.com.