Теоретически RBS-системы могут быть очень мощными и гибкими. Однако для того, чтобы возможности той или иной RBS-системы были реализованы на практике, нужно, чтобы в такой системе был отражен опыт, накопленный в конкретной проблемной области. (Например, для огибания препятствий RBS-системе нужны соответствующие правила.) Основной вопрос при этом состоит в том, как получить этот опыт, выраженный в форме конкретных знаний? К сожалению, эта проблема присуща не только RBS-системам, но и системам ИИ в целом. Однако в системах, основанных на знаниях, она проявляется особенно остро. Процесс получения таких знаний в определенной области получил название накопления знаний (knowledge elicitation).
Конечно, RBS-системы во многом используют здравый смысл и найденные эмпирическим путем правила, что несколько облегчает задачу преобразования экспертных знаний в рабочие правила. Однако в целом эта задача является, на удивление, сложной, в связи с чем возникла научная проблема узкого места в получении знаний (knowledge acquisition bottleneck). Исследователи этой проблемы неоднократно пытались усовершенствовать соответствующий этап создания экспертных систем, разрабатывая специальные инструменты и методологии, однако "узкое место" по-прежнему остается.
В первых (т.е. созданных до 80-х гг.) системах, основанных на знаниях, предполагалось, что эксперты будут программировать свои знания внутри самой системы, как это делают программисты. Такой подход привел к тому, что многие созданные в те годы системы работали неустойчиво и были очень сложны в обслуживании (особенно сильно эти недостатки проявлялись в крупномасштабных системах). В результате в 1983 году возникла идея отделить систему от знаний путем их представления в декларативной форме. Это позволило отделить сами знания от их применения. Созданные по этому принципу системы получили название экспертных систем II поколения.