Telegram Group & Telegram Channel
У Anthropic пару недель назад вышел пост про агентов: https://www.anthropic.com/research/building-effective-agents

Он прекрасен тем, что определяет, что является агентом, а что не является. С точки зрения авторов поста, агент = система, в которой языковые модели динамически управляют собственными вызовами и инструментами, контролируя выполнение какой-то задачи.

Авторы утверждают, что для большинства случаев агенты не нужны: чем проще решение, тем лучше. С чем я полностью согласен 👏

Основное содержание поста — примитивы и паттерны оркестрирования языковых моделей без агентов. Основной примитив: улучшенная языковая модель, которая имеет доступ к инструментам, поиску и памяти. Этот примитив может быть реализован по-разному, например через конечное число последовательных вызовов языковой модели.

🔹Паттерн 1: цепочка промптов
Если задача разбивается на несколько последовательных подзадач, их можно решать отдельными вызовами языковой модели. Например, если вы хотите сделать систему, пишущую книги, вы сначала делаете вызов для генерации названия книги, потом отдельные вызовы для краткого описания, содержания, выжимок глав и непосредственно самих глав.

🔹Паттерн 2: маршрутизация
Если ваше приложение разбивается на несколько возможных параллельных путей, то стоит сделать классификатор, который будет определять нужный путь, и специализированные промпты под каждый из путей. Например, если вы делаете чатбот с несколькими независимыми функциями (рекомендация фильмов, ответы на вопросы по фильмам, чат на общие темы), то стоит использовать этот паттерн. В древних чатботах часто был детектор интентов, который делал ровно это 👴

🔹Паттерн 3: параллелизация
Если задача разбивается на несколько параллельных подзадач, то стоит их и вызывать параллельно. Например, если вам нужно извлечь огромный JSON из текста или переписки, возможно вам стоит извлекать его по кусочкам. Отличие от маршрутизации в том, что в ней нам нужна была только одна ветка, а тут нам нужны результаты всех вызовов.

🔹Паттерн 4: ведущий-ведомый 😭
То же самое, что и параллелизация, только с динамическим количеством и содержанием подзадач. Например, так можно делать агрегацию результатов поиска.

🔹Паттерн 5: цикл оценки
Если есть чёткие критерии оценки качества выполнения задачи, то можно одной языковой моделью решать задачу, а другой — оценивать качество решения и давать обратную связь. И делать это в цикле. Это может работать много где, например в переводе текстов.

Ну и наконец последний паттерн — агенты, которые совершают действия в определенной среде, получают от среды обратную связь, и снова совершают действия.

Мне в разных местах в разное время пришлось использовать первые 3 паттерна. При этом тогда я не формулировал их как отдельные паттерны. Это не какие-то абстрактные штуки, это кристаллизация того, как удобно и просто строить системы (как и любые другие паттерны проектирования).
Please open Telegram to view this post
VIEW IN TELEGRAM



group-telegram.com/senior_augur/354
Create:
Last Update:

У Anthropic пару недель назад вышел пост про агентов: https://www.anthropic.com/research/building-effective-agents

Он прекрасен тем, что определяет, что является агентом, а что не является. С точки зрения авторов поста, агент = система, в которой языковые модели динамически управляют собственными вызовами и инструментами, контролируя выполнение какой-то задачи.

Авторы утверждают, что для большинства случаев агенты не нужны: чем проще решение, тем лучше. С чем я полностью согласен 👏

Основное содержание поста — примитивы и паттерны оркестрирования языковых моделей без агентов. Основной примитив: улучшенная языковая модель, которая имеет доступ к инструментам, поиску и памяти. Этот примитив может быть реализован по-разному, например через конечное число последовательных вызовов языковой модели.

🔹Паттерн 1: цепочка промптов
Если задача разбивается на несколько последовательных подзадач, их можно решать отдельными вызовами языковой модели. Например, если вы хотите сделать систему, пишущую книги, вы сначала делаете вызов для генерации названия книги, потом отдельные вызовы для краткого описания, содержания, выжимок глав и непосредственно самих глав.

🔹Паттерн 2: маршрутизация
Если ваше приложение разбивается на несколько возможных параллельных путей, то стоит сделать классификатор, который будет определять нужный путь, и специализированные промпты под каждый из путей. Например, если вы делаете чатбот с несколькими независимыми функциями (рекомендация фильмов, ответы на вопросы по фильмам, чат на общие темы), то стоит использовать этот паттерн. В древних чатботах часто был детектор интентов, который делал ровно это 👴

🔹Паттерн 3: параллелизация
Если задача разбивается на несколько параллельных подзадач, то стоит их и вызывать параллельно. Например, если вам нужно извлечь огромный JSON из текста или переписки, возможно вам стоит извлекать его по кусочкам. Отличие от маршрутизации в том, что в ней нам нужна была только одна ветка, а тут нам нужны результаты всех вызовов.

🔹Паттерн 4: ведущий-ведомый 😭
То же самое, что и параллелизация, только с динамическим количеством и содержанием подзадач. Например, так можно делать агрегацию результатов поиска.

🔹Паттерн 5: цикл оценки
Если есть чёткие критерии оценки качества выполнения задачи, то можно одной языковой моделью решать задачу, а другой — оценивать качество решения и давать обратную связь. И делать это в цикле. Это может работать много где, например в переводе текстов.

Ну и наконец последний паттерн — агенты, которые совершают действия в определенной среде, получают от среды обратную связь, и снова совершают действия.

Мне в разных местах в разное время пришлось использовать первые 3 паттерна. При этом тогда я не формулировал их как отдельные паттерны. Это не какие-то абстрактные штуки, это кристаллизация того, как удобно и просто строить системы (как и любые другие паттерны проектирования).

BY Старший Авгур


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/senior_augur/354

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Telegram Messenger Blocks Navalny Bot During Russian Election "For Telegram, accountability has always been a problem, which is why it was so popular even before the full-scale war with far-right extremists and terrorists from all over the world," she told AFP from her safe house outside the Ukrainian capital. In 2018, Russia banned Telegram although it reversed the prohibition two years later. In a statement, the regulator said the search and seizure operation was carried out against seven individuals and one corporate entity at multiple locations in Ahmedabad and Bhavnagar in Gujarat, Neemuch in Madhya Pradesh, Delhi, and Mumbai. Friday’s performance was part of a larger shift. For the week, the Dow, S&P 500 and Nasdaq fell 2%, 2.9%, and 3.5%, respectively.
from ua


Telegram Старший Авгур
FROM American