ai
The AI Situation
Random thoughts about prompting, context windows, compression, and working with AI.
You want it to do something you have in mind, and you know how/what to do, or sometimes you don’t. Now there are 3 options: you tell it everything down to the details, every specific thing.
Or you just tell it to do something at a high level and expect the thing to understand.
Or you can go the middle way. I feel this is the go-to way, explaining the important parts that you think might be difficult for it.
You can feed it examples. It’s a faster way to do things, but it depends on the example being close to what you want.
All of these are time-consuming. Some you spend time before giving to AI, some after.
A common pattern is easy for LLMs to implement, considering they must have seen it before in their training set, for example implementing user auth. A new problem you’re imagining or telling it is of course hard for it and needs hand-holding.
Then there’s the context window problem. You can’t just give a 3000-word, 4-page detailed dense spec and expect it to follow everything, and the larger the codebase, the less it can pack everything in, nor are the vast documents you can feed it worthwhile. Not only for writing detailed specs ~ you also want it to summarize patterns, draw conclusions from a large dataset, be it something like analyzing vast amounts of numerical data, for example a historical dataset for a stock.
So the cost is on you: you still need to spend the time to write a detailed guide for your project, its goals and its issues, and more importantly the blueprint of the thing you want.
Then there’s domain-specific expertise of AI models. You need to pick and choose the right one.
As you work on bigger problems and as you integrate AI into your applications, a need for compression arises, packing as much useful information as possible, if not all, into your AI agent to solve a particular problem or to draw a conclusion, make a decision or whatever. I think there will be companies in this space that’ll do this effectively, or the model builders will just solve this once and for all.
There must be feedback loops in terms of tests, tooling (purpose-built or otherwise), and refining its approach as the codebase grows large. And ways for improving the signal-to-noise ratio in your codebase.
I feel that great explainers or natural teachers find it easy to engage with AI and produce better outputs.
Bottom line: you still need to spend time. The implementation time is gone. Now the time you spend has shifted to designing the system upfront, changing assumptions, and refining your dev setup. But implementation is not really gone. I feel I am still implementing in words instead of code.