I don't think it's necessarily as hard as you think. Can't do math? Teach the model to use an external mathematical expression evaluator to do math. Makes up inaccurate information? Teach it to query an external knowledge base. How hard to implement do you think that is? They're already working on it.