I want to write an automated interview system that uses an LLM as the core. The system will take a list of questions in natural language, a scoring rubric for each question, and then will run a chat interaction that is guided to get through all of the questions. We are using a system that can mix code with calls to the LLM. 

Assume that you have an LLM based chat engine that is persistent. You can have an object that represents it, it will have long term memory, and can be called with a single question and stop condition and will return the interactions from that, within an existing chat context.

Write pseudo code for this, call out native code and LLM calls where appropriate. 