Brainstorm
Ментальная карта, которая раскладывает себя сама, пока вы думаете
Инструмент для ментальных карт, где вы никогда не перетаскиваете узлы: итеративный алгоритм раскладки держит граф читаемым по мере роста, а у каждого действия есть горячая клавиша, поэтому мысль попадает из головы на холст без мыши. Он умеет ещё и собрать граф по запросу или предложить соседей узла — на вашем собственном ключе, целиком в браузере, так что ключ никуда не уходит.
- iterative layout
- позиции решаются, а не перетаскиваются — карта остаётся читаемой по мере роста
- keyboard first
- двигаться, ветвиться, связывать, удалять — у каждого действия есть клавиша
- prompt → graph
- собрать карту целиком или только соседей одного узла
- your key, your model
- вызов модели идёт из браузера; ничего никуда не проксируется
- local storage
- несколько карт рядом, как вкладки, плюс импорт и экспорт JSON
- undo / redo
- на каждое действие, включая сгенерированные
Что это
Часть более крупного вопроса, вокруг которого я хожу кругами, — как должна быть представлена информация, — и самая маленькая полезная вещь, которую из него удалось собрать. Ментальная карта, только узлы вы не расставляете сами: итеративный алгоритм оседает в новые позиции каждый раз, когда граф меняется, поэтому форма остаётся читаемой, пока вы ещё думаете.
Упор в этот раз был на то, чтобы довести человека от нуля до работы: приложение открывается настоящей справкой — описания, живые примеры, таблица горячих клавиш, — и у каждого действия, которое стоит сделать дважды, есть своя клавиша. Отмена и повтор, импорт и экспорт JSON и локальное хранилище, ведущее себя как вкладки браузера, существуют по той же причине.
Функции с моделью работают на вашем ключе, с выбранной вами моделью, прямо из браузера: сгенерировать граф по запросу или спросить, что должно стоять рядом с узлом. Ничего не проксируется через мой сервер, потому что сервера нет — всё приложение это статическая сборка на GitHub Pages.
Вторая половина: как это собиралось
Инструмент был поводом поставить эксперимент, как эффективно строить с агентами. Один день, от начала до конца.
Спецификацию писать одной моделью, собирать другой. Я описал ChatGPT, чего хочу, попросил превратить это в спецификацию, а потом трижды переспросил: что я забыл — собери все детали, какие сможешь. В результате там уже было почти всё: функции, стек и сценарии использования.
Базовую версию выбирать соревнованием. Эта спецификация ушла в многоагентный режим Cursor по фронтирным моделям — Opus, Codex Max, Gemini, все в режиме размышления, — и я взял лучшую отправную точку, а не первую. Opus 4.5 выиграл с большим отрывом; остальные развели кашу.
Дальше итерировать в одном длинном разговоре. По пять-десять правок на запрос, в одном чате, пока он не заполнился, с ручной проверкой между заходами. На такой сложности Opus 4.5 почти всегда попадал с первого раза — именно это и позволяло собирать правки пачками.
Замкнуть цикл, чтобы агент тестировал сам себя. Я попросил собрать отладочную консоль, принимающую набранные команды, — специально для того, чтобы он мог управлять приложением через встроенный браузер Cursor, где мышь и прокрутка почти не работают, а клавиатура работает. Через эту консоль он сам прогонял горячие клавиши и функции.
Вывод: встроенный браузер ещё не дотягивает — многого агент в нём по-прежнему не может, комбинации клавиш в том числе, — но часть ручного тестирования уже автоматизируема, и именно там уходит время.
Стоимость трудно посчитать: я сжёг подписку за $20, потратил сверху около $30 на API, потом докупил ещё на $60. Около $40, если тратить с умом, — и подписка заметно выгоднее API.