Хорошие agent-native архитектуры обладают следующими характеристиками: ∙ Паритет. Всё, что пользователь может сделать в приложении, может сделать и агент. ∙ Гранулярность. Функции — это промпты, а не инструменты. Агент имеет доступ к инструментам более атомарным, чем функции, поэтому несколько вызовов инструментов складываются в одну функцию. ∙ Композируемость. Это обеспечивает композируемость (composability): агент может легко комбинировать вызовы инструментов новыми способами. Это позволяет разработчикам двигаться быстрее, а пользователям — проще кастомизировать приложение через промпты. Всё вышеперечисленное обеспечивает эмерджентные возможности вашего приложения — оно может делать то, что вы не планировали. Это позволяет обнаруживать скрытый спрос пользователей, который формирует ваш роадмап. Именно так @bcherny создаёт функции в Claude Code — который спроектирован со всеми этими характеристиками.»