Skip to content

Commit c35e2bf

Browse files
committed
- Улучшение логики работы с LAT.
- Сложные случаи перекрытия диапазонов теперь обрабатываются лучше, предотвращая ошибки сравнения CRC. - Добавлены Smart TIPS для некоторых инструментов, для направления LLM по оптимальному workflow. - Обновление тестов - Обновление README.md
1 parent 9e34e22 commit c35e2bf

9 files changed

Lines changed: 423 additions & 70 deletions

File tree

README.md

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,23 @@ The server automatically detects when files are modified **outside of MCP** (by
160160
* **Smart Prompts:** When an external change is detected, the agent receives a TIP recommending to review changes before proceeding, as they may be intentional user edits.
161161
* **Undo Support:** If needed, external changes can be undone through the standard undo mechanism.
162162

163+
#### 4.2. 💡 Smart Contextual TIPs
164+
Every tool response includes intelligent contextual hints that guide the agent through optimal workflows.
165+
* **Workflow Guidance:** After each operation, TIPs suggest the logical next step (e.g., "Token ready for editing → nts_edit_file(...)").
166+
* **Performance Hints:** Large range reads trigger suggestions to use symbol-based navigation or grep for precision.
167+
* **Error Prevention:** Pattern analysis detects regex-like queries used without `isRegex=true` and warns proactively.
168+
* **Token Management:** When line counts change after edit, TIPs remind to use the NEW token for subsequent operations.
169+
* **Refactoring Awareness:** Signature changes trigger suggestions to check call sites via `nts_code_navigate(action='references')`.
170+
* **Import Updates:** After move/rename of Java/Kotlin files, TIPs suggest searching for import statements that need updating.
171+
172+
**Example TIPs in action:**
173+
```
174+
[WORKFLOW: Token ready for editing -> nts_edit_file(path, startLine, content, accessToken)]
175+
[TIP: Large range read (150 lines). Consider using 'symbol' parameter for precise symbol boundaries.]
176+
[TIP: Pattern contains regex-like characters (.*). If you intended regex search, add isRegex=true parameter.]
177+
[TIP: Line count changed (+5). Use NEW TOKEN above for subsequent edits to this file.]
178+
```
179+
163180
#### 5. ✅ Built-in TODO System
164181
A specialized tool (`nts_todo`) allows the agent to maintain a Markdown-based plan.
165182
* The active plan state is fed into the **HUD**.
@@ -251,6 +268,8 @@ Each tool in NTS is designed as part of an **interconnected discipline system**.
251268

252269
**Connection:** The token returned here is **required** for `nts_edit_file`. Read → Token → Edit. No shortcuts.
253270

271+
**Smart TIPs:** Responses include workflow hints (e.g., "Token ready for editing") and suggest symbol-based reading for large ranges.
272+
254273
**Bulk Read:** Read multiple related files in a single request:
255274
```json
256275
{
@@ -273,7 +292,11 @@ Each file is separated in output with its own TOKEN. Errors in one file don't af
273292
1. **Token required** — proves agent read the current state
274293
2. **Diff in response** — agent immediately sees what changed
275294
3. **CRC check** — if file changed externally, edit fails safely
276-
4. **Smart Tips** — when replacing a single line with multi-line content without `endLine`, a `[TIP]` suggests using `insert_after` or specifying the range
295+
4. **Smart TIPs** — contextual hints for common issues:
296+
- Multi-line content replacing single line without `endLine` → suggests `insert_after` or range
297+
- Line count changed → reminds to use NEW token for subsequent edits
298+
- Signature change detected → suggests checking call sites with `nts_code_navigate`
299+
- Significant changes → reminds to run tests
277300

278301
**Connection:** Consumes token from `nts_file_read`, produces new token for subsequent edits. Chain of custody is unbroken.
279302

@@ -303,6 +326,8 @@ grep("TODO") → finds line 47 → returns TOKEN for lines 45-50
303326
→ agent can edit lines 45-50 directly
304327
```
305328

329+
**Smart TIPs:** After grep, workflow hints remind that tokens are ready for direct editing. If pattern looks like regex but `isRegex=false`, suggests enabling it.
330+
306331
**Connection:** Bridges discovery and action. Reduces round-trips while maintaining token discipline.
307332

308333
---
@@ -704,6 +729,23 @@ NTS меняет микро-эффективность на макро-надё
704729
* **Умные подсказки:** При обнаружении внешнего изменения агент получает TIP с рекомендацией изучить изменения перед продолжением работы, т.к. они могут быть преднамеренной правкой пользователя.
705730
* **Поддержка отката:** При необходимости внешние изменения можно откатить через стандартный механизм undo.
706731

732+
#### 4.2. 💡 Умные контекстные подсказки (Smart TIPs)
733+
Каждый ответ инструмента содержит интеллектуальные контекстные подсказки, направляющие агента по оптимальному workflow.
734+
* **Руководство по workflow:** После каждой операции TIPs предлагают логичный следующий шаг (например, «Токен готов для редактирования → nts_edit_file(...)»).
735+
* **Подсказки производительности:** Чтение большого диапазона предлагает использовать symbol-навигацию или grep для точности.
736+
* **Предотвращение ошибок:** Анализ паттернов определяет regex-подобные запросы без `isRegex=true` и предупреждает заранее.
737+
* **Управление токенами:** При изменении количества строк после правки TIPs напоминают использовать НОВЫЙ токен.
738+
* **Осведомлённость о рефакторинге:** Изменения сигнатуры предлагают проверить места вызова через `nts_code_navigate(action='references')`.
739+
* **Обновление импортов:** После move/rename Java/Kotlin файлов TIPs предлагают поискать import-ы для обновления.
740+
741+
**Примеры TIPs в действии:**
742+
```
743+
[WORKFLOW: Token ready for editing -> nts_edit_file(path, startLine, content, accessToken)]
744+
[TIP: Large range read (150 lines). Consider using 'symbol' parameter for precise symbol boundaries.]
745+
[TIP: Pattern contains regex-like characters (.*). If you intended regex search, add isRegex=true parameter.]
746+
[TIP: Line count changed (+5). Use NEW TOKEN above for subsequent edits to this file.]
747+
```
748+
707749
#### 5. ✅ Встроенная система TODO
708750
Специальный инструмент `nts_todo` позволяет агенту вести план в формате Markdown.
709751
* Активный план транслируется в **HUD**.
@@ -795,6 +837,8 @@ NTS меняет микро-эффективность на макро-надё
795837

796838
**Связь:** Токен, возвращённый здесь, **обязателен** для `nts_edit_file`. Read → Token → Edit. Без сокращений.
797839

840+
**Умные TIPs:** Ответы содержат подсказки workflow (например, «Токен готов для редактирования») и предлагают symbol-чтение для больших диапазонов.
841+
798842
**Массовое чтение (Bulk Read):** Чтение нескольких связанных файлов одним запросом:
799843
```json
800844
{
@@ -817,7 +861,11 @@ NTS меняет микро-эффективность на макро-надё
817861
1. **Токен обязателен** — доказывает, что агент прочитал текущее состояние
818862
2. **Diff в ответе** — агент сразу видит, что изменилось
819863
3. **Проверка CRC** — если файл изменён извне, правка безопасно отклоняется
820-
4. **Умные подсказки** — при замене одной строки многострочным содержимым без указания `endLine` добавляется `[TIP]` с предложением использовать `insert_after` или указать диапазон
864+
4. **Умные TIPs** — контекстные подсказки для типичных ситуаций:
865+
- Многострочный контент заменяет одну строку без `endLine` → предлагает `insert_after` или указать диапазон
866+
- Изменилось количество строк → напоминает использовать НОВЫЙ токен
867+
- Обнаружено изменение сигнатуры → предлагает проверить места вызова через `nts_code_navigate`
868+
- Значительные изменения → напоминает запустить тесты
821869

822870
**Связь:** Потребляет токен от `nts_file_read`, выдаёт новый токен для последующих правок. Цепочка владения не прерывается.
823871

@@ -847,6 +895,8 @@ grep("TODO") → находит строку 47 → возвращает TOKEN
847895
→ агент может редактировать строки 45-50 напрямую
848896
```
849897

898+
**Умные TIPs:** После grep подсказки workflow напоминают, что токены готовы для прямого редактирования. Если паттерн похож на regex, но `isRegex=false`, предлагает включить его.
899+
850900
**Связь:** Мост между обнаружением и действием. Сокращает обращения, сохраняя токенную дисциплину.
851901

852902
---

0 commit comments

Comments
 (0)