async def revise_article(self, topic: str, initial_draft: Article, panel_review: str) -> Article: # the prompt is the same for all writers prompt_vars = { "prompt_name": "AbstractWriter_revise_article", "topic": topic, "content_type": self.get_content_type(), "additional_instructions": ltm.search_relevant_memories(f"{self.writer.name}, revise {topic}"), "initial_draft": initial_draft.to_markdown(), "panel_review": panel_review } prompt = PromptService.render_prompt(**prompt_vars) # this logs prompt result: Article = await self.revise_response(prompt) await evals.record_ai_response("revised_draft", # you'd use this to filter ai_input=prompt_vars, # useful for simulation ai_response=result) # this logs response return result