I’ve heard this being discussed as focused and diffuse modes of thinking - https://fs.blog/focused-diffuse-thinking/ - although not in relation to verbal and non-verbal thinking.
One thing I was wondering after looking at the list of items in the “Cursor agent produced a coding plan” image: do folks actually make such lists when developing a feature without AI assistants?
That list has items like “Create API endpoints for …”, “Write tests …”. If you’re working on a feature that’s within a single codebase and not involving dependencies on other systems or teams, isn’t that a lot of ceremony for what you’ll eventually end up doing anyway (and only likely to miss due to oversight)?
I see a downside to such lists, because when I see a dozen items lined up like that… who knows whether they’re all the right ones for the feature at hand? Or whether the feature needs some other change entirely, or whether you’ve figured out the right order to do them in?
Where I’ve seen such fine-grained lists have value is for task timeline estimation, but rarely for the actual implementation.
Perhaps do activities like manipulating physical objects (carpentry?, Lego, Rubiks cube), games like Tetris, or complex body movements where verbalization won't be of much use. Or standard Quantitative Reasoning problems from entrance exams. A few years back, the wordcel vs shape rotator debate/binary was being discussed online: https://roonscape.ai/p/a-song-of-shapes-and-words?r=53sw
That's already more customisation than most software will allow, but to paraphrase an old saying, "those who don't understand strftime() are doomed to reinvent it poorly":
Wouldn't the sweet spot for MCP be where the LLM is able to do most of the heavy lifting on its own (outputting some kind of structured or unstructured output), but needs a bit of external/dynamic data that it can't do without? The list of MCP servers/tools it can use should nail that external lookup in a (mostly) deterministic way.
This would work best if a human is the end consumer of this output, or will receive manual vetting eventually. I'm not sure I'd leave such a system running unsupervised in production ("the Automation at Scale" part mentioned by the OP).
I agree. In any large backend software running on a server, it's the LLM invocation which would be a call out to an external system, and with proper validation around the results. At which point, calling an "MCP Server" is also just your backend software invoking one more library/service based on inspecting some part of the response from the LLM.
This doesn't take away from the utility of MCP when it comes Claude Desktop and the likes!