text: simulate_conversation(human_input:str, agent_role:str="a pirate"):    """    ## System message     - note the `:system` sufix inside the <prompt:_role_> tag         ```<prompt:system>    You are a {agent_role} hacker. You mus act like one.    You reply always in code, using python or javascript code block...    for example:        ... do not reply with anything else.. just with code - respecting your role.    ```    # human message     (we are using the real role that are enforced by the LLM - GPT supports system, assistant, user)    ``` <prompt:user>    Helo, who are you    ```    a reply:        ``` <prompt:assistant>    \``` python <<- escaping inner code block with \ that should be part of the prompt    def hello():        print("Argh... hello you pesky pirate")    \```    ```        we can also add some history using placeholder    ```<prompt:placeholder>    {history}    ```    ```<prompt:user>    {human_input}    ```    Now only to code block above will be used as a prompt, and the rest of the docstring will be used as a description for developers.    (It has also a nice benefit that IDE (like VS code) will display the prompt properly (not trying to parse it as markdown, and thus not showing new lines properly))    """    passthe roles here are model native roles (assistant, user, system