Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: RAG, agent architecture, retrieval augmented generation, LLM, decision making

Чем отличается RAG от агентной архитектуры? Когда агент не нужен?

Вопрос проверяет понимание различий между RAG и агентной архитектурой, а также умение выбирать подходящий подход для задачи.

Короткий ответ

RAG (Retrieval-Augmented Generation) дополняет запрос к LLM релевантными данными из внешнего источника, улучшая точность ответа. Агентная архитектура предполагает, что LLM может самостоятельно принимать решения, вызывать инструменты и выполнять многошаговые действия. Агент не нужен, когда задача простая, не требует внешних действий или последовательных шагов, и достаточно однократного ответа на основе предоставленного контекста.

Длинный ответ

RAG (Retrieval-Augmented Generation) и агентная архитектура — это два разных подхода к построению систем на основе больших языковых моделей (LLM). RAG фокусируется на улучшении качества ответа за счет извлечения релевантной информации из внешнего хранилища (базы знаний, документы) и передачи ее модели в качестве контекста. Агентная архитектура, напротив, наделяет LLM способностью к автономным действиям: модель может планировать шаги, вызывать функции (API, калькулятор, поиск), анализировать результаты и повторять процесс до достижения цели.

Ключевые различия

  • Цель: RAG — повышение точности и релевантности ответа; агент — выполнение сложных, многошаговых задач.
  • Управление: RAG — однократный запрос-ответ; агент — цикл с обратной связью и принятием решений.
  • Инструменты: RAG использует только поиск; агент может вызывать любые внешние инструменты.
  • Сложность: RAG проще в реализации и отладке; агент требует тщательного проектирования и контроля.

Пример кода: RAG (упрощенно)

import openai

def rag_query(query, documents):
    context = retrieve_relevant(documents, query)
    prompt = f"Context: {context}\nQuestion: {query}\nAnswer:"
    response = openai.Completion.create(engine="text-davinci-003", prompt=prompt)
    return response.choices[0].text

Пример кода: Агент (упрощенно)

def agent_loop(task):
    while not task_completed:
        action = llm.decide_next_action(task, history)
        if action.type == "call_tool":
            result = execute_tool(action.tool, action.params)
            history.append(result)
        elif action.type == "final_answer":
            return action.answer

Когда агент не нужен?

  • Задача требует однократного ответа на основе известных данных (например, ответ на вопрос по документации).
  • Нет необходимости во внешних вызовах или последовательных шагах.
  • Риск нежелательных действий агента (галлюцинации, бесконечные циклы) перевешивает выгоду.
  • Простота и предсказуемость важнее гибкости.

Вывод: RAG подходит для задач, где нужен точный ответ на основе предоставленного контекста, а агентная архитектура — для сложных, многошаговых сценариев, требующих автономного принятия решений. Выбор зависит от сложности задачи и требуемого уровня контроля.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

  • Node.js

    Node.js

Ключевые слова

#RAG

#agent architecture

#retrieval augmented generation

#LLM

#decision making

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.