Если вы ищете исходный код для ИИ, обычно вам нужно одно из трёх: код модели и веса, open-source агент программирования, который может планировать и использовать инструменты, или прикладной стек, который позволяет модели читать файлы, выполнять команды и возвращать проверяемый результат. Эти слои связаны, но это не один и тот же продукт. Самый быстрый способ разобраться в этой области — разделить модель, цикл агента и среду выполнения (песочницу), которая исполняет работу.
Что обычно означает «исходный код для ИИ»
Эта фраза достаточно широкая: два человека могут использовать её, имея в виду совершенно разные вещи.
Иногда это означает исходники модели: обучающий код, код инференса, логику токенизатора и загружаемые веса для открытой модели. Иногда это агентное ПО: инструмент, который работает в терминале или браузере, читает репозиторий, планирует задачу, пишет код, запускает тесты и исправляет собственный вывод. Иногда это продуктовый каркас вокруг агента: API-вызовы, аутентификация, жизненный цикл песочницы, работа с файлами, логи, превью и этапы проверки.
Это различие важно, потому что команда, которая ищет открытую модель, не должна оценивать то же самое, что команда, ищущая open-source агента программирования.
Используйте этот быстрый фильтр:
| Если вам нужно… | Ищите… |
|---|---|
| Модель, которую можно запускать, дообучать или вызывать через API | Репозиторий модели, карточку модели, лицензию, лимиты контекста, поддержку вызова инструментов |
| Инструмент для программирования, который может действовать внутри проекта | Open-source агента программирования, CLI, десктоп-приложение или агентную платформу |
| Продакшен-уровень исполнения | Среду выполнения в песочнице, изоляцию рабочей области, политику пакетов, обработку секретов, логи и превью |
Где найти исходный код для ИИ-проектов
Для большинства рабочих процессов разработчика реальный ответ — «в нескольких репозиториях, а не в одном».
1. Репозитории моделей
Здесь вы найдёте архитектуру модели, документацию по использованию, чекпоинты или ссылки на них, условия лицензии и заметки о бенчмарках. Если ваша цель — локальный инференс, дообучение или изучение того, как модель упакована для задач программирования, начните здесь.
Например, в официальном репозитории Qwen Qwen3-Coder модель Qwen3-Coder-Next описана как модель с открытыми весами, созданная специально для кодинг-агентов и локальной разработки, с поддержкой длинного контекста и форматом вызова функций, ориентированным на агентные сценарии.
2. Репозитории агентов
Здесь вы найдёте цикл планировщика, подключение инструментов, терминальный UX, адаптеры провайдеров моделей, а иногда и браузерные или MCP-интеграции.
Три полезных примера:
- OpenHands позиционирует себя как открытая платформа для облачных кодинг-агентов и центр управления, который может запускать агентов локально, в Docker, на виртуальных машинах или через облачные бэкенды.
- Goose — это open-source агент с десктопным, CLI и API-интерфейсами, который работает на вашей машине и не ограничен задачами программирования.
- Qwen Code — это терминальный инструмент для программирования от Qwen, ориентированный на агентные сценарии разработки, а не на обычный чат.
Если ваш главный вопрос — «какого open-source агента программирования стоит изучить первым?», начните с репозиториев агентов, а не с весов моделей.
3. Документация по песочнице и среде выполнения
Это слой, который многие команды сначала пропускают, а затем возвращаются к нему, когда агент начинает выполнять реальную работу.
Документация Sandbox от Novita описывает среду выполнения как изолированное окружение с сохранением состояния для агентов, которым нужно запускать код, устанавливать зависимости, работать с файлами, использовать браузеры и сохранять состояние между сессиями. Это граница выполнения, а не просто удобная обёртка. Как только агент может выполнять команды, среда выполнения важна не меньше, чем модель.
Что отличает open-source агента программирования
Open-source агент программирования — это не просто языковая модель с шаблоном промпта. Он становится агентом, когда может наблюдать за рабочей областью, выбирать следующее действие, выполнять его через инструменты, читать результат и продолжать итерации.
Этот цикл обычно требует четырёх частей:
| Слой | Задача |
|---|---|
| Планировщик | Разбить задачу на шаги и определить, когда задача выполнена |
| Модель | Рассуждать над файлами, выводом команд и предыдущими вызовами инструментов |
| Слой инструментов | Читать файлы, записывать файлы, искать, выполнять команды, открывать превью |
| Песочница | Изолировать выполнение, сохранять состояние рабочей области и сдерживать побочные эффекты |
Без песочницы «open-source агент программирования» часто превращается в «модель с опасным доступом к шеллу».
Именно здесь стек начинает больше походить на инженерную инфраструктуру, чем на чат-функцию. Как только модель может устанавливать пакеты, открывать порты и перезаписывать файлы, нужно ответить на операционные вопросы:
- С какого состояния репозитория начинает агент?
- Какие команды выполняются автоматически, а какие требуют одобрения?
- Может ли агент загружать пакеты или просматривать произвольные URL?
- Куда попадают логи, диффы, превью и сгенерированные артефакты?
- Как приостановить, возобновить или завершить сессию?
Эти вопросы определяют, является ли проект демо или рабочим процессом, которому ваша команда может доверять.
Практическая архитектура кодинг-агента
Самый понятный способ думать об исходном коде для ИИ-агентов — как о цепочке:
- Пользователь описывает задачу.
- Модель превращает задачу в план.
- Агент вызывает инструменты для изучения кодовой базы.
- Среда выполнения исполняет эти вызовы в изолированной рабочей области.
- Модель читает результаты и решает, что делать дальше.
- Система возвращает дифф, вывод тестов и сводку, которую проверяющий может верифицировать.
Эта цепочка важнее любого отдельного числа из бенчмарка. Модель может отлично генерировать код за один проход и всё равно не состояться как агент, если у неё проблемы с вызовом инструментов, длинным контекстом или восстановлением после ошибок.
Прежде чем переходить к циклу планирования, стоит обратить внимание на одно направление моделей, которое хорошо ложится в этот стек. Если вам нужна открытая модель, близкая по качеству к закрытым моделям для программирования, Qwen3-Coder — один из самых практичных вариантов для первой оценки. В официальном репозитории Qwen3-Coder-Next описан как модель с открытыми весами для кодинг-агентов и локальной разработки, с результатами, сравнимыми с Claude Sonnet на агентных задачах программирования. Текущий каталог моделей Novita также предоставляет Qwen3 Coder Next, Qwen3 Coder 480B A35B Instruct и Qwen3 Coder 30B A3B Instruct через LLM API, что упрощает тестирование одного семейства на разных уровнях стоимости и качества без переделки интеграции.
Как собрать стек с Novita
Если вы хотите практическую отправную точку вместо сборки из разрозненных провайдеров, полезное разделение такое:
- Novita LLM API — для моделей рассуждения, генерации и вызова инструментов
- Novita Sandbox — для изолированного выполнения кода и постоянного состояния рабочей области
LLM API от Novita совместим с OpenAI, поэтому вы можете направить существующий OpenAI-клиент на Novita, изменив base URL и имя модели.
Шаг 1: вызовите модель через API, совместимый с OpenAI
from openai import OpenAI
client = OpenAI(
base_url="https://api.novita.ai/openai",
api_key="YOUR_NOVITA_API_KEY",
)
response = client.chat.completions.create(
model="qwen/qwen3-coder-next",
messages=[
{"role": "system", "content": "You are a coding assistant."},
{"role": "user", "content": "Plan the steps to add rate limiting to a FastAPI login route."},
],
)
print(response.choices[0].message.content)
Это даёт только слой модели. Он не даёт модели безопасное место для действий.
Шаг 2: запускайте код в песочнице, а не на своём ноутбуке
В текущем кратком руководстве по Sandbox от Novita используется объект SDK Novita, чтобы создать изолированную сессию интерпретатора кода, запустить код, просмотреть файлы и затем выключить песочницу после завершения задачи.
from novita_sandbox import Novita
novita = Novita()
sandbox = novita.code_interpreter.create()
try:
execution = sandbox.run_code('print("hello from the sandbox")')
print(execution.logs)
files = sandbox.files.list("/tmp")
print(files)
finally:
sandbox.kill()
Этот шаблон — самый простой надёжный отправной пункт для ИИ-рабочего процесса программирования:
- Модель решает, что должно произойти дальше.
- Песочница выполняет опасную часть в изолированной среде.
- Сессия может сохранять состояние на протяжении задачи, а не начинать с нуля на каждом шаге.
Шаг 3: свяжите решения модели с выполнением инструментов
Как только вы добавите вызов инструментов, цикл агента становится прямолинейным:
| Инструмент | Назначение |
|---|---|
read_file |
Загружать файлы проекта в контекст модели |
write_file |
Применять изменения кода |
search_files |
Находить символы, маршруты, тесты или записи конфигурации |
run_command |
Запускать тесты, сборки, линтеры и команды настройки |
list_files |
Изучать структуру репозитория |
Novita также документирует вызов функций и структурированные выходы для рабочих процессов с моделями, совместимыми с OpenAI. Это важно, потому что циклы агентов легко ломаются, когда аргументы инструментов некорректны или несогласованны. На практике надёжный вызов инструментов часто важнее эффектного одношагового бенчмарка.
Когда open source достаточно, а когда — нет
Open source обычно достаточно, когда:
- Вы хотите изучить, как работает модель или агент.
- Вы хотите самостоятельно разместить часть стека.
- Вам нужен контроль над промптами, инструментами и поведением среды выполнения.
- Вы готовы взять на себя операционную работу.
Open source обычно недостаточно, когда:
- Вам нужно стабильное многопользовательское выполнение с журналами аудита и процессами проверки.
- Вам нужна изоляция, достаточно надёжная для недоверенного кода.
- Вам нужны маршрутизация моделей, прозрачность цен или несколько уровней моделей за одним API.
- Вы хотите, чтобы агент сохранял состояние на длинных задачах, не создавая такую среду выполнения самостоятельно.
В этот момент команды перестают абстрактно искать «исходный код для ИИ» и начинают спрашивать, какие части они на самом деле хотят контролировать. Одни команды хотят полного контроля. Другие — открытых моделей и open-source инструментов, но без необходимости самостоятельно запускать каждый компонент среды выполнения.
Заключение
Лучший подход к исходному коду для ИИ — перестать воспринимать его как единый артефакт. Репозитории моделей, open-source агенты программирования и среды выполнения в песочницах решают разные задачи. Если смешать их вместе, оценка быстро замутняется.
Начните с того слоя, который вам действительно нужен:
- Хотите локальный или самоуправляемый контроль над моделью? Начните с репозиториев открытых моделей.
- Хотите open-source агента программирования? Начните с OpenHands, Goose или Qwen Code.
- Хотите рабочий стек для программирования, который умеет планировать, действовать и безопасно выполнять? Свяжите совместимый с OpenAI API модели с изолированной средой в песочнице.
Именно поэтому сочетание открытой модели для программирования и управляемой границы выполнения часто оказывается самым практичным путём. Вы сохраняете гибкость на уровне модели, не предоставляя модели прямой доступ к шеллу на вашей основной машине.
Часто задаваемые вопросы
Где можно найти исходный код для ИИ?
Обычно в трёх местах: в репозиториях моделей, репозиториях агентов и документации по песочницам или средам выполнения. Если вам нужен open-source агент программирования, начните с агентных проектов, таких как OpenHands, Goose или Qwen Code, а не с общих репозиториев моделей.
Что такое open-source агент программирования?
Это агент, который может просматривать файлы, планировать задачу, использовать инструменты, выполнять команды и исправлять свой результат внутри проекта. Важное отличие от ассистента программирования — действие, а не просто генерация.
Достаточно ли исходного кода модели для создания ИИ-агента программирования?
Нет. Модель сама по себе не даёт доступа к репозиторию, подключения инструментов, контроля выполнения, логов, превью или изоляции. Вам всё ещё нужны цикл агента и среда выполнения, в которой действия модели могут безопасно исполняться.
Какую модель стоит протестировать первой для открытых сценариев программирования?
Если вам нужна открытая модель, созданная специально для кодинг-агентов, Qwen3-Coder — отличная отправная точка. Текущий репозиторий Qwen3-Coder делает акцент на агентном программировании и поддержке длинного контекста, а Novita предоставляет несколько вариантов Qwen3-Coder через один и тот же API.
Зачем кодинг-агентам песочница?
Потому что они выполняют команды, устанавливают зависимости и изменяют файлы. Песочница даёт агенту изолированную среду выполнения, сохраняет состояние задачи и ограничивает радиус поражения, когда модель делает что-то не так.
