Мій кодинг-агент пам'ятав сесії, а не роботу

Кодинг-агент може підтримувати нитку розмови живою, але все одно здаватися забудькуватим.

Я зіткнувся з цією проблемою під час розробки CliGate. Я виправив безперервність сесій, але повторювані завдання все одно виконувалися занадто повільно.

Агент пам'ятав розмову, але не пам'ятав роботу.

Безперервність сесії вирішує одну проблему. Вона допомагає з уточнюючими командами, такими як:

  • продовж
  • зроби те саме для цього файлу
  • спробуй ще раз

Це корисно. Але це не допомагає, коли ви повторюєте робочий процес через кілька днів.

Агенту потрібно згадувати, що зробило попередній запуск успішним. Йому потрібно знати:

  • яка кнопка працює
  • який крок є тупиковим шляхом
  • яке поле потребує особливої обробки
  • яке правило ви завжди хочете застосовувати

Перший запуск є найдорожчим. Саме тоді агент досліджує та знаходить деталі, яких немає у вашому промпті.

До мого виправлення ці деталі зберігалися лише в сирих логах. У агента була історія, але не було багаторазової пам'яті. Йому доводилося заново відкривати все щоразу.

Це не інтелект. Це подвійна оплата вартості налагодження.

Неправильний підхід — зберігати більше історії в надії, що модель її використає. Це створює шум.

Замість цього я побудував менший, багаторазовий шар пам'яті. Я зосередився на:

  • процедурах
  • фактах
  • директивах
  • посиланнях

Я перестав намагатися зберігати все, що відбувалося. Я почав зберігати те, що варто пам'ятати.

Тепер асистент використовує файловий шар пам'яті, щоб згадати:

  • процедуру: найкращі кроки та відомі тупикові шляхи
  • факт: URL-адресу або конкретне налаштування
  • директиву: як саме ви хочете виконувати завдання
  • посилання: де знаходиться документація

Саме так працюють люди.

Мені не потрібне ідеальне відтворення минулого, тому що інтерфейси змінюються, а кнопки переміщуються. Я хочу, щоб агент:

  1. Згадував найкращу відому процедуру
  2. Спочатку пробував її
  3. Перевіряв кожен крок
  4. Повертався до дослідження, якщо щось не вдалося
  5. Оновлював пам'ять після успіху

Це перетворює крихку автоматизацію на корисну оперативну пам'ять.

Я також відокремив постійні правила від історії розмови. Правила на кшталт «завжди відповідай китайською» або «не чіпай робочі дані» не є контекстом сесії. Це операційні правила.

Коли я їх розділив, асистент став передбачуваним. Йому більше не потрібно заново відкривати ваші вподобання посеред виконання завдання.

Повторювані завдання тепер виконуються швидше. Асистент діє швидше, тому що він не починає щоразу з порожньою моделлю.

Не плутайте безперервну нитку розмови з системою, яка навчається.

Сесія підтримує розмову живою. Пам'ять підтримує в житті корисні уроки.

Якщо ви створюєте кодинг-агентів, запитайте себе: ваша система пам'ятає нитку розмови чи вона пам'ятає успішну процедуру?

Джерело: https://dev.to/codekingai/my-coding-agent-remembered-sessions-not-work-that-was-the-bug-2fig