So in my last post, I hinted that I’d spend time proving to you guys that unlike the majority of vibe coders out there, I have sufficient experience with AI coding tools as well as increasing knowledge regarding my fundamentals to fundamentally (haha) guide AI without being lost.
Let’s use my Autonomous ML Agent as an example.
So I’ve been working on an Autonomous ML Agent that walks through the entire Machine Learning Pipeline with an LLM as the orchestrator of those tasks. These tasks, also known as tools, are simply provided to the LLM as options, and with the help of a prompt, the tools, and a suggested order as a hint, the LLM should actively take the necessary steps the same way a normal data scientisit or machine Learning engineer would.
The problem: A continuation of a similar problem I worked on as an S&P Global Software Engineer Intern. That is, to what extent does macroeconomic variables help predict a company’s financials, but more specifically, their revenue growth? Well, if you’ve recently been laid off by a company, experienced hiring freezes, or even experience shifting consumer prices, it’s likely due to a macroeconomic variable. But which one holds more weight, and does this apply to almost all companies regardless of sector?
The entry point is run_agent.py. Once that script is executed (usually triggered) by a button click on my streamlitUI frontend (soon to be implemented), the LLM is given tools as I mentioned previously. Then we log exactly what tool the LLM chooses and specifcially log the reasononing. Then we have a Python function which executes those tools, appends to history [the step the agent performed, the tool call and the reason, and the tool result], feeds the tool result back to the messages, then repeats until stops. Since this is an LLM, you’re probably wondering…. How on earth do we prevent it from going rogue and calling tools indefinitely. 1. Because we’re aware of the data science/Machine Learning Life Cycle, we know that these steps boil down to a certain number, so we set an explicit cap. 2. We also give the agent the ability to call a stop tool when it feels like it has finished the process.
Pause.
Now, Machine Learning Fundamentals that I’ve gathered from this includes being wary of guidelines when using a time series training model. Why does that matter? Well after importing scikit learn, I have to actually inspecting see if my model is being randomly trained. Before, my use case was to build a regression model since i’m calculating a quantity and not a yes/no question. If i DIDN’T understand that or at least alert users to be aware of that, then it would’ve been easy to overlook the code whereby my train_test_split was random when that doesn’t make sense for my question. Im keeping track of company specifc variables which are recorded during certain times. instead, i should be more specific with my split, identifying
THAT’S value. THAT’S coding with intention, and not praying that AI somehow leads you in the right direction.
Okay, still a vibe coder? Stay tuned for next time when I get into even MORE specifics.
(By now, you should understand what separates a vibe-coder from an engineer is comprehension)



