К содержанию
Новости

Локальный инструмент talk-to-your-code помогает изучать код без расхода токенов Claude и ChatGPT

Локальный инструмент talk-to-your-code помогает изучать код без расхода токенов Claude и ChatGPT
Фото: Towards AI

Разработчики нередко идут к Claude или ChatGPT, когда нужно быстро сориентироваться в незнакомой кодовой базе. Например, спросить, где именно реализована логика аутентификации. Проблема в том, что такой вопрос заставляет модель просматривать множество файлов и тратить API‑токены или лимит сообщений, хотя на деле речь лишь о базовой навигации по проекту. Как пишет Towards AI, инструмент talk-to-your-code предлагает решать эту задачу иначе: проводить начальную разведку локально, запуская небольшой языковой модуль через Ollama вместо облачного API.

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

Когда пользователь задаёт вопрос, система сначала строит QueryPlan. Она выделяет keywords, предполагаемые target_files и тип задачи, например explain, debug или locate. После этого запускается гибридный поиск. Он сочетает keyword‑поиск, symbol matching для точных имён вроде функции authenticate и embedding similarity search, который находит похожие фрагменты кода. Найденные куски ранжируются и собираются в контекст с учётом ограничения на длину, чтобы модель не получала лишний код.

Финальный шаг, генерация структурированного ответа. Модель вызывается дважды и должна вернуть данные в заданной форме, например объект StructuredAnswer с полями summary, relevant_files и confidence. Для этого применяется structured generation (constrained decoding), а схемы описываются через модели Pydantic, такие как QueryPlan с полями keywords, target_files и intent. В результате получается предсказуемый JSON‑ответ и не требуется строить сложные цепочки агентов или запускать неограниченные вызовы инструментов.

Ключевые факты

  • Приложение talk-to-your-code индексирует репозиторий локально: разбивает файлы на фрагменты, сохраняет их в локальной базе данных и затем использует их для ответов на вопросы о коде.

  • Для работы используется небольшой локальный LLM через Ollama вместо облачного API, а вопросы задаются на естественном языке.

  • Индексация выполняется один раз при нажатии «Ingest», после чего запросы обрабатываются на основе локальной базы, а не повторного чтения всего репозитория.

  • Пайплайн ответа включает два структурированных вызова LLM с шагом извлечения между ними и возвращает результат в виде JSON со схемой, например с полями summary, relevant_files и confidence.