// Tourism AI Agent

Guidemate - tourist AI agent for the Lubelskie region

We built Guidemate as a LangGraph-based agent embedded on the Lubelskie Voivodeship's official tourism portal - typed toolkit over the region's curated tourism knowledge, integrated with Poland's RCB government safety-warning feed, deployed on the LangGraph Platform agent service. Serves visitors in 30+ languages at ~$0.01 per message, with a guardrails layer running at 99.3% accuracy.

offices

Lublin, Poland

size

~2.1M residents (region)

industry

Regional government tourism

revenue

-

// Outcomes

The numbers that matter

  • 99.3%

    guardrails accuracy

  • $0.01

    per message

  • 30+

    languages supported

01 · Tourism information is fragmented; safety information has to be authoritative

The Challenge

The Lubelskie Voivodeship is a ~2.1M-resident region in eastern Poland with cross-border tourism from Ukraine and Belarus and visitors arriving in dozens of languages. Their official tourism portal - lubelskie.travel - sits on top of a sprawling set of knowledge sources: points of interest, museums, accommodation, events, transport, regional cuisine, hiking and water-tourism routes. A visitor's question ("weekend in Roztocze with kids, where to stay and where to eat?") doesn't have a single source of truth - it spans five.

On top of the tourism layer there's a second, harder requirement. A regional-government tourism portal can't pretend that civil safety doesn't exist. Hazardous weather, fire warnings, road closures, and flood alerts are issued by Poland's RCB (Rządowe Centrum Bezpieczeństwa) - the government crisis-management center - and a tourist asking "is it safe to visit Roztocze this weekend?" needs an answer that reflects the actual RCB feed at that moment, not a frozen FAQ.

Three constraints shaped the build. The agent had to serve visitors in 30+ languages, because that's the language spectrum the portal actually sees in practice. It had to be cheap to run at the volume an inbound-tourism portal handles - every Złoty per message matters when budgets are public. And it had to pass a guardrails bar a public-sector procurement team would actually sign off on: no hallucinated POIs, no off-topic answers, no inappropriate output reflecting back on a regional-government brand.

02 · Single LangGraph agent. Typed toolkit. RCB safety feed. Guardrails as a release gate.

Approach

Step 1: Single agent with a typed toolkit, not a multi-agent orchestra.

The agent is a single LangGraph graph with a typed tool per knowledge surface - points of interest by region/category, accommodation lookup, events by date, transport routing, regional cuisine, water-tourism trails - plus the RCB safety-feed tool. Each tool encodes its own contract against the underlying source so the model picks tools, the tools pull deterministic data. We deliberately avoided a supervisor/multi-agent shape: at the question volume a tourism portal sees, every supervisor hop is latency the visitor feels and tokens the budget pays for.

Step 2: RCB hazard-warning feed as a first-class tool.

The RCB feed (Poland's official government crisis-management warning channel) is wired in as a dedicated tool the agent can call. When a question implicates a region or an outdoor activity, the agent pulls the live RCB warnings for that area and folds them into the answer - "yes, Roztocze is great this weekend, but RCB issued a fire-risk warning for the south-eastern part of the region until Monday". Civil safety isn't a separate consent banner; it's woven into the planning answer.

Step 3: 30+ languages, with the guardrails layer language-aware.

The portal's visitor mix runs into 30+ languages. The agent operates natively across them - questions in Polish, English, Ukrainian, German, Russian, Czech, Slovak, and the long tail are answered in the same language they're asked in. The guardrails layer (off-topic detection, brand-safety, refusal patterns) runs in every supported language, not just English - that's the part most off-the-shelf moderation gets wrong outside the top 5 languages.

Step 4: Guardrails as a release gate, not an afterthought.

Two layers of guardrails. Pre-tool: classify the question - tourism, civil-safety, off-topic, attempted abuse - and route accordingly. Post-generation: brand-safety, hallucinated-POI detection (cross-checked against the knowledge base), and refusal-handling for questions outside the agent's scope. The composite layer benchmarks at 99.3% accuracy against the customer's evaluation set, which is the bar a public-sector procurement signs off on before the agent goes on a government domain.

Step 5: LangGraph Platform agent service for deployment.

Deployed on the LangGraph Platform agent service - managed runtime for the agent graph, persistent thread state, observability, and the deployment surface a public-sector IT team can hand off to. Cost-tuned tool routing plus a small-vs-large model split keep per-message cost at ~$0.01 - a number that survives the volume an inbound-tourism portal generates without blowing the public-sector budget.

03 · Embedded on lubelskie.travel. 30+ languages. RCB-aware. ~$0.01 / message.

Result

  • Guidemate ships embedded on the Lubelskie Voivodeship's official tourism portal (lubelskie.travel), serving the inbound-tourism mix of a ~2.1M-resident region.
  • 30+ languages supported - visitors get answers in the language they asked in, with guardrails running language-aware, not just on the English-language slice.
  • RCB (Rządowe Centrum Bezpieczeństwa) hazard-warning feed integrated as a first-class tool - civil-safety context is folded into planning answers automatically when the question implicates a region or outdoor activity.
  • 99.3% guardrails accuracy on the customer's evaluation set - off-topic, hallucinated-POI, and brand-safety checks at the bar a public-sector procurement signs off on.
  • ~$0.01 per message at production volume - cost-tuned via tool routing and a small-vs-large model split, so the per-conversation budget survives the inbound-tourism scale.
  • Built as a single LangGraph agent with a typed toolkit, deployed on the LangGraph Platform agent service - managed runtime, persistent thread state, observability the public-sector IT team can run.

The win is in the shape: a single typed-toolkit agent that's cheap enough to run at public-portal scale, multilingual enough for inbound tourism, and safety-aware enough that a regional-government brand can put it on their domain. RCB integration is the part that makes it a tourism agent for a government - not a tourism agent that happens to sit on a government site.

// Expert insight

A tourism agent on a regional-government domain doesn't fail in a quiet way - every off-topic answer, every hallucinated POI, every language the moderation layer doesn't cover is reflected back on the brand. We built Guidemate as a single LangGraph agent with a typed toolkit, wired in the RCB hazard-warning feed as a first-class tool, and held the release on a 99.3% guardrails bar across 30+ languages. The architecture is what keeps the per-message cost at ~$0.01 at portal scale.
Karol Gawron

Karol Gawron

Head of R&D @ bards.ai

// Ready to ship?

Let's build something that delivers numbers like these.

Book a meeting