> For the complete documentation index, see [llms.txt](https://rema.gitbook.io/it-business-system-analyst/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rema.gitbook.io/it-business-system-analyst/systems_analyst/ia-llm.md).

# ИИ и LLM

| Грейд     | Роль   |
| --------- | ------ |
| 🟠 Senior | 🅰️ SA |

> Большие языковые модели (LLM) становятся частью повседневной работы аналитика. Понимание возможностей и ограничений позволяет эффективнее использовать AI в процессах и продуктах.

## Что такое LLM (Large Language Model)

**LLM** — это нейросетевая модель, обученная на огромном количестве текстовых данных для генерации, анализа и понимания текста.

**Примеры LLM:**

* ChatGPT (OpenAI)
* Claude (Anthropic)
* Gemini (Google)
* LLaMA (Meta)
* Mistral (Mistral AI)

## Типичные применения для аналитика

### 1. Автоматизация документирования

```
Задача: Написать техническую спецификацию для нового требования

Использование LLM:
- Описать требование в пару предложений
- LLM расширит в полную спецификацию
- Аналитик отредактирует и согласует

Выход: 10x ускорение документации
```

### 2. Анализ требований

```
Задача: Проверить требование на полноту

Использование LLM:
- Загрузить текст требования
- LLM скажет: какие вопросы отсутствуют? (масштабируемость, безопасность?)
- Помочь заполнить пробелы

Выход: Более полные требования
```

### 3. Генерация тестовых сценариев

```
Задача: Написать тестовые случаи для функции "Добавить товар в корзину"

Использование LLM:
- Описать функцию
- LLM сгенерирует сценарии (happy path, error cases, edge cases)
- Аналитик проверит и отредактирует

Выход: Полное покрытие тестами за минуты
```

### 4. Проверка консистентности документации

```
Задача: Убедиться, что требования в документе согласованы

Использование LLM:
- Загрузить весь документ
- LLM проверит: нет ли противоречий? все ли определения четкие?
- Указать на проблемы

Выход: Выявление логических ошибок
```

## Основные концепции

### Токены и контекст

**Токен** — это часть текста (обычно слово или часть слова).

```
Текст: "The quick brown fox"
Токены: ["The", "quick", "brown", "fox"]
```

**Контекст** — это максимальное количество токенов, которое модель может обработать.

```
GPT-4: 8K токенов (≈ 30 страниц текста)
GPT-4 Turbo: 128K токенов (≈ 400 страниц)
Claude 3.5: 200K токенов (≈ 600 страниц)
```

**Для аналитика:** если требование > 200 страниц, нужно разделить на части.

### Temperature и стохастичность

**Temperature** — параметр, влияющий на "креативность" модели.

```
Temperature = 0 (детерминированная)
- Модель всегда выберет самый вероятный ответ
- Полезно для фактических вопросов ("какова столица России?")

Temperature = 1 (нейтральная)
- Баланс между предсказуемостью и креативностью
- Default для большинства применений

Temperature = 2 (очень креативная)
- Модель выбирает менее вероятные варианты
- Полезно для brainstorming, генерации идей
```

**Для аналитика:** при генерации документов use temperature=0.3 (более консистентно).

## RAG (Retrieval-Augmented Generation)

**RAG** объединяет поиск в базе знаний с генеративными возможностями LLM.

```
Архитектура:
1. Корпус документов (требования, спецификации)
2. Vector embeddings (преобразование текста в вектора)
3. Vector search (поиск похожих документов)
4. LLM генерирует ответ на основе найденных документов

Пример применения:
Вопрос: "Как обновить пользовательский профиль?"
1. Поиск найдет документы про "user profile"
2. LLM прочитает найденные документы
3. LLM ответит на основе найденных документов
Результат: актуальный ответ из корпоративных документов
```

**Для аналитика:** RAG позволяет использовать LLM на корпоративных знаниях безопасно.

## VLM (Vision Language Models)

**VLM** — это модели, которые могут анализировать изображения и описывать их.

```
Примеры применения для аналитика:

1. Проверка макетов
   - Загрузить скриншот UI макета
   - VLM проверит: соответствует ли требованиям?
   - Результат: отчет о проблемах

2. Извлечение данных из изображений
   - Загрузить скан документа
   - VLM извлечет текст и структурирует
   - Результат: JSON с данными

3. Проверка дизайна
   - Загрузить макет
   - VLM проверит: доступность, иерархия, консистентность
   - Результат: рекомендации по улучшению
```

## Типичные проблемы LLM

### Hallucination (галлюцинация)

**Проблема:** Модель генерирует уверенно неверную информацию.

```
Пример:
Q: Какой год родился основатель компании XYZ?
A: 1987 (на самом деле 1989, модель просто выдумала)

Проблема: Модель не знает ответ, но отвечает уверенно

Решение:
1. Использовать RAG с точным источником
2. Просить модель говорить "Я не знаю"
3. Проверять критичные факты вручную
```

### Контекстуальные ошибки

```
Проблема: Модель забывает ранние части длинного текста

Пример:
- Начало документа: "Требование касается мобильного приложения"
- Конец документа: Модель: "Это требование про веб-приложение" (забыла контекст)

Решение: Повторять ключевую информацию во время диалога
```

### Bias (предвзятость)

```
Проблема: Модель обучена на неполных данных, содержит bias

Пример: Система подсказок для найма может иметь bias по полу/возрасту

Решение:
1. Явно попросить избежать bias
2. Проверять результаты на fairness
3. Использовать разные модели для проверки
```

## Практические применения для аналитика

### Использование 1: Генерация требований

```
Инструкция для LLM:
"Я хочу создать функцию 'Wishlist' в е-commerce приложении.
Пользователь может сохранять товары для последующей покупки.
Напиши подробную спецификацию требования включая:
- Функциональные требования
- Нефункциональные требования (масштабируемость, безопасность)
- Граничные случаи (max размер wishlist, deleted товары)
- API эндпоинты
- Критерии приема"

Результат: 5-минутная работа вместо 1 часа
```

### Использование 2: Проверка требований

```
Инструкция для LLM:
"Вот требование для новой функции [вставить текст].
Проверь на следующее:
1. Полнота: все ли аспекты покрыты?
2. Консистентность: нет ли противоречий?
3. Ясность: понятна ли для разработчика?
4. Безопасность: рассмотрены ли угрозы?
Выведи список проблем и рекомендации."

Результат: Структурированный feedback за минуты
```

### Использование 3: Автоматизация анализа

```
Инструкция для LLM:
"У меня есть 50 user feedback сообщений о нашем приложении.
Проанализируй и сгруппируй по темам: что пользователи просят?
Для каждой темы дай частоту и примеры."

Входные данные: 50 разных отзывов пользователей
Результат: Категоризованный анализ за 1 минуту (вместо часа вручную)
```

## Ограничения LLM

### Нет гарантии верности

LLM может звучать уверенно, но быть неправой. Всегда проверяйте критичные факты.

### Контекстный лимит

Нельзя анализировать одновременно очень большие документы (>200 страниц).

### Зависимость от quality инструкции

Плохая инструкция → плохой результат. Нужно научиться правильно задавать questions.

### Конфиденциальность данных

Не загружайте в публичные LLM конфиденциальные данные компании. Используйте self-hosted или enterprise модели.

## Рекомендации для аналитика

1. **Используйте для ускорения**, а не замены
   * LLM помогает генерировать черновик, аналитик редактирует
   * Не полагайтесь на LLM 100%
2. **Проверяйте критичную информацию**
   * Фактические данные требуют verification
   * Используйте RAG для точности
3. **Пишите хорошие инструкции**
   * Специфичность важна
   * Примеры помогают модели понять контекст
4. **Соблюдайте конфиденциальность**
   * Не загружайте приватные данные в OpenAI
   * Используйте self-hosted модели для sensitive информации
5. **Интегрируйте в workflow**
   * Используйте LLM для автоматизации рутины
   * Освобождайте время для творческой работы

## 📚 Ресурсы для изучения

* [OpenAI API Documentation](https://platform.openai.com/docs) — документация API
* [Anthropic Claude Documentation](https://docs.anthropic.com/) — документация Claude
* [Prompt Engineering Guide](https://www.promptingguide.ai/) — гайд по написанию инструкций
* [RAG Best Practices](https://www.llamaindex.ai/guides) — гайд по RAG системам
* [LLM Security](https://arxiv.org/abs/2307.02483) — безопасность LLM
