My journey with coding agents

I have been working lately on the combination between RAG, tools execution with LLM and MCP. This is a really passionate and interesting field, and I have found myself spending hours reading a lot to understand some nitty gritty of the stuffs. There is frankly a vast world around this, and from what I have experienced, mostly written in python.

The R community is trying to catch up lately, there are a bunch of packages out there. Most of them are written by the Posit developers: ragnar, ellmer, mcptools, shinychat. I like their approach (particularly ellmer that I use regularly). They are user friendly, which is really what people want when turning to R. Unfortunately R is still far behind, the mcptools package for example is just maturing. A lot of infrastructure is already built in python. Even the LLM/coding agents use python most of the time, if it is available on the executing machine. Which normal, they have been heavily trained on it.

Personally, I think that it is not a big deal, as the coding language does not matter anymore. What is important is the output and the efficiency. I am happy that for example we can build R packages with Rust without having a deep knowledge of Rust itself. Lately, I have been able to build a lot of packages and tools in languages I don’t have advance knowledge with the help of claude. What is quite striking is that they are working just fine. In fact the important part is the design of the system you want to build: It has be well though in advance. Developing with Claude is time consuming and also drains a lot of energy. You have to monitor the LLM outputs, think deeply about the structure and the system you want, and you can quickly spend one night without sleeping. Especially because the LLM outputs a lot: You basically need to go through the outputs before committing.

I think the value of building tools in R is more for people who want to understand quickly what specific packages do, and who want to use them without relying on an agent. This is very valuable in heavily R-oriented environment, especially if the users don’t have the time to switch completely to python. It is still important to build those simple bridge, and bring the amazing tools already built to the R ecosystem. And I think with the help of LLM coding agents, R ecosystem will flourish with a lot of packages - in fact any language ecosystem now. People will basically be able to do whatever they want in the language they know very well, without having to learn another one. And yes, highly personalized software will pop up. We are living interesting times!