Choose Your Own Adventure: Non-Linear AI-Assisted Programming with EvoGraph

arXiv cs.AI / 4/22/2026

💬 OpinionIdeas & Deep AnalysisTools & Practical UsageModels & Research

Key Points

  • The article argues that today’s AI-assisted coding tools are mostly linear and chat-based, which mismatches programming’s inherently iterative and branching workflow.
  • Based on developer feedback, the authors created EvoGraph to capture AI interactions and code edits as a branching development graph inside an IDE.
  • EvoGraph lets developers compare, merge, and revisit prior AI-assisted states by manipulating the recorded graph, supporting more structured exploration.
  • A user study with 20 participants found that EvoGraph reduces cognitive load while enabling safer exploration, efficient iteration, and reflection on AI-generated changes.

Abstract

Current AI-assisted programming tools are predominantly linear and chat-based, which deviates from the iterative and branching nature of programming itself. Our preliminary study with developers using AI assistants suggested that they often struggle to explore alternatives, manage prompting sequences, and trace changes. Informed by these insights, we created EvoGraph, an IDE plugin that integrates AI interactions and code changes as a lightweight and interactive development graph. EvoGraph automatically records a branching AI-assisted coding history and allows developers to manipulate the graph to compare, merge, and revisit prior collaborative AI programming states. Our user study with 20 participants revealed that EvoGraph addressed developers' challenges identified in our preliminary study while imposing lower cognitive load. Participants also found the graph-based representation supported safe exploration, efficient iteration, and reflection on AI-generated changes. Our work highlights design opportunities for tools to help developers make sense of and act on their problem-solving progress in the emerging AI-mediated programming context.