These past few days, I've been immersed in coding for my project and learning a new programming language, sleeping very late.
This afternoon, when I skillfully opened Safari and Visual Studio Code, ready to solve problems and add new features, my cursor paused at Safari's address bar.
At that moment, I hesitated: should I first search for solutions and strategies in official technical documentation and community forums, or as usual, skillfully open Gemini, ChatGPT, or other agents, submit my requirements with a few simple sentences, and then wait for them to provide feedback solutions?
This might be a question worth pondering.
This hesitation is essentially a tug-of-war between "efficiency" and "depth".
Over the past two years or more, the continuous development of generative machine learning technology has indeed spoiled us.
Watching long strings of code appear on the screen in seconds, the thrill of dopamine release is irresistible.
But in this brief pause, I suddenly realized: The way we use agents should be determined by our identity when facing code.
When in the role of a 'learner', thinking can be fast-forwarded, but must never be skipped.
Learning a new language or framework is like building the foundation of underlying cognition.
If we throw every error at the agent, we get a possibly 'workable result', but miss the opportunity to flip through official documentation, understand the design philosophy, and even build code intuition through trial and error.
Knowledge will only skim over our surface, or linger briefly, then drift away.
They can be a super tutor helping you explain difficult concepts, but must never become a substitute that chews knowledge for you.
The consequence of skipping thinking while learning is often, after leaving them, facing a blank screen in helplessness.
However, when you switch to the 'developer' mode in practice, the attitude should be completely different: embrace the 'newborn'.
In actual project advancement, our greatest enemy is reinventing the wheel and tedious manual labor.
Writing regex, configuring environments, generating test cases, even writing boilerplate code for business logic... Stubbornly working on these aspects won't bring technical epiphanies, only consume your precious energy.
At this time, skillfully submitting requirements to agents, letting them help clear these obstacles, allows us to focus our core energy on architecture design, business logic, and innovative features.
What determines how far we can go is never what agents can help us do, but the insight in our minds regarding problems.
In the Era of Large Language Models, How Should Thinking Be Preserved?
In the Era of Large Language Models, How Should Thinking Be Preserved?