AI: LSP

LSP (Language Server Protocol) — это протокол, который позволяет редакторам кода, IDE, а теперь и AI-агентам, общаться с языковыми серверами.
Языковой сервер (LSP-сервер) — это отдельная программа, которая "понимает" конкретный язык программирования и предоставляет умные функции:
  • Автодополнение кода.
  • Переход к определению (Go to Definition).
  • Поиск ссылок (Find References).
  • Анализ ошибок в реальном времени (Diagnostics).


Как это работает

Взаимодействие между клиентом и LSP-сервером происходит в фоновом режиме по формату JSON-RPC (stdio).
    Событие: Вы открываете файл, или AI-агент вносит изменения в код.
    Запрос: Клиент отправляет JSON-сообщение серверу.
    Анализ: Сервер строит абстрактное синтаксическое дерево (AST), проверяет типы и ищет нужную информацию в своей памяти.
    Ответ: Сервер возвращает клиенту ответ в формате JSON (например, точные координаты функции в соседнем файле или список синтаксических ошибок).


Как LSP подключается в AI-агенты

Традиционно AI-агенты читали код как обычный текст, используя простой grep или чтение файлов целиком.
Подключение LSP дает им "семантическое зрение" — они могут перемещаться по кодовой базе так же точно, как живой разработчик в IDE. Это кардинально снижает галлюцинации LLM.

В OpenCode

  • Агент спроектирован так, чтобы автоматически находить и запускать подходящий LSP-сервер для текущего проекта, если он установлен в вашей операционной системе.

В Claude Code

  • Для работы встроенного инструмента часто требуется явно включить поддержку. Добавьте "env": { "ENABLE_LSP_TOOL": "1" } в конфигурационный файл ~/.claude/settings.json .
  • В корне вашего проекта создается файл .lsp.json, который описывает команду запуска установленного сервера.
  • В качестве более удобной альтернативы можно использовать маркетплейсы плагинов, добавив пакет claude-code-lsps, где уже настроены пресеты для десятков языков.