Активируйте это умение, когда ученик хочет: - Запустить агента полностью на устройстве ради конфиденциальности, экономии или офлайн-режима. - Обслуживать модель локально с помощью Foundry Local и подключаться через OpenAI-совместимый эндпоинт. - Использовать модель с функциональным вызовом Qwen для надежных локальных вызовов инструментов. - Добавить локальный RAG (Chroma) или локальный MCP сервер.
Installs into .claude/skills of the current project.
Are you the author of Local Ai Agents Microsoft 24?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/thedixitjain-local-ai-agents-microsoft-24)
---
name: local-ai-agents
description: "Активируйте это умение, когда ученик хочет: - Запустить агента полностью на устройстве ради конфиденциальности, экономии или офлайн-режима. - Обслуживать модель локально с помощью Foundry Local и подключаться через OpenAI-совместимый эндпоинт. - Использовать модель с функциональным вызовом Qwen для надежных локальных вызовов инструментов. - Добавить локальный RAG (Chroma) или локальный MCP сервер."
category: ai-agents-and-harness
source_repo: microsoft/ai-agents-for-beginners
source_path: "translations/ru/.agents/skills/local-ai-agents/SKILL.md"
source_url: https://github.com/microsoft/ai-agents-for-beginners/blob/HEAD/translations/ru/.agents/skills/local-ai-agents/SKILL.md
---
# Создание локальных AI-агентов с Foundry Local и Qwen
> Сопроводительное умение для [Урока 17 – Создание локальных AI-агентов](../../../17-creating-local-ai-agents/README.md).
> Используйте его, чтобы помочь ученику построить агента, который самостоятельно рассуждает, вызывает инструменты и ищет
> документацию полностью на своей машине — без облачных вычислений. Основывайте каждое
> предложение на содержании урока и запускаемой тетради.
## Триггеры
Активируйте это умение, когда ученик хочет:
- Запустить агента **полностью на устройстве** ради конфиденциальности, экономии или офлайн-режима.
- Обслуживать модель локально с помощью **Foundry Local** и подключаться через OpenAI-совместимый эндпоинт.
- Использовать модель с **функциональным вызовом Qwen** для надежных локальных вызовов инструментов.
- Добавить **локальный RAG** (Chroma) или **локальный MCP сервер**.
- Разработать **гибридную** стратегию маршрутизации локально/в облаке.
## Основная ментальная модель
SLM жертвует охватом ради конфиденциальности, экономии и офлайн-работы. Победная
стратегия: **дать SLM управлять и позволить инструментам выполнять тяжелую работу.** Модели
не нужно *знать* кодовую базу — ей нужно знать, когда вызывать
`read_file` и `search_docs`. Это играет на сильных сторонах SLM (ограниченные решения,
такие как выбор инструмента) и избегает слабостей (широкие знания, длинные многошаговые
рассуждения).
## Почему именно эти компоненты
- **Foundry Local** предоставляет **OpenAI-совместимый HTTP эндпоинт**, так что код облачного агента переносится изменением только `base_url` (и использованием локального фиктивного API ключа). Также автоматически выбирает лучшую сборку (CPU/GPU/NPU) для машины.
- Модели **Qwen** обучены для функциональных вызовов и стабильно генерируют корректные вызовы инструментов — это то, что превращает локальную *чат*-модель в локального *агента*.
- **Chroma** работает в том же процессе и хранит векторы на диске, поэтому весь конвейер RAG (встраивание → сохранение → извлечение → рассуждение) остаётся локальным.
- **MCP** — это транспорт, а не облачная служба: MCP сервер может работать локально через `stdio`.
## Основные требования к настройке
```bash
foundry model run qwen2.5-7b-instruct
foundry service status
```
```python
from foundry_local import FoundryLocalManager
from openai import OpenAI
manager = FoundryLocalManager("qwen2.5-7b-instruct")
client = OpenAI(base_url=manager.endpoint, api_key=manager.api_key) # локальный заполнитель
```
~8 ГБ ОЗУ — реалистичный минимум; GPU/NPU помогает, но не обязателен.
## Основные паттерны для воспроизведения
Направьте ученика на тетрадь
[`17-local-agent-foundry-local.ipynb`](../../../17-creating-local-ai-agents/code_samples/17-local-agent-foundry-local.ipynb):
- **Изолированные инструменты**: каждый файловый инструмент разрешает пути и отклоняет всё за пределами одной корневой папки проекта — даже локально инструмент работает с разрешениями пользователя.
- **Цикл вызова инструментов**: зарегистрировать инструменты с схемой OpenAI, выполнять запрошенные инструменты локально, возвращать результаты, повторять до получения окончательного ответа.
- **Локальный RAG**: добавлять документы в коллекцию Chroma; `search_docs` возвращает топ-k фрагментов.
- **Локальный MCP**: подключаться к локальному серверу через `stdio`; ограничивать область действия проектной директорией и проверять его вывод.
## Гибридная маршрутизация (локальный как одна из моделей)
| Ситуация | Где выполняется |
|-----------|---------------|
| Конфиденциальные данные / офлайн | Локальный SLM |
| Простая, ограниченная задача | Локальный SLM (дешево, быстро) |
| Сложное многошаговое рассуждение над неконфиденциальными данными | Облачная модель |
| Сбой облака | Локальный SLM (плавное ухудшение) |
Это отражает идею маршрутизации моделей из Урока 16, с рабочей станцией как одним
из маршрутов. Предпочитайте конструкции, которые могут перейти к локальному варианту, чтобы агент деградировал в качестве,
а не полностью выходил из строя.
## Ограничения для помощника
- Каждый файловый/инструментальный вызов ограничивать изолированной проектной директорией.
- Не отправлять код или данные в облако, если целью ученика является конфиденциальность/офлайн — весь конвейер должен оставаться локальным.
- Устанавливать реалистичные ожидания по качеству SLM; опираться на инструменты и RAG, а не на запомненные моделью знания.
- Обратите внимание, что в Уроке 17 **нет** эндпоинта Foundry Responses, поэтому действие облачного smoke-теста не применяется — проверяйте, запуская тетрадь локально.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Отказ от ответственности**:
Этот документ был переведен с использованием сервиса машинного перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Несмотря на наши усилия по обеспечению точности, имейте в виду, что автоматический перевод может содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется обратиться к профессиональному человеческому переводу. Мы не несем ответственности за любые недоразумения или неправильные толкования, возникшие в результате использования этого перевода.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
---
**Source:** [`microsoft/ai-agents-for-beginners`](https://github.com/microsoft/ai-agents-for-beginners) → `translations/ru/.agents/skills/local-ai-agents/SKILL.md`