"Как устроен лучший автономный AI-разработчик на сегодня (публично доступный) Anthropic сделали большое дело — опубликовали статью о том, как им удалось добиться лучшего результата в бенчмарке AI-агентов-программистов SWE-bench (см. Verified). Почему дело большое? Потому, что SWE-bench — это поле битвы автономных AI-агентов-программистов, в котором разные компании пытаются зарезловить как можно больше Issues из определенного списка OpenSource проектов. Так вот, Anthropic с их Claude 3.5 Sonnet v2 действительно удалось добиться выдающегося результата, сместив всех предыдущих ""Senior AI-инженеров"" с пьедестала. А про SWE-bench недавно был хороший пост в канале Сиолошная (последняя новость в посте). Вот, кстати, емкое определение оттуда же, оно мне понравилось: SWE-bench — Это бенчмарк оценки способностей LLM по внесению изменений, описанных текстом, в кодовую базу большого существующего проекта (одни из самых популярных Python-фреймворков, например, Django). В каждом задании бенчмарка ИИ предоставляется настроенная среда Python и копия репозитория в состоянии перед тем, как ошибка была устранена. Модель должна проанализировать, изменить и протестировать код, а затем предложить своё решение. Для тех, кто хочет глубже, вот подробное описание SWE-bench Verified. Как это работает Высокоуровнево, они это сделали через Tool Use (function calling) — это когда разработчик описывает для нейросети список доступных функций и просит ее, когда это уместно, вызывать одну (или несколько) из описанных функций. Например, можно объявить функцию получения текущей даты и времени и когда пользователь спросит текущее время у LLM, она ""вызовет"" функцию и ответит ему правильно. Ребята реализовали две функции: 1. Bash Tool для запуска bash комманд. 2. Edit Tool для просмотра, создания и редакирования файлов. А Edit Tool, в свою очередь, состоит из 5-х команд: view, create, str_replace, insert, undo_edit. Отдельный интерес представляют промпты (в т. ч. описание тулинга) — только посмотрите на сколько они подробные. В главном промпте хочу обратить внимание на предложение к LLM сначала воспроизвести баг локально (изолированно) и только после этого решать проблему. Челленджы такого подхода в статье описаны отдельно. Пример так же есть в статье. Эти 2 функции LLM выполняет последовательно в том порядке и с теми аргументами, которые считает нужными, а результат выполнения передается обратно в LLM и, таким образом, итеративно накапливается довольно большой контекст, состоящий из messages к LLM (для Claude 3.5 контекст все еще ограничен 200к токенами). Если задача решена, либо модель вышла за пределы контекста, цикл останавливается. Что нам с этого? В принципе, такой подход можно применить и для решения рабочих задач — взять какой-нибудь баг или даже небольшую фичу из таск трекера и делегировать реализацию описанному агенту. Кстати, вместо Sonnet 3.5 v2 можно использовать и другую LLM, поддерживающую function calling. Ну что, будем ждать новый еще более мощный тулинг (а-ля aider), реализованный по статье. Еще, опять же, в кач-ве пет проекта можно повторить описанный подход и самостоятельно. — Пробелов.NET. Спасибо, что читаете :)"
"Как устроен лучший автономный AI-разработчик на сегодня (публично доступный)…
Источник
https://t.me/ai_driven/37Канал AI-Driven Development. Родион Мостовой · опубликовано 31 окт. 2024 г.
Из этого канала
- #38"SearchGPT для задач программирования Новая функция поиска в ChatGPT — вещь…
"SearchGPT для задач программирования Новая функция поиска в ChatGPT — вещь потрясающая и для задач на программирование тоже.
- #40Поиск по коду на естественном языке + вакансии в CodeAlive Известное дело, что…
Поиск по коду на естественном языке + вакансии в CodeAlive Известное дело, что современные LLM открывают большие просторы для продуктов с AI под капотом.
- #42Новые библиотеки от MS для работы с AI/LLM в .NET В .NET потихоньку завозят…
Новые библиотеки от MS для работы с AI/LLM в .NET В .NET потихоньку завозят новые библиотеки для работы с AI/LLM: Microsoft.Extensions.AI и…
- #31"Актуальная картина по LLM для разработки на октябрь Звезда недели — Claude…
"Актуальная картина по LLM для разработки на октябрь Звезда недели — Claude Sonnet 3.5 v2 — самая практичная модель для кодинга Многие ждали новую Opus, но…
- #29"🍓o1 — Новая прорывная модель для кодинга от OpenAI Не успел я выступить на…
"🍓o1 — Новая прорывная модель для кодинга от OpenAI Не успел я выступить на DotNext с докладом про использование LLM в разработке (слайды тут) и хвалами в…