HomeAboutBlogProjects
Back to all articles
By Alejandro Herrera Merlo

Building an End-to-End AI Bug Triage Agent with Multi-Tool Orchestration

How we connected a custom platform I helped build, Notion, Cursor, and GitHub into an autonomous triage loop to eliminate manual issue overhead.

AI AgentsAutomationGitHubArchitecture

Building an End-to-End AI Bug Triage Agent

As software platforms grow, the operational overhead of ingesting user bug reports, identifying reproduction steps, cross-referencing codebases, and ticketing issues can quickly overwhelm engineering velocity.

During my work on a recent platform, we built an end-to-end automated bug triage agent designed to bridge the gap between user feedback, project planning tools, and the developer’s editor.


The Architecture

The agent orchestrates interactions across multiple tools:

[User Report / Custom Platform]


[Triage Agent (LLM + Vector Context)]
     ├───► Enriches with historical logs (ChromaDB)
     ├───► Generates sanitized reproduction steps
     ├───► Creates structured issue in Notion / GitHub
     └───► Deep-links context directly to Cursor / IDE

1. Vector Search for Duplicate Detection

Before logging a new issue, the agent checks existing issues and historical chat interactions in ChromaDB. If a high cosine-similarity match exists, the agent updates the existing thread instead of spamming engineers with duplicate tickets.

2. Context Extraction & Reproduction Steps

Raw user descriptions are often vague (“it stopped working on mobile”). The triage agent parses client state, device headers, and recent interaction logs, synthesizing:

  • Precise reproduction steps
  • Suspected code modules or services
  • Impact level and severity ranking

3. Bi-Directional Synchronization

By orchestrating GitHub Issues, Notion databases, and IDE hooks (such as Cursor deep links), engineers receive tickets with code snippets and file paths pre-populated, cutting triage time by more than 60%.


Key Takeaways

  1. Deterministic Guards Around LLMs: Unchecked agents can hallucinate repro steps. Always validate generated references against actual schemas or codebase indexes.
  2. Context Compression: Don’t send entire interaction traces into prompt windows; summarize and vectorize chunked events.
  3. Developer Ergonomics: The best agent is one that embeds directly into where the team already works—GitHub and IDEs.