Operator-ready prompt for reuse, tuning, and workspace runs.
This item is set up for developers who want to inspect the original language, fork it into Workspace, and adapt the evidence model without losing the source prompt structure.
Implementation handoffs, eval setup, and prompt tuning where you need the original structure intact.
Inspect first, copy once, then fork into Workspace when you want variants, notes, and model settings attached to the same run.
Swap domain facts, examples, and any hard-coded entities for your own context.
Tighten the evidence or verification requirement if this is headed toward production.
Decide which failure mode you want to evaluate first before you branch the prompt.
This prompt already carries implementation detail, tool context, and a final-output instruction. Keep that structure intact when you tune it, or your comparison runs get noisy fast.
Open this prompt inside Workspace when you want a live iteration loop.
Copy for quick reuse, or run it in Workspace to keep prompt variants, model settings, and prompt-history changes in one place.
Structured source with 17 active lines to adapt.
Already linked to a challenge workflow.
Sign in to keep private prompt variations.
Prompt content
Original prompt text with formatting preserved for inspection and clean copy.
Implement the `UserTopicAnalyzer` agent to call Gemini 2.5 Flash for extracting topics from simulated user data. Subsequently, integrate LIME to explain the `AdStrategist`'s targeting decisions and the `PrivacyAuditor`'s flagging decisions. This might involve creating a wrapper function or a custom tool for the agents to invoke LIME.
```python
# Example of how UserTopicAnalyzer might use Gemini
def analyze_topics(user_data: str) -> str:
response = autogen.Completion.create(context=user_data, llm_config=llm_config)
return response.get("choices")[0].get("message").get("content")
# Integrate this function into UserTopicAnalyzer's capabilities or tools
# Consider a custom tool for LIME:
# from autogen.agentchat.contrib.llm_utils import register_for_llm
# from lime.lime_text import LimeTextExplainer
# @register_for_llm(name="explain_decision", description="Generates a LIME explanation for a text-based decision.")
# def explain_decision(text_input: str, model_prediction_function, class_names: list) -> str:
# explainer = LimeTextExplainer(class_names=class_names)
# explanation = explainer.explain_instance(text_input, model_prediction_function, num_features=6)
# return explanation.as_plain_text()
# # ... then make this tool available to the relevant agents
```Adaptation plan
Keep the source stable, then branch your edits in a predictable order so the next prompt run is easier to evaluate.
Hold the task contract and output shape stable so generated implementations remain comparable.
Update libraries, interfaces, and environment assumptions to match the stack you actually run.
Test failure handling, edge cases, and any code paths that depend on hidden context or secrets.
Copy once for a pristine source snapshot, then move the prompt into Workspace when you want variants, run history, and side-by-side tuning without losing the original.
Prompt diagnostics
Quick signals for how structured this prompt already is and where adaptation work is likely to happen first.
This prompt already mixes executable detail with instructions, so the safest path is to tune examples and interfaces before you rewrite the overall scaffold.
Multi-Agent Ad Policy Auditor
Develop an advanced multi-agent system using AutoGen to autonomously audit proposed advertising strategies against simulated user conversation data. This system will focus on ensuring compliance with privacy policies and verifying ad claims before deployment. Agents will collaborate to extract topics, propose ad targeting, review privacy implications, and fact-check promotional content, providing explainable insights into their decisions. The challenge emphasizes building robust, privacy-aware AI systems that can operate with human oversight where needed.
Use the challenge page to recover the original task boundaries before you tune the prompt. That keeps your variants grounded in the same evaluation target instead of drifting into a different problem.