AI Assistant: Контекстные правила, области применения и анализ кода
В этом документе объясняются различные уровни подсказок, правил и областей видимости вложений, используемых в ИИ-помощнике для настройки ответов в зависимости от различных контекстов в среде разработки, проекта, сеанса и уровня сообщений. Кроме того, добавлена функция 🧠 Анализ контекста кода, которая улучшает способ отправки кода в зависимости от выбора пользователя.
📚 Контекстные правила
В следующих разделах описаны различные уровни подсказок и правил, применяемых к запросам ИИ-помощника.
-
🌐 Глобальные правила
Область действия:Для всей IDE
Описание:Применяются во всей среде IDE и отправляются с каждым запросом в чате, независимо от контекста.
Настроить с помощью: Tools > Options > Jeddict AI Assistant > Global Rules

-
📁 Правила для проекта
Область действия:Для всего проекта
Описание: Применяются на уровне проекта. Эти правила отправляются вместе с запросами в чате, когда в контекст включен файл, и влияют на ответы, относящиеся к проекту.
Настроить с помощью: Maven Project > Right-click > Properties > Jeddict AI > Project Rules

-
💬 Правила сеанса
Область действия: Текущий сеанс чата
Описание: Эти правила относятся к текущему сеансу чата и применяются к каждому запросу в течение сеанса, обеспечивая контекст для текущего взаимодействия.
Настроить с помощью: AI Assistant Chat > Click "Session Context" > Session Rules

-
📨 Правила для сообщений
Область действия: Для каждого сообщения
Описание: Эти правила применяются только к конкретному сообщению или запросу, который вы отправляете. Это ваш прямой вопрос к ИИ-помощнику, который используется для подбора ответа на это конкретное сообщение.
Настроить через: Это фактический запрос, который вы отправляете в чат.

📎 Контекстные области
В следующей таблице указаны различные уровни, на которых можно использовать вложения во время сеанса общения с ИИ-помощником.
| Область | Название | Описание |
|---|---|---|
| Сеанс общения | 📂 Файлы контекста сеанса | Эти файлы прикрепляются во время сеанса общения и доступны на протяжении всего сеанса. |
| Только для сообщений | 📨 Файлы контекста сообщения | Эти файлы прикрепляются специально к текущему сообщению или запросу, отправленному пользователем, и содержат контекст для конкретного взаимодействия. |
📂 Сессия против 📨 Область контекста сообщения
📂 Файлы контекста сеанса
Файлы контекста сеанса определяются автоматически при запуске чата и не могут быть добавлены или удалены после начала чата. Они зависят от того, где вы инициируете чат.:
- Из класса Java: выбранный вами класс автоматически становится частью сеанса.
- Из пакета: все файлы в выбранном пакете становятся частью сеанса.
- Из дерева проекта (множественный выбор): Все выбранные классы Java включены в сеанс.


Важно: Эти файлы имеют решающее значение, поскольку они гарантируют, что ассистент будет иметь полное представление о вашей текущей работе. Они остаются активными на протяжении всего сеанса и важны для последовательного взаимодействия в чате с учетом контекста.
📨 Файлы контекста сообщений
Файлы контекста сообщения относятся к одному сообщению и не будут перенесены в будущие запросы. Вы можете прикрепить их вручную по мере необходимости.:
- Перетащите файлы в область ввода запроса.
- Нажмите кнопку Контекст сообщения, чтобы просмотреть и выбрать файлы.
- Умное автодополнение Java: Панель запросов также поддерживает автодополнение и интеллектуальный поиск классов Java во всех открытых проектах. Если ввести @ и затем ключевое слово (например, название класса или пакета), появится динамический список подходящих классов Java. После выбора полное имя класса будет вставлено в панель запросов, а класс автоматически добавится в файлы контекста сообщений 📎.
- Эти дополнения работают как прикрепленные вручную файлы и обеспечивают точный контекст для ответа помощника. 🔍 Если они вам больше не нужны, вы можете легко удалить их из списка контекста сообщения одним щелчком мыши, получив полный контроль над областью действия текущего запроса. 🧹✅

Важность: Файлы контекста сообщений полезны для адаптации ответов к специфике отдельного запроса. Они позволяют вам предоставлять целенаправленный контекст для каждого взаимодействия, не затрагивая более широкий контекст сеанса.
🧠 Анализ контекста кода
Анализ контекста кода позволяет вам контролировать, какой объем контекста включается при отправке класса Java с помощью Встроенного автозаполнения и встроенных подсказок. Это помогает предоставлять более точные и релевантные предложения от искусственного интеллекта на основе выбранной вами области.
| Опция | Что она включает | Что отправляется |
|---|---|---|
| 📄Текущий класс | Класс Java, который в данный момент открыт и активен в редакторе. | Полный исходный код текущего класса |
| 🔗Связанные классы | Класс Java, который в данный момент открыт и активен в редакторе + все связанные классы атрибутов | Полный исходный код текущего класса + сигнатуры открытых методов из связанных классов |
| 📦 Текущий пакет | Открытый и активный в редакторе класс Java + классы атрибутов, на которые есть ссылки + все классы в том же пакете | Полный исходный код текущего класса + сигнатуры открытых методов из классов, на которые есть ссылки, и классов пакета |
| 🗃️ Весь проект | Все классы в проекте | Полный исходный код текущего класса + только сигнатуры открытых методов из всех классов проекта |

Примечание: Анализ контекста кода применяется только к автозаполнению встроенного кода и подсказкам в редакторе Java. Он не применяется к ответам чат-ассистента с искусственным интеллектом. В ответах чат-ассистента учитываются только файлы, явно прикрепленные к сеансу или сообщению.
💡 Как использовать
Выберите подходящий уровень контекста в зависимости от ваших потребностей:
- 📄 Текущий класс — идеально подходит для точного автодополнения в редактируемом классе.
- 🔗 Классы, на которые есть ссылки – лучше всего подходит для работы с зависимостями или вспомогательными классами.
- 📦 Текущий пакет – полезен для понимания контекста в рамках модуля или набора функций.
- 🗃️ Весь проект – подходит для комплексного понимания всей кодовой базы.