803просмотров
6 марта 2025 г.
Score: 883
Посвящается тем, кто что-то слышал, но не вникал в построение ai-агентов. Явный тренд пошел с 2024 года, с августа 2024 пошли аи мемы на солане, сейчас все чаще попадаются сайты с аи чат ботами, например помогают ориентироваться в документации. Если углубляться в семантику, то корректное описание такое:
- ai agent - автономная система, как игровой npc, который сам что-то там делает.
- ai workflow - автоматизация некоторых задач с помощью llm, например мониторить новые видео на канале и транскрибировать их, чтобы выжимку публиковать в тг канал)
Но так же как исходное значение ai сильно упрощено, так же и со значением агента, это чуть проще по смыслу чем изначально задумано, прошу принять такое допущение)) Самый низкий порог входа в написание агентов лежит через no/low-code системы. Трушные системы еще и opensource, чтобы свои секретики можно было полностью локально обсуждать:
- n8n, open-source, заметное сообщество, много видео гайдов, много интеграций (строительные блоки telegram/slack/youtube и тд)
- dify, open-source, сообщество поменьше, интеграций поменьше, но интерфейс будто более логичный, чем n8n. Чат с llm состоит из истории переписки [ {role: system, query: "..."}, {role: user, query: "123"}, ...
], содержит три роли, system вначале чата и чередование user-assistant:
- system - системный промпт, настройки того, как ллм должна отвечать, тональность, правила обработки. Открытием стало то, что можно просить умную модель помочь составить промпт описав ситуацию и правила. А добивочка это попросить умную ллм потом отрефакторить промпт и он сокращается на половину без потери качества.
- user - query юзера
- assistant - ответ llm Чтобы агент помнил историю чата можно передавать всю историю переписки в json, чтобы сгенерировать ответ с максимальным покрытием контекста, условно юзер назвал имя в первом сообщении и вот месяц чатится и чтобы модель помнила, по началу передавали всю историю
Минусы такого подхода в том, что много слов нужно передавать в модель, есть риск что достигнет лимита контекста (llm context limit) Потом придумали RAG (retrieval-augmented-generation), это когда берется умная llm-модель и в system-prompt описываются все важные новости и изменения по конкретному workflow. Потому что чаще всего модели при релизе уже отстают от реальности на несколько месяцев и через RAG подход можно помочь наверстать контекст (новости, наука и тд). Простые реализации пишут факты подряд, более умные реализации хранят данные в векторной бд и берут только записи, которые семантически важны на основе system+user prompt.