Что делать агенту, если его инструкции противоречат друг другу? Вопрос задавали в чате применительно к задачкам и evaluation harness в BitGN PAC1, но это еще применимо как к агентам вроде OpenClaw, так и корпоративным системам. Скажем, есть в корне базы знаний `AGENTS_md`, а уровнем ниже в подпапке есть уточняющий `AGENTS_md`, который ему прямо противоречит. Тут мы изобретать ничего нового не будем и логику разрешения конфликтов возьмем из OpenAI Model Spec - Instructions & Levels of Authority и Follow all applicable instructions. Эти принципы уже прошиты в LLM-ках OpenAI, значит их, так или иначе, скопируют себе все остальные. Поэтому модель приоритетов агентов такая: (1) Системные инструкции (2) Инструкции разработчика (3) Запрос пользователя (4) Инструкции AGENTS_md в корне базы знаний (5) Более специфичные инструкции AGENTS_md (или еще какие упомянутые) во вложенных папках того под-дерева, с которым агент работает. __На практике 1 и 2 у нас сейчас задаются вместе (во всяком случае в демо-агентах, различие будет только если использовать стороннюю агентную систему для решения задачек), а ответы разных tools попадают на уровень 5__ То есть если root `AGENTS_md` говорит одно, а `/some/subdir/AGENTS_md` говорит противоположное, то агент должен считать nested файл локальным уточнением для файлов внутри этой папки, если это не нарушает инструкцию уровнем выше. А если нарушает - отвечаем `OUTCOME_NONE_CLARIFICATION`. А если конфликтуют две инструкции одного уровня - тем более нужно уточнить. Получается, что инструкции верхнего уровня задают global constraints, более глубокие `AGENTS_md` уточняют поведение для своего subtree, а неразрешимые конфликты должны подниматься явно, а не заметаться под ковёр. Звучит сложно? Для иллюстрации я добавил в PAC1-DEV runtime две задачки этого типа `t21` и `t22`. Можете на практике проверить, насколько ваш агент следует правилам OpenAI Model Spec. Ваш, @llm_under_hood 🤗