Комментарии 8
Чёт я не понял а сам контекст агента чем реализован? Open ai?
Контекст агента не реализован OpenAI - он реализуется в самом фреймворке. Когда агенту Neuronа нужно "подумать" или сгенерировать ответ, он вызывает LLM-провайдер и передаёт в модель текущий контекст, сформированный на своей стороне, примерно в таком виде:
{
"messages": [
{"role": "system", "content": "Ты — помощник по анализу статей."},
{"role": "user", "content": "Проанализируй эту статью..."},
{"role": "tool_result", "content": "Текст статьи, полученной при помощи..."}
]
}То есть, он хранится внутри Neuron - в PHP-слое
Вот список провайдеров, все основные есть: https://docs.neuron-ai.dev/the-basics/ai-provider
Можно подключить те, кто поддерживает формат OpenAI (который стал практически стандартом), включая Openrouter, через OpenAILike.
.
Много восторженной и рекламной воды, а в итоге что? Реальный опыт/результат какой?
Я работаю из PHP с LLM, пишу конечные автоматы, сложные алгоритмы обработки данных, и я уверен, что они будут работать именно так, как запрограммированно, в удобной мне форме. Без стохастики ("применит данную функцию или нет - хз")
Для чего эти фреймворки в трех четких предложениях?
Что значит "AI-агенты внутри PHP-приложения"?
По-поводу восторженной воды и мало конкретики - согласен и полностью принимаю. Просто я действительно был рад обнаружить агентный фреймворк на PHP, где больше чем 1-2 коммита и который, судя по репозиторию, продолжает активно развиваться. Для меня - это всегда бальзам на мою PHP-шную душу.
По-поводу конечных автоматов и сложных алгоритмов обработки данных. Я не отказываюсь от них - ни в коем случае. Просто иногда запрограммировать сложное поведение, где есть неопределённость может быть проще с AI-агентом. Поясню, для меня AI-агенты - это что-то вроде "Service 2.0", они не просто обрабатывают запрос, а понимают задачу и контекст.
Например: есть задача, в которой нужно отправить потенциальному кандидату письмо с вопросом, готов ли он встретиться в офисе такого-то числа и в зависимости от его ответа выслать то или иное сообщение.Можно использовать классический подход и парсить его ответ на предмет нахождения в нём слов, типа "Да", "Ок", "Согласен" и т.д. А если там будет что-то вроде: "Ну дык, само собой" или "Да, нет"? Как решать эту проблему?
Если же предоставить AI-агенту возможность самостоятельно интерпретировать ответ, он не будет ограничен жёстким списком ключевых слов. Он сможет понять смысл фразы, даже если она выражена неформально, с ошибками
(sic!) или с контекстом, который выходит за рамки заранее прописанных правил. Вместо if/else по шаблонам, агент воспринимает задачу как намерение пользователя - он не ищет совпадения строк, а пытается определить смысл и намерение ответа. Это и есть ключевая разница: мы перестаём программировать "поведение", и начинаем ставить цели, а агент уже сам подбирает шаги для их достижения. То есть, в примере с письмом, AI-агент может "понять", что "Ну дык, само собой" = согласие, а "Да, нет" - двусмысленный ответ, который требует уточнения. Дальше агент сам решит, что лучше сделать - поблагодарить за согласие или переспросить.Ещё раз - всё это не означает, что стандартный подход уже не нужен - совсем наоборот! Мы можем использовать локальную проверку на нужные слова (захардкоженную, чтобы сэкономить ресурсы) + дополнительную проверку с AI-агентом, если есть сомнения. То есть - существуют ситуации, где использование AI-агента в целом не нужно вообще, например: API, транзакции, CRUD и т.д. А есть ситуации, где это необходимо, например: анализ текстов, писем, логов, автоответы, диалоги и т.п.
Теперь по-поводу "AI-агента внутри PHP-приложения". Если коротко: это объект в коде, который может принимать решения на основе контекста и данных, а не просто выполнять жёстко заданные инструкции. Надеюсь, стало немного понятнее.
Никто не говорил о "поиске ключевых слов". Идет обычная работа со stateless LLM из кода без каких либо ограничений, со structured output (json). Что позволяет ловить и намерения, и проводить опросы в человекоподобном стиле и многое другое
Как указали ниже, никакой разницы нет каким языком программирования при этом пользоваться, если из него можно посылать http запросы.
Работу с AI можно разделить на две части - работу с локальными моделями и работу с моделями облачными. В первой части как раз хорош python. Во второй же нет абсолютно никакой разницы, какой язык вы используете, подойдёт любой, где есть http-запросы. В том числе и PHP.
NeuronAI - это проект Валерио Барбера, который тот изначально сделал для продвижения своего другого проекта Inspector, инструмента для сбора метрик/трейсов/багов, типа Sentry/(подставить что-то из стека Otel) , но на минималках. В работе с AI требуется собирать трейсы, чтобы понять, как формируются запросы, чё вообще происходит под капотом, сколько стоит и т.п., и народ юзает для этого различные Landfuse и прочие инструменты для AI-телеметрии. PHP-народ про это не в курсе, поэтому ему можно предложить свой инструмент. Барбера тут молодец.
Сделал он фреймворк достаточно грамотно, в отличие от людей из Symfony, которые попытались застолбить поляну и взяли под крыло невнятный, bloated и неудобный продукт и переименовали его в symfony/ai. Барбера же показал, что он гораздо лучше ориентируется в происходящем и чекает, что происходит в других агентских фреймворках, таких как mastra или voltagent.

Мой первый AI-агент на базе Neuron — PHP-агентного фреймворка