# Как увеличить контекст Ollama для локального агента и проверить результат

Источник: https://modelium.tech/zhurnal/ollama-kontekst-dlya-agenta/

Чтобы увеличить контекст Ollama для локального агента, задайте `num_ctx` в сессии или запросе либо настройте `OLLAMA_CONTEXT_LENGTH` для своего сервера. Затем выполните запрос и посмотрите столбцы `CONTEXT` и `PROCESSOR` команды `ollama ps`: первое показывает выделенное окно, второе — размещение на CPU/GPU. Размер окна не гарантирует, что агент использует всю историю без обрезки, а слишком большой контекст увеличивает потребность в памяти.

**Источники сверены 25 сентября 2026 года.** Git-документы Ollama закреплены на commit `7af39318`; библиотека тегов снята в тот же день. Команды — пример по документации: Modelium не запускал модель и не измерял RAM, VRAM, скорость или качество ответа. Поисковая подсказка подтверждает формулировку, не частотность запроса.

## Когда агенту нужно больше контекста?

Контекст — число токенов, доступных модели при генерации ответа; в агентном диалоге там могут находиться инструкции, история, результаты инструментов и текущая задача [s1](#src-s1)[s7](#src-s7). Если история выходит за выделенное окно, одного обещанного размера из карточки модели недостаточно: клиент может ещё и сокращать историю до отправки на сервер. Разделите три вопроса: сколько модель допускает, сколько Ollama **выделила при загрузке** и сколько сообщений клиент действительно послал в запросе [s1](#src-s1)[s3](#src-s3).

Разработчик Ollama рекомендует для агентных и coding-задач окно от 64 тысяч токенов, но это **совет разработчика**, не гарантированное требование каждого агента: длинное окно расходует больше памяти [s1](#src-s1). Начните с короткого контрольного диалога и явного значения 8192, затем увеличивайте постепенно только если ваш выбранный тег, память и задача это допускают. Не называйте файл весов объёмом требуемой VRAM: к весам добавляются runtime и буферы контекста; фактическое размещение проверяют отдельно [s1](#src-s1)[s2](#src-s2).

В закреплённой ревизии официальные страницы расходятся: `context-length` описывает значения по умолчанию в зависимости от VRAM, а FAQ называет 4096 токенов. Ни одно из них не стоит объявлять универсальным default для вашей версии и устройства: смотрите `CONTEXT` у загруженной модели и передавайте `num_ctx` явно [s1](#src-s1)[s2](#src-s2).

## Что подготовить до изменения настройки?

Нужны запущенный **локальный**, а не облачный сервер Ollama и точный установленный тег. Для небольшого учебного примера библиотека Ollama показывает `qwen3:0.6b`; это только подтверждённое имя тега, не обещание достаточного качества agent/tool calling или работы с 64 тысячами токенов [s8](#src-s8). Если тега ещё нет, по инструкции установки сначала получите его через `ollama pull qwen3:0.6b`; команда скачивает веса, поэтому проверьте объём и условия в собственной среде до запуска. Используйте вместо него свою модель, если тест делается на рабочем стеке.

Проверьте список локальных моделей через `ollama list`, а для выбранной — `ollama show --modelfile qwen3:0.6b`; справка CLI и Modelfile описывают эти команды [s5](#src-s5)[s4](#src-s4). `POST /api/show` выдаёт параметры и сведения о модели, включая model info; запись о максимальном окне модели не равна фактическому выделению памяти для текущего сеанса [s3](#src-s3)[s1](#src-s1). Зафиксируйте ОС, версию Ollama, точный тег, RAM/VRAM, другие загруженные модели и тестовую задачу. Не отправляйте настоящие секреты в историю агента.

## Как увеличить окно в CLI и проверить его?

В интерактивном `ollama run qwen3:0.6b` выполните команду `/set parameter num_ctx 8192`, затем задайте короткий безличный вопрос. Команду изменения параметра `num_ctx` документирует FAQ; она относится к этой интерактивной сессии, а не к настройкам чужого агентного клиента [s2](#src-s2). Пока модель загружена, в другом терминале выполните:

ollama ps

Проверьте **оба** столбца: `CONTEXT` — выделенное окно в токенах, `PROCESSOR` — GPU, CPU или смешанное размещение. Это показывает состояние загруженной модели, а не число токенов, фактически использованных клиентом, и не подтверждает качество ответа [s1](#src-s1)[s2](#src-s2). Если модель быстро выгружается, повторите запрос непосредственно перед проверкой; `ollama ps` показывает только загруженные модели [s2](#src-s2)[s5](#src-s5).

## Как задать `num_ctx` через native API для клиента-агента?

Когда клиент вызывает **native** `POST /api/chat`, он может передавать `options.num_ctx` непосредственно в запросе; API также принимает список сообщений `messages` и описание инструментов `tools` для агентного сценария [s3](#src-s3)[s7](#src-s7). Для проверки окна без инструментов выполните запрос к локальному серверу:

curl -sS http://127.0.0.1:11434/api/chat \  -H 'Content-Type: application/json' \  -d '{"model":"qwen3:0.6b","messages":[{"role":"user","content":"Назови два числа: 2 и 3."}],"options":{"num_ctx":8192},"stream":false}'ollama ps

Ожидайте JSON с ответом и, **пока модель загружена**, строку именно для `qwen3:0.6b` с колонкой `CONTEXT`; сравните её с выбранными 8192 [s1](#src-s1)[s3](#src-s3). Если `CONTEXT` иной, не утверждайте, что настройка применена: уточните тег, версию, адрес сервера, параллельные запросы, настройки клиента и наличие ошибки в ответе API. Для машинной проверки `GET /api/ps` возвращает у загруженных моделей `context_length` и `size_vram`; последнее — поле работающего процесса, а не аппаратный минимум [s3](#src-s3). `num_ctx` сам по себе не заставит приложение хранить все предыдущие сообщения: убедитесь, что ваш клиент действительно включает нужную историю в `messages` [s3](#src-s3).

Если ваш клиент использует **OpenAI-совместимый** `/v1/chat/completions`, не переносите туда без проверки поле native API `options.num_ctx`: официальная инструкция для совместимого endpoint предлагает создать новый тег с параметром контекста в Modelfile и обращаться к нему по новому имени [s6](#src-s6).

## Когда использовать настройку сервера или Modelfile?

Для самостоятельно запущенного сервера Ollama документирует пример `OLLAMA_CONTEXT_LENGTH=64000 ollama serve` [s1](#src-s1). **Не поднимайте второй **`**ollama serve**`** поверх установленного сервиса**: на Linux с systemd переменную задают в override `ollama.service`, затем делают `daemon-reload` и restart; на macOS-приложении и Windows процедура иная [s2](#src-s2). После изменения снова посмотрите `ollama ps` на реально запущенной модели: переменная в вашей оболочке не означает, что её получил действующий сервис.

Если нужно отдельное, явно названное поведение для клиента с OpenAI-совместимым API, Modelfile содержит `FROM qwen3:0.6b` и `PARAMETER num_ctx 8192`. Сохраните его как `Modelfile`, создайте новый тег через `ollama create agent-context-8k -f Modelfile` и обращайтесь к **нему**, а не к исходному тегу [s4](#src-s4)[s6](#src-s6). Сначала убедитесь, что у исходной модели поддерживается нужный размер окна и что полученный ответ пригоден для вашей задачи. Изменение имени не доказывает, что длинный контекст действительно помещается в память.

## Как проверить результат и что делать при нехватке памяти?

- Снимите `ollama ps` **после** запроса: сохраните `NAME`, `CONTEXT`, `PROCESSOR`, версию Ollama, тег, ОС и занятость RAM/VRAM своим системным монитором [s1](#src-s1)[s2](#src-s2). Сопоставьте выделенное окно с тем, что клиент передал в запросе; если есть tool calling, отдельно проверьте получение `tool_calls` и возврат результата инструмента — окно не гарантирует правильный вызов [s7](#src-s7).

- Повторите на короткой и длинной **обезличенной** истории, содержащей известный факт в начале, и зафиксируйте, пришёл ли он в `messages` и был ли верно использован. Это ваш тест функциональности, не обещанный benchmark модели. Если клиент сам обрезал историю, увеличение настройки Ollama не исправит его политику.

- Если вместо ожидаемого GPU видите `100% CPU` либо смешанный режим, снизьте `num_ctx`, уберите ненужные параллельные запросы, выгрузите лишние модели или выберите вариант поменьше. По документации Ollama при параллельной обработке потребность в памяти растёт вместе с числом одновременных запросов и длиной контекста; `OLLAMA_NUM_PARALLEL` проверяйте на вашем сервисе [s2](#src-s2). Не покупайте GPU только по размеру файла весов или примеру с чужого компьютера.

Откат: верните прежнее значение `num_ctx` в CLI/клиенте или настройку сервиса; временный тег Modelfile удаляйте только после проверки, что агент к нему больше не обращается (`ollama rm agent-context-8k` документирован CLI) [s5](#src-s5). **Следующий шаг:** [подготовьте локальную Ollama и точный тег](/zapusk/ollama/), выполните контрольный запрос выше и сохраните реальный `CONTEXT`, `PROCESSOR` и ответ. Затем [соберите безопасный тестовый агент](/zhurnal/kak-sozdat-ii-agenta/) уже с измеренной конфигурацией.

## Источники

1. [Ollama — Context length](https://raw.githubusercontent.com/ollama/ollama/7af393188defd52d370464de0d2064649cab9b41/docs/context-length.mdx) — получено 2026-09-25
2. [Ollama — FAQ: context window, GPU, concurrency and service environment](https://raw.githubusercontent.com/ollama/ollama/7af393188defd52d370464de0d2064649cab9b41/docs/faq.mdx) — получено 2026-09-25
3. [Ollama — API reference: chat, ps and show](https://raw.githubusercontent.com/ollama/ollama/7af393188defd52d370464de0d2064649cab9b41/docs/api.md) — получено 2026-09-25
4. [Ollama — Modelfile reference](https://raw.githubusercontent.com/ollama/ollama/7af393188defd52d370464de0d2064649cab9b41/docs/modelfile.mdx) — получено 2026-09-25
5. [Ollama — CLI reference](https://raw.githubusercontent.com/ollama/ollama/7af393188defd52d370464de0d2064649cab9b41/docs/cli.mdx) — получено 2026-09-25
6. [Ollama — OpenAI compatibility and context size](https://raw.githubusercontent.com/ollama/ollama/7af393188defd52d370464de0d2064649cab9b41/docs/api/openai-compatibility.mdx) — получено 2026-09-25
7. [Ollama — Tool calling](https://raw.githubusercontent.com/ollama/ollama/7af393188defd52d370464de0d2064649cab9b41/docs/capabilities/tool-calling.mdx) — получено 2026-09-25
8. [Ollama library — Qwen3 tags](https://ollama.com/library/qwen3) — получено 2026-09-25
