Everyone is doing this sort of "better write some MCPs" thing, so that you can keep the LLM on the straight and narrow.
Well, let me tell you something. I just went through my entire backlog of improvements to my trading system with Claude, and I didn't write any MCPs, I didn't write long paragraphs for every instruction. I just said things like:
- We need a mock exchange that fits the same interface. Boom, here you go.
- How about some tests for the mock exchange? Also done.
- Let's make the mock exchange have a sawtooth pattern in the prices. Ok.
- I want to write some smart order managers that can manage VWAPs, float-with-market, and so on. Boom, here you go.
- But I don't understand how the smart orders are used in a strategy? Ok, here's a bunch of tests for you to study.
- I think we could parse the incoming messages faster. Read the docs about this lib, I think we can use this thing here. Boom, done.
- I have some benchmarks set up for one exchange, can you set up similar for others? Done.
- You added a lock, I don't want that, let's not share data, let's pass a message. Claude goes through the code, changes all the patterns it made, problem solved.
- This struct <here>, it has a member that is initialized in two steps. Let's do it in one. Boom, done.
- I'm gonna show you an old repo, it uses this old market data connector. How do we use the new one instead? Claude suggests an upgrade plan starting with a shared module, continuing towards full integration. Does the first bit, I'm mulling over the second.
Over the last four days, it has revolutionized my code. I had a bunch of things I knew I could do if given enough time. None of the above would stump me as an experienced dev these days. But it would take my attention. I'd be in a loop of edit/compile/test over every feature I've mentioned above, and I would be sure to have errors in either syntax or structure. At some point, I would use a pattern that was not ideal, and I'd have to backtrack and type/google/stackoverflow my way out of, and each step would take a while.
Now, I can tell Claude what to do, and it does it. When it fails, it's productively failing. It's closer to the target, and a gentle nudge pushes it to where I want.
To be honest I suspect the things you are working on are either too small or too narrowly scoped to start running into the kinds of problems people are running into with llms. Give it more time and you’ll start to run into limitations.
Yeah, I'm starting to see a pattern to these "LLM's aren't the bee's knees" articles.
First, it's always some 'telegram bot' type project where it all starts to break down when they try to add too many features on the existing (buggy) features without understanding what the stupid robot is up to.
Second, they all come to the conclusion they don't want to be 'unpaid project managers' and it's better for the entire world for people to get paid the $100k+ salaries to write crappy javascript.
During the heart of Covid, when the scientific archives were opened for everyone, I downloaded a bunch of stuff and have been working through some of it with the help of Claude. Perhaps surprising to the vibe coders, if you constrain the robots and work through their lack of 'intelligence' they're pretty good at taking the theoretical concepts from paper A, B and C and combining them into a cohesive system which can be implemented as individual modules that work together. I believe there used to be a term of art for this, dunno?
You can also stumble on things which nobody really realized before as the theoreticians from Paper A don't go to the same parties as the theoreticians from Paper B so they don't realize they're working on the same problem using a different 'language' and only when you try to mash them together does the relationship become obvious. Having a semi-useful robot to think through something like this is indispensable as they can search through the vast databanks of human knowledge and be like "no, you're an idiot, everyone knows this" or "yeah, that seems like something new and useful".
This feels like a comment shot from the hip. You fundamentally misread my argument while proving my core point.
You crystallised the disconnect yourself: "with the help of Claude."
The article’s first line states: "LLMs are helpful." My stance is clear. I’m not anti-AI. When I wrote "I use Claude on a VERY short leash with a specific purpose" ... that is "with the help of Claude."
My experiment tested the opposite: "let Claude build it".
The 'telegram bot' is a fullstack app with non-trivial db schema, state management and 3rd party integration. Instead of dismissing it, show me a better alternative and explain why it’s superior.
You defend expertise in your domain (research synthesis), describing how you "constrained the robots" using your expertise to guide Claude. Yet you dismiss equivalent expertise in software engineering, reducing it to "$100k+ to write crappy JavaScript."
How did you "constrain" Claude without knowing what needed constraining, why it mattered and how to evaluate if the output was valid?
Yeah I gave some thought to the possibility that my codebase already has an example of everything I want to do, and that this is why Claude is doing so well with it.
But if true, that's a good thing. It means once you get to a certain structure, edits are now close to free.
You're describing exactly what I distinguish as legitimate AI use, not vibe coding. You're an experienced dev who understands your system deeply, making architectural decisions ("no locks, pass messages instead") and using Claude to implement specific, well-defined tasks faster.
The key difference: you could do everything yourself and Claude is doing the typing for you.
When you say "None of the above would stump me as an experienced dev", that's the opposite of vibe coding.
You're using AI as a typing accelerator for a codebase you understand, not as a replacement for expertise you never developed.
Everyone is doing this sort of "better write some MCPs" thing, so that you can keep the LLM on the straight and narrow.
Well, let me tell you something. I just went through my entire backlog of improvements to my trading system with Claude, and I didn't write any MCPs, I didn't write long paragraphs for every instruction. I just said things like:
- We need a mock exchange that fits the same interface. Boom, here you go.
- How about some tests for the mock exchange? Also done.
- Let's make the mock exchange have a sawtooth pattern in the prices. Ok.
- I want to write some smart order managers that can manage VWAPs, float-with-market, and so on. Boom, here you go.
- But I don't understand how the smart orders are used in a strategy? Ok, here's a bunch of tests for you to study.
- I think we could parse the incoming messages faster. Read the docs about this lib, I think we can use this thing here. Boom, done.
- I have some benchmarks set up for one exchange, can you set up similar for others? Done.
- You added a lock, I don't want that, let's not share data, let's pass a message. Claude goes through the code, changes all the patterns it made, problem solved.
- This struct <here>, it has a member that is initialized in two steps. Let's do it in one. Boom, done.
- I'm gonna show you an old repo, it uses this old market data connector. How do we use the new one instead? Claude suggests an upgrade plan starting with a shared module, continuing towards full integration. Does the first bit, I'm mulling over the second.
Over the last four days, it has revolutionized my code. I had a bunch of things I knew I could do if given enough time. None of the above would stump me as an experienced dev these days. But it would take my attention. I'd be in a loop of edit/compile/test over every feature I've mentioned above, and I would be sure to have errors in either syntax or structure. At some point, I would use a pattern that was not ideal, and I'd have to backtrack and type/google/stackoverflow my way out of, and each step would take a while.
Now, I can tell Claude what to do, and it does it. When it fails, it's productively failing. It's closer to the target, and a gentle nudge pushes it to where I want.