🧩 Управление агентным контекстом
От чего зависит качество работы агентов? Почему в некоторых ситуациях модели решают задачу здорово, а иногда - ошибаются и косячат?
Причин, конечно, масса, но одна из них - контекст. Я уже затрагивал эту тему в заметке "Когда возможностей модели не хватает" (https://t.me/deksden_notes/11)
Традиционный контекст модели
⚖️ Как часто бывает, важен баланс.
Если вы не сообщили модели важную для её работы информацию, мы получим галлюцинации и некачественно сделанную работу. Например, модельне получила Api вашего модуля и знает только сигнатуру вызова. Тогда скорее всего при конструировании нового вызова она выдумает значения для неизвестных ей параметров, и вы meltnt фиксить это на этапе компиляции/тестов.
Но и если мы "перекормили" модель информацией, она в ней потеряется. Если вы скинули весь файл документации десятков методов api ради одной функции - тоже ничего хорошего, размываем внимание модели.
🧩 Вот и получается, что подготовка контекста в чем то напоминает сбор паззла, причём с довольно пристальным рассматриванием каждого кусочка - подходит ли он, или нет.
Получается, что с моделями ситуация немного проще: собрал контекст, подготовил промпт - получил ответ. Если ответ не устраивает, работаем с контекстом: переформулируем запрос, добавляем/убираем контекст. Инструменты типа prompt tower/repomix и товарищи делают этот процесс весьма управляемым даже с огромными контекстами.
Агентский контекст
Формирование агентского контекста имеет некоторые особенности, как упрощающие, так и усложняющие жизнь.
☽ С одной стороны, формирование контекста несколько проще: за счёт проактивной работы агента он в состоянии сам себе собирать конекст по своему разумению.
☾ С другой стороны, такая проактивность значительно снижает детерминированность агентных процессов. Если вы ведёте процесс в основном агенте, без использования схемы "оркестратор - агент", то легко получаем разное качество исполнения одного и того же эатпа в зависимости от предыдущей активности. Правило "мусор на входе - мусор на выходе никто не отменял".
😎 Поэтому использование специализированных агентов - это важный прорыв в обеспечении детерминированности: мы начинаем с пустого контекста, и можем сформировать его значительно более определённым!
Наверное вы уже понимаете, что концепция duo файлов (https://t.me/deksden_notes/49) как раз ложиться как инструмент "сборки" паззла агентского контекста.
▶️ Следующий момент: при формировании контекста агента мы можем воспользоваться анонсированными фичами нашего мемори банка - использовать аннотированные ссылки в промпте агента, причём ссылку можно делать условной (читать файл при необходимости). Тогда агент в состоянии сам решить - нужна ли ему эта информация или нет для решения задачи. Выходит значительная экономия контекста.
Индексные файлы агенты начинают использовать по-умолчанию.
🤞 Надеюсь, и у вас паззл постепенно начинает складываться - как из всех озвученных концепций начинать строить эффективно работающие системы
#post
@deksden_notes
Post #50
342