LiveCode Algorithms Python Agents RAG

Логическая задача

  • Есть 5 фермеров, ранжированных по старшинству от 5 (старший) до 1 (младший), и 100 одинаковых сертификатов. Фермеры рациональные, жадные, строгие (при прочих равных голосуют против). Старший предлагает распределение, все голосуют. Если ≥ половины «за» — план принимается, иначе старший исключается, процесс повторяется со следующим. Какой план предложит пятый фермер, чтобы его не исключили и он получил максимум сертификатов?

Python-задача

  • Реализовать LRUCache с capacity. Методы: get(key) возвращает значение или −1, если ключа нет; put(key, value) добавляет / обновляет, при переполнении вытесняет наименее недавно используемый ключ. Реализовать так, чтобы операции были близки к O(1).

RAG и агенты

  • Какая разница между LangChain, LlamaIndex и LangGraph?
  • Какую эмбеддинг-модель выбрать: локальную или API (text-embedding-ada-002)?
  • Зачем использовать sparse-векторы (BM25) рядом с dense?
  • Что такое state-graph (LangGraph)? Когда он лучше плоского pipeline?
  • Когда стоит использовать LLM-Judge для оценки RAG?
  • Зачем нужны реранкеры? Как назначать веса при реранжировании?

Безопасность инструментов

  • Безопасен ли вызов tool? Чем отличается обычный tool от MCP с точки зрения безопасности?
  • Как обезопасить вызов MCP / tool в агенте (контейнеризация, sandbox)?
  • Как защитить чувствительные данные (PII) от модели через маскирование?
  • Как расшифровать обратно после маскирования? Где хранить шифры?

Архитектура агентов

  • Что лучше — много tool-call или монолитный prompt? От чего зависит?
  • Гарантированно ли модель исполнит prompt? Как обезопасить?
  • Как дать генеративной модели второй шанс исправиться (показать ошибку, JSON-схема, search-apply через diff)?
  • Зачем нужен стриминг ответа? Чем стриминг лучше блок-вызова?
  • Что такое Deep Search / Thinking режим?