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: |

For tech stocks, “the main thing is yields,” Essaye said. Despite Telegram's origins, its approach to users' security has privacy advocates worried. Telegram boasts 500 million users, who share information individually and in groups in relative security. But Telegram's use as a one-way broadcast channel — which followers can join but not reply to — means content from inauthentic accounts can easily reach large, captive and eager audiences. Multiple pro-Kremlin media figures circulated the post's false claims, including prominent Russian journalist Vladimir Soloviev and the state-controlled Russian outlet RT, according to the DFR Lab's report. "Your messages about the movement of the enemy through the official chatbot … bring new trophies every day," the government agency tweeted.
from us


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