← Все новости
Как я научил нейросеть рисовать в Excalidraw — агентный цикл за 100 строк

Как я научил нейросеть рисовать в Excalidraw — агентный цикл за 100 строк

Однажды я попросил ChatGPT нарисовать организационную диаграмму. Знаете, что он сделал? Написал ASCII-арт :(, мило, но не то.Я хотел настоящую диаграмму: с прямоугольниками, стрелками, цветами, зумом и возможностью подвигать элементы руками. То есть не картинку в ответе чата и не ASCII, а нормальный интерактивный canvas.Можно было взять LangChain, MCP, готовый agent framework и спрятать всё за несколькими слоями абстракций. Но мне было интересно другое: что минимально нужно, чтобы LLM стала агентом, который не просто отвечает текстом, а меняет состояние внешнего мира?В моём случае этим “внешним миром” стал Excalidraw canvas.Я написал маленький агентный цикл с нуля. Важное уточнение: не весь проект, конечно, а именно ядро агента — около 100 строк. Вокруг него есть сервер, model layer, WebSocket, UI и куча мелких инженерных деталей. Но сама “агентность” живёт именно в этом цикле. Без LangChain, без MCP, без специальных библиотек для “агентности”.Спойлер: агент не просто нарисовал оргчарт. В одном из прогонов он нарисовал его, потом посмотрел на результат, понял, что стрелки сделаны неправильно, удалил их, пересоздал с правильными привязками и только после этого сказал “готово”. Вот как это устроено под капотом.