Data Slug

•

Vintage floppy disk on wooden surface — Data Slug blog header image

Journey over Data Tools and Exploration

Listen to this article:
0:00
0:00

TLDR: AI persona design is prompt engineering for personality — give your agent a backstory, not just a description. I tested the same prompt across Gemini, Claude, and ChatGPT and got three completely different approaches. Here’s what comparing them taught me about how models think about AI persona design, and the silent failure mode I didn’t catch until after my main commit.

AI persona design concept — multiple character masks representing different AI agent personalities

Part of building any AI product is deciding how to shape the UX. Few products can automatically serve every type of user — think of how differently Google and Apple approach their assistants. I’m not trying to match their scale. But I wanted to at least give my tax advisor agent different tones depending on who’s asking. That meant exploring AI persona design through prompt engineering.

As part of my latest iteration on the tax-advisor project, I knew it was possible to inject custom personalities via system prompts. So I started there: the same question, three different models.

what are potential AI agent backstory that is designed to give tax advice in Canada

Same question. Three very different answers.

How Each Model Approaches AI Persona Design

Gemini was the most creative. It went immediately into full character mode — names, acronyms, origin stories. This is the kind of AI persona design thinking that would normally take a product manager weeks of workshops to produce.

Gemini Persona Summary
  • G.A.B.E. (Guidance and Assistance Bot for Everyone) — Friendly, patient, slightly formal. Created by a university and public library consortium. Focused on helping new immigrants, students, and low-income families demystify complex tax topics.
  • “The Beaver” — Relentlessly pragmatic, efficient, accurate. Built by a fintech startup. Specialty: identifying every possible credit and deduction.
  • “Maple” — Warm, empathetic, reassuring. A financial literacy assistant from a major Canadian credit union. Goal: reduce tax-related anxiety.
  • “Section 245” — Highly advanced AI tax interpretation engine. Originated as an internal research tool for the Department of Finance Canada. Designed for accountants, lawyers, and individuals with complex financial affairs.

Claude took a completely different approach to AI persona design — it skipped the character names and went straight to functional specialization. More technically rigorous, but arguably less sticky from a product perspective.

  • TaxGuard AI — CRA audit expertise and risk management
  • ProvinceWise AI — Multi-provincial tax navigation
  • BizTax Pro AI — Small business and entrepreneurship focus
  • BorderBridge AI — Cross-border and international tax issues
  • Nations Tax AI — Indigenous tax law and exemptions
  • NorthTax AI — Northern communities and resource industries

ChatGPT took a hybrid approach — character names like Gemini, organized around functional segments like Claude.

  • Clara, the CRA Whisperer — Friendly but precise.
  • FinBot, the Financial Guide from the North — Helpful and civic-minded.
  • Maya, the Migrant-Turned-Tax-Pro — Empathetic, multi-lingual.
  • RetTax, the Retired CRA Agent — No-nonsense but kind.
  • LeafAI, Your All-Season Tax Assistant — Friendly, seasonal (different tone depending on time of year).
  • Juno, the Tax Coach for Creators & Freelancers — Energetic and motivating, Gen Z-friendly language.
  • CanTaxAI, the Policy-Fed Advisor — Serious, but clear.

Comparing all three revealed something I didn’t expect: AI persona design isn’t just about tone. It’s about which dimension the model uses to differentiate agents — character vs. capability vs. both. The right answer depends entirely on your user, not your preference.

Integrating Personas into Agno

With a working list of personalities, I asked Gemini to generate a Python class describing each persona so I can call them by name. I have a benchmarking question set I use to evaluate them — I’ll share that in a later post.

Here’s where the AI persona design work got interesting. My first instinct was to pass the persona backstory into just the description field and call it done. The agent won’t complain.

But I noticed — after the main commit — that it also won’t use the knowledge. It just skips it outright. No error, no warning. It defaults back to base model behavior as if the persona was never there.

Dev Note

This is exactly why AI agent validation matters. The underlying model is capable enough that the answer can look plausible even when the persona isn’t loading. You need specific baseline test cases — ideally ones that can only be answered correctly if the persona’s constraints are active — to catch this kind of silent failure. Without that, you think you’re building a persona, but you’re just getting the base model with extra steps.

The fix is to put the persona definition in instructions, not just description. Here’s the working pattern:

    agent = Agent(
        model=OpenAIChat(id="gpt-4o-mini"),
        knowledge=parse_pdfs,
        search_knowledge=True,
        description=st.session_state['prompt'],
        instructions= BASE_PROMPT,
        enable_agentic_knowledge_filters=False,
        show_tool_calls=True,
    )

Where BASE_PROMPT contains the persona definition and tells the agent to use the provided documents. Description alone isn’t enough — the persona needs to live in instructions to actually shape behavior.

What the Outputs Actually Show

G.A.B.E. vs. Section 245 on the same question is the clearest illustration of why AI persona design decisions matter:

G.A.B.E.
<user> What’s the difference between a tax deduction and a tax credit?

Hello. I’m G.A.B.E. I’m here to help you navigate the Canadian tax system. Let’s clarify the difference between a tax deduction and a tax credit, as both are important concepts in understanding how taxes work.

  1. Tax Deduction: Reduces your total taxable income. If you earn $50,000 and have a $5,000 deduction, your taxable income becomes $45,000.
  2. Tax Credit: Directly reduces the amount of tax you owe — not your income, your bill. If you owe $1,500 and have a $300 credit, your tax payable becomes $1,200.

If you have any further questions, feel free to ask!

Section 245
<user> What’s the difference between a tax deduction and a tax credit?

Tax Deduction: A tax deduction reduces the amount of income that is subject to taxation, thereby lowering the overall taxable income of the taxpayer. For instance, pursuant to section 8 of the Income Tax Act, individuals may claim various deductions related to employment expenses.

Tax Credit: Conversely, a tax credit directly reduces the amount of tax owed by the taxpayer. The Income Tax Act provides for non-refundable tax credits, such as those found in section 118, and refundable tax credits, which can result in a refund even when no tax is owed.

This information is for interpretive purposes only and does not constitute legal or financial advice. Please consult with a qualified professional and refer to the relevant statutes.

G.A.B.E. is the bot you want if you’ve never filed taxes before. Section 245 is a textbook call centre — it’ll answer correctly, but it makes you feel like you should have known that already. Both are valid AI persona design choices. They just serve completely different users.

This reminded me of the same underlying pattern I explored in The Boardroom — the persona you assign an agent defines not just its tone but the entire nature of the interaction. An agent that comforts is fundamentally different from one that cites statutes, even if both are answering the same question correctly.

Closing Thoughts

AI persona design is like giving an agent a different hat — except sometimes the hat changes how the agent thinks, not just how it sounds. The basic concept is powerful: you can use the same underlying model and produce dramatically different UX by changing the persona alone. And it’s not just about tone. Personas can encode limitations, product tiers, audience restrictions, and escalation behaviors.

The thing I underestimated: how easy it is to think a persona is working when it isn’t. Silent failures are the hardest bugs to catch. I’ll be sharing the benchmarking question set I use to validate persona loading in a future post — there’s a lot more to say about closed-loop testing for agent behavior.

Code is available here: https://github.com/lightshadow1/tax-advisor

If you’ve done similar persona work — especially if you’ve hit a silent failure mode you didn’t expect — I’d love to hear about it in the comments.

Leave a Reply

Discover more from Data Slug

Subscribe now to keep reading and get access to the full archive.

Continue reading