From Vibe Coding to Agentic Engineering: AI Agents Redefine Software Development
A year after introducing Vibe Coding, Andrej Karpathy reflects on the shift from casual AI‑assisted snippets to professional Agentic Engineering, highlighting how large language model agents now orchestrate code while demanding oversight to maintain software quality.
Vibe Coding and the emergence of Agentic Engineering
One year ago Andrej Karpathy coined the term Vibe Coding to describe a workflow in which a developer states a high‑level intent and a large language model (LLM) generates the implementation. The goal is to capture the “vibe” of the program—i.e., that it runs and meets the desired behavior—without manually writing or reviewing every line of code.
At that time LLM capabilities were limited, so Vibe Coding was mainly used for small, throwaway demos. Over the past year LLM‑based agents (e.g., Cursor Composer paired with the Sonnet model, controlled via voice with SuperWhisper) have become the default programming workflow for many professionals. The workflow now includes explicit supervision, diff review, and quality checks to avoid the earlier practice of blindly accepting all changes.
Agentic Engineering
Karpathy proposes the name Agentic Engineering for the mature stage of this workflow. It consists of two complementary ideas:
Agentic : Developers spend the majority of their time orchestrating, configuring, and supervising autonomous agents rather than typing code line‑by‑line.
Engineering : The activity remains a disciplined engineering practice that blends artistic intuition, scientific methodology, and domain expertise. It is a skill that can be learned, measured, and refined.
Evolution from “Vibe” to Engineering
From playful to professional : What began as a weekend hobby for quick prototypes is now a standard workflow for production‑grade software.
From blind acceptance to supervised review : Early Vibe Coding often involved clicking “Accept All” and ignoring diffs. Modern Agentic Engineering emphasizes systematic oversight—reading diffs, running tests, and validating outputs before merging.
Role shift : The developer’s role changes from a “conductor” who merely triggers generation to an “orchestrator” who schedules agents, defines prompts, monitors execution, and intervenes when agents fail.
Practical workflow example
A typical Agentic Engineering session might look like:
# 1. Define high‑level task
prompt = "Reduce the sidebar padding by 50%"
# 2. Send prompt to an LLM agent (e.g., Cursor Composer + Sonnet)
response = agent.run(prompt)
# 3. Review generated diff
print(response.diff)
# 4. Run tests / linting
if tests_pass():
apply_changes(response.diff)
else:
refine_prompt("Fix the CSS selector for the sidebar")Voice interfaces such as SuperWhisper can replace the keyboard for step 1, but the review steps (3‑4) remain essential to maintain software quality.
Future outlook
Karpathy expects continued improvements in both the underlying LLM models and the agent orchestration layer through 2026, leading to more reliable code generation, better error handling, and tighter integration with existing development tools.
References
https://x.com/karpathy/status/2019137879310836075
https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==∣=2653564795&idx=1&sn=2a598e80788eb5853c346512a94b67e0&scene=21#wechat_redirect
https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==∣=2653564790&idx=1&sn=db82ae24f044c78358b04dd0c3f0390a&scene=21#wechat_redirect
https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==∣=2653564771&idx=1&sn=779ee63c125c242b0f9d6b9b2865d5ce&scene=21#wechat_redirect
https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==∣=2653564764&idx=1&sn=6ec70e559161884df148b209b27cfbc4&scene=21#wechat_redirect
High Availability Architecture
Official account for High Availability Architecture.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
