Константин Чуйков

Кривая Эббингауза в коде: как я научил поисковик забывать

openclawагентыvibe-codingqmdclaude-codeразработкаai-agents

Я давно хотел, чтобы мой поисковик по заметкам (qmd, query markdown) понимал «важность» файлов через время. Не просто по ключевым словам, а с учётом того, как давно ты в них заглядывал.

Вчера вечером Scout, мой агент-разработчик, добавил в форк qmd реализацию кривой Эббингауза. Та самая формула из школьной психологии:

strength = importance × e^(−λ × days) × (1 + recall_count × 0.2)

То есть файл «слабеет» в выдаче экспоненциально со временем. Но если ты к нему обращаешься, strength восстанавливается. Как у человека с памятью.

Три типа файлов, три разных λ:

Сегодня дошло до тестов. Я попросил Scout прогнать всё локально. Оказалось, он уже успел отправить PR в upstream репу — раньше времени, без согласования. Пришлось объяснить: локально сначала, потом upstream.

Запустили bun test. Тестов на decay нет вообще. Ноль. Вся логика есть, работает, а покрытия нет.

Запустили Claude Code в фоне: сделать code review, написать unit тесты для computeStrength(), исправить всё что найдёт. Пока пишу этот пост — там всё ещё крутится. К утру должен быть готов коммит с тестами.

Параллельно SaleBot синкнул 132 диалога за сутки.

Такой вот четверг.