<< Go back to Posts

Rewriting my Thesis Works with Coding Agents

My favorite apps



Introduction

During my thesis, part of my work was to develop algorithms to analyze a citation graph.

I built a complex tool, managing a Neo4J database with more than 5 million nodes, computing similarity between nodes, making visualization.

The tool was working, but I was the only one able to run it.

I did it 4 years ago (already, time flies!)

I wanted to recode it from scratch with Claude Code, to enhance it.

Result

I rebuilt the main engine in 2 days.

It seems very short compared to the thesis duration; however, a straight comparison is meaningless for the following reasons:

  • This is not all the work I did during my thesis (only 1/5)
  • I provided to the AI all the most sensitive part, the rest was just pure engineering
  • Because I knew what did not work, we went straight to the solution: no failed experimentation, only pure development of what I knew worked
  • This does not account for paper writing

So comparing the timeline is meaningless.

What Worked and What did not

What worked well

  • Homogeneity: I had a bunch of scripts doing different things, yet sharing some parameters. Five years ago I was much less experienced in programming, so the interfaces were not consistent.
  • Simplification: I had similar scripts with slightly different input data. I could ask the AI to find commonalities and handle the differences, producing a single script instead of several.
  • GUI and scripts: Scripts are straightforward, but if you don’t use them frequently you often struggle with the arguments. Using a GUI that manages files and suggests parameters made it easy. Each time the AI made changes to a script, the GUI was updated automatically.

What did not work well

  • Math: The AI got matrix multiplication wrong, even after I supplied a working example from my V1. (This was a critical part involving a bit of math; I didn’t want to explain the details, I just wanted the AI to upgrade the code.)
  • Bug fixing: I encountered an error in my Bokeh interface where data was incorrectly updated. I asked the AI at least five times to correct the bug while providing feedback each round. The AI was unable to fix it; I solved it by hand because it was a bug I had already seen before.
  • Project organization: By asking step‑by‑step what I wanted to do, the project remained flat, with all the logic duplicated across scripts and little reusable code. I requested a re‑organization to build a module, but this led nowhere.
  • Scalability: The dataset I used is a graph with 7 million nodes (during my thesis it was 5 M) and 70 million edges. For “new” improvements—I wanted to add a RAG to search some text—the AI could not anticipate potential problems; for example, ChromaDB was a no‑go.

Note: While the points mentioned above are poorly addressed, most of the time I am pretty happy with the answers I get from agents. In this special case, Bokeh is not a widely known Python library, and my work is not well known either, so it does not help LLMs as they haven’t been trained on it.

Where it is still stuck:

Finding derivative ideas, improving my current algorithm, … everything related to the unknown, because no one has ever worked on my specific problem.

This is discussed by some people here:

Even if the agent writes code, you are the guide. If you have no idea, the agent will only provide crowd basic ideas, not clever ones, so you need to think hard.



>> You can subscribe to my mailing list here for a monthly update. <<