# prompt-engineering-instructor

Учит агента вытаскивать из ответов модели данные по схеме Pydantic: с проверкой типов, повторами при ошибке и стримингом.

- скилл · `type=skill` · Claude Code · 198 установок
- Автор: Orchestra Research
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/skills/ai-research/prompt-engineering-instructor
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/skills/prompt-engineering-instructor

## Что делает

Скилл описывает работу с библиотекой Instructor. Вы задаёте модель Pydantic — поля, типы, ограничения — и получаете на выходе не текст, а готовый объект Python. Если модель вернула мусор, Pydantic ловит несоответствие, Instructor отправляет ей сообщение об ошибке и просит исправиться. По умолчанию таких повторов три.

Внутри разобраны вложенные модели, необязательные поля со значениями по умолчанию, перечисления для жёстких наборов значений, встроенные и свои валидаторы, проверка на уровне всей модели. Есть примеры для Anthropic и OpenAI: клиент создаётся через `instructor.from_anthropic(Anthropic())` или `instructor.from_openai(OpenAI())`, дальше вызов идёт как обычно, только добавляется `response_model`.

Ставить есть смысл, если вы пишете извлечение данных, разбор JSON или пайплайн с ответами LLM. Без ключа провайдера и установленного пакета ничего не заработает: в зависимостях названы `instructor`, `pydantic`, `openai`, `anthropic`. Установка идёт через `pip install instructor`, для конкретного провайдера — с extras вроде `instructor[anthropic]`.

## Установка

### Claude Code (родная платформа)

1. **Через claude-code-templates**
```bash
npx claude-code-templates@latest --skill ai-research/prompt-engineering-instructor
```

2. **Через Skills CLI (Vercel)**
```bash
npx skills add davila7/claude-code-templates --skill prompt-engineering-instructor -a claude-code
```

3. **Вручную: положить файлы**
- Файл: `~/.claude/skills/prompt-engineering-instructor/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/prompt-engineering-instructor/

### Codex

**Вручную: положить файлы**
- Файл: `.agents/skills/prompt-engineering-instructor/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/skills/prompt-engineering-instructor/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install davila7/claude-code-templates prompt-engineering-instructor
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/prompt-engineering-instructor/SKILL.md`

### Gemini CLI

**Командой платформы**
```bash
gemini skills install https://github.com/davila7/claude-code-templates --path cli-tool/components/skills/ai-research/prompt-engineering-instructor
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/prompt-engineering-instructor/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/skills/ai-research/prompt-engineering-instructor

## Когда брать
- вытащить поля из свободного текста ответа модели
- проверить ответ LLM по схеме до записи в базу
- повторить извлечение, когда модель вернула не тот тип
- разобрать вложенный JSON без ручных проверок
- получать частичный объект по мере генерации

## Примеры запросов агенту
- Опиши модель Pydantic для извлечения имени, возраста и email из текста и покажи вызов через instructor.from_anthropic
- Добавь валидатор, который проверяет формат даты YYYY-MM-DD, и объясни, как Instructor повторит запрос при ошибке
- Сделай вложенную модель с адресом внутри Person и выведи город через person.address.city

## Похожие
- [prompt-engineering-patterns](https://affpapa.org/nevibecode/skills/prompt-engineering-patterns.md) — скилл · 23418 установок
- [prompt-engineering](https://affpapa.org/nevibecode/skills/neolabhq-prompt-engineering.md) — скилл · 1400 установок
- [outlines](https://affpapa.org/nevibecode/skills/outlines.md) — скилл · 951 установка
- [ai-prompt-engineering-safety-best-practices](https://affpapa.org/nevibecode/rules/ai-prompt-engineering-safety-best-practices.md) — правило · ★ 40418
- [context-engineering](https://affpapa.org/nevibecode/skills/mvschwarz-context-engineering.md) — скилл · ★ 8172
- [agent-native-design](https://affpapa.org/nevibecode/skills/agent-native-design.md) — скилл · 1900 установок

Из того же набора: [davila7/claude-code-templates](https://affpapa.org/nevibecode/by/davila7/claude-code-templates.md) — 224 карточки

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
