Мой AI Mentor запоминал каждую багу, которую я повторял — и не давал мне залить её снова

#AI#frontend#React#LLM#code-review

TL;DR: CodeMentor — это React-приложение, которое использует Groq (LLaMA 3.3 70B) и Hindsight для долгосрочной памяти, чтобы анализировать паттерны разработчика и предотвращать повторяющиеся ошибки. Вместо того чтобы давать generic feedback, система запоминает ваши ошибки и предупреждает о них в будущем.

Введение

В мире разработки повторяющиеся ошибки — это неизбежная часть процесса. Мы все сталкиваемся с ситуациями, когда одна и та же бага появляется снова и снова, несмотря на все усилия. Что если бы существовал инструмент, который мог бы не только указать на ошибку, но и запомнить её, чтобы предотвратить повторение в будущем? Именно это и делает CodeMentor.

Основная часть

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

CodeMentor — это React-приложение, которое сочетает в себе мощь Groq (LLaMA 3.3 70B) для быстрой обратной связи и Hindsight для долгосрочной памяти. Вместо того чтобы рассматривать каждую отправку кода как новую, система строит память о вашем поведении с течением времени.

Каждое взаимодействие с системой проходит через три этапа:

  1. Recall: Система вспоминает прошлые паттерны разработчика.
  2. Analyze: Анализирует текущий код с учётом этих паттернов.
  3. Retain: Сохраняет новые данные для будущего использования.

Пример кода для этапа Recall:

const r = await hs.recall(bankId, query);

Этот код позволяет системе вспомнить прошлые ошибки и использовать их как контекст для анализа текущего кода.

Память как контекст, а не хранилище

Многие думают, что память — это просто сохранение данных. Однако важно не только сохранить данные, но и использовать их в нужный момент. CodeMentor использует память как контекст для анализа кода. Перед каждым код-ревью система вспоминает прошлые паттерны и впрыскивает их в промпт модели.

Пример использования памяти в промпте:

const prompt = `Analyze this code with the following context: ${r}`;

Теперь модель видит не только ваш код, но и вашу историю, что позволяет ей давать более точные рекомендации.

Сдвиг от обратной связи к обнаружению паттернов

После нескольких сессий с CodeMentor происходит интересное изменение. Вместо того чтобы давать generic советы, система начинает говорить что-то вроде:

Это не intelligence — это правильно применённая память.

Пример сообщения от системы:

if (patternDetected) {
  console.log("You've done this before");
}

Замыкание цикла

Каждое взаимодействие с системой становится будущим контекстом. Это позволяет системе постоянно улучшать свои рекомендации и предотвращать повторение ошибок.

Пример кода для этапа Retain:

await hs.retain(bankId, `Mistakes: ${mistakes.join(", ")}`);

Этот простой, но мощный механизм позволяет системе постоянно учиться и адаптироваться.

Практическое применение

Почему это важно

Без памяти улучшение происходит случайно. С памятью оно становится систематическим. CodeMentor помогает разработчикам не только исправлять ошибки, но и предотвращать их повторение в будущем.

Пример использования в реальном проекте:

async function submitCode(code) {
  const mistakes = await analyzeCode(code);
  if (mistakes.length > 0) {
    await hs.retain(bankId, `Mistakes: ${mistakes.join(", ")}`);
    return "Code contains repeated mistakes";
  }
  return "Code is clean";
}

Этот код позволяет системе запоминать ошибки и предупреждать о них в будущем.

Заключение

CodeMentor — это не просто инструмент для код-ревью. Это система, которая использует долгосрочную память для анализа паттернов разработчика и предотвращения повторяющихся ошибок. Это не о более умных моделях — это о том, чтобы дать моделям память о вас.

Пример финального сообщения от системы:

console.log("This isn't about smarter models. It's about giving models memory of you.");

Именно это делает CodeMentor уникальным инструментом для senior frontend-разработчиков, стремящихся к систематическому улучшению своего кода.


Источник: https://dev.to/thejus_bs/my-ai-mentor-remembered-every-bug-i-kept-repeating-and-wouldnt-let-me-ship-with-it-again-pol