https://medium.com/@types24digital/understanding-knowledge-based-agents-in-artificial-intelligence-cfbc23b86f4d