Web frameworks in the age of AI

Published by

on

I’ve been recently coming back to an old habit, and sitting down to code. Thinking and solving problems coding through them, which I enjoy! I thought it might be a good idea to work on/with Django, as I became familiar with the codebase as we used it extensively in Octobot.

One thing that has been simmering in my mind is the following question: Will we continue to use web frameworks (like Django) to create new products and services, particularly in the age of AI? Is there a path forward where these tools will remain useful and relevant?

Yes (I think)

Programming languages have some features in common with natural language, but also some very important differences. Most importantly, a programming language is precise and finite. That means that we understand precisely what a program does by looking at the code.

This is particularly useful in trying to specify some role or behavior in an unequivocally and objective way. I believe this will still be a powerful tool going forward when we interact more and more with other people and, of course, LLMs.

If that’s the case, there is also a point to be made that we will probably still use reliable tools and platforms to build upon as it makes economic sense to keep existing railways. I don’t think that the web is going anywhere anytime soon, for instance.

And while there will be new field forces at play this time, there is a reason why web frameworks were a pivotal technology 20 years ago – it’s a very convenient way to build applications for most cases.

In the LLM era, I believe that convenience is going to be looking for some specific traits.

Positive traits

I think that there is a set of positive traits that will increase selection for some set of tools, via easiness to work with LLMs. Also, the ability to integrate LLMs and multimodal AI tools to a project or solution in a flexible and adaptable way.

Semantics, conciseness & simplicity

To unlock the productivity revolution that LLMs promises in development, I would expect that it should be easy to interact frequently. That implies that it must place a small additional cognitive load on the person working with it – or else it would draw from one’s bandwidth.

Should that hold, I think these three attributes will be positive traits for tools and frameworks. The ability to quickly understand what existing code does for an LLM and vice versa is what will enable hyper-speed.

Bloat, complex semantics far from natural language, unnecessary verbosity – all of these will be negative traits as they have been so far.

Security

Having a secure-by-default set of tools to work on, will ease the need to be constantly on the lookout for security issues. No need to reinvent the guardrails on every corner, and having many eyes on those, will likely be a stronghold.

Documentation and consistency

Clear, properly versioned documentation seems to be paramount to exploiting different characteristics of LLMs in the context of justifying decisions or providing references. Things like RAG.

The same goes for consistency. Too many changes in short periods from a framework or library might result in below-par productivity since there probably is less data and more noise. This creates an impedance mismatch in collaboration that might be hard to overcome.