Ticket triage · Production

Linear uses LLMs and vector embeddings to surface similar and duplicate issues

The problem

Large engineering teams face a persistent duplicate-issue problem where, at worst, multiple engineers unknowingly fix the same bug; support teams also waste time manually aggregating related customer messages across tools.

First attempt

Initial experiments storing vector embeddings as blobs in the primary database worked for prototyping but posed performance risks; several dedicated vector databases were rejected due to scaling downtime, cost, or ops complexity; naive similarity queries without indexing regularly timed out on tens of millions of issues.

Workflow diagram · grounded in source
1
Issue creation trigger
trigger
“When you start filling out a new issue, @linear will now use LLM's to semantically find similar issues so that you don't enter duplicates”
2
LLM embedding generation
ai_action
“Embeddings encode the semantic meaning or concept of a piece of data as a matrix of floating point numbers so you can search and group items with similar meaning using simple mathematical operations. For example, "bug", "problem", "broke…”
3
Cosine similarity search
ai_action
“Using cosine similarity queries, issues that are conceptually similar would have a score closer to 1, whereas opposing ideas would be closer to -1”
4
Similar issues surfaced
output
“the support team can clearly see if a related issue already exists and what its status is. Without having to jump between different tools, they can respond accordingly”
5
Triage duplicate marking
human_review
“we'd be able to show existing similar issues front and center and make it easy to mark them as duplicates”
Reported outcome

The Similar Issues feature was rolled out to all Linear workspaces and has already helped the customer experience team consolidate support issues in Intercom with less manual aggregation time, with early community feedback confirming improved backlog management.

Reported metrics
Manual support message aggregation timeless time spent manually aggregating messages
Backlog management qualityhelping folks better manage their backlogs
Reported stack
LLMspgvectorPostgreSQLElasticSearchIntercomGoogle Cloud
Source
https://linear.app/now/using-ai-to-detect-similar-issues
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

The Similar Issues feature was rolled out to all Linear workspaces and has already helped the customer experience team consolidate support issues in Intercom with less manual aggregation time, with early community fee…

What tools did this team use?

LLMs, pgvector, PostgreSQL, ElasticSearch, Intercom, Google Cloud.

What results were reported?

Manual support message aggregation time: less time spent manually aggregating messages; Backlog management quality: helping folks better manage their backlogs (source-reported, not independently verified).

What failed first in this deployment?

Initial experiments storing vector embeddings as blobs in the primary database worked for prototyping but posed performance risks; several dedicated vector databases were rejected due to scaling downtime, cost, or ops…

How is this ticket triage AI workflow structured?

Issue creation trigger → LLM embedding generation → Cosine similarity search → Similar issues surfaced → Triage duplicate marking.