惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Martin Fowler
Martin Fowler
雷峰网
雷峰网
Recent Announcements
Recent Announcements
博客园 - 叶小钗
F
Full Disclosure
C
Check Point Blog
A
About on SuperTechFans
L
LangChain Blog
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
博客园 - 司徒正美
C
Cybersecurity and Infrastructure Security Agency CISA
C
CXSECURITY Database RSS Feed - CXSecurity.com
Cisco Talos Blog
Cisco Talos Blog
Hugging Face - Blog
Hugging Face - Blog
Recorded Future
Recorded Future
MongoDB | Blog
MongoDB | Blog
Project Zero
Project Zero
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Know Your Adversary
Know Your Adversary
D
Docker
U
Unit 42
酷 壳 – CoolShell
酷 壳 – CoolShell
T
The Exploit Database - CXSecurity.com
L
Lohrmann on Cybersecurity
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Latest news
Latest news
V
Visual Studio Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 最新话题
Google DeepMind News
Google DeepMind News
小众软件
小众软件
NISL@THU
NISL@THU
GbyAI
GbyAI
H
Heimdal Security Blog
Jina AI
Jina AI
I
InfoQ
PCI Perspectives
PCI Perspectives
P
Privacy International News Feed
P
Proofpoint News Feed
N
News and Events Feed by Topic
C
CERT Recently Published Vulnerability Notes
aimingoo的专栏
aimingoo的专栏
SecWiki News
SecWiki News
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
Developers vs AI: Can You Spot When AI Is Wrong?
Marxon · 2026-05-01 · via DEV Community

Developers vs AI is back.

And this time, I don’t want to talk about whether AI can write code.

It can.

We all know that by now.

It can generate components, refactor functions, explain errors, write tests, draft documentation, and sometimes even suggest cleaner approaches than the ones we had in mind.

But there’s a much more important question in 2026:

Can you tell when the AI is wrong?

Because that might become one of the most important developer skills of the next few years.

Not prompting.
Not memorizing syntax.
Not knowing every new framework before everyone else.

But judgment.

The ability to look at AI-generated code and say:

“This looks good, but something is off.”

That skill is becoming more valuable every day.


AI-Generated Code Looks Better Than It Is

Here’s the dangerous part about AI-generated code:

It usually looks clean.

The formatting is nice.
The variable names are reasonable.
The structure looks intentional.
The explanation sounds confident.

And because it looks professional, we start trusting it faster than we should.

That’s the trap.

Bad human code often looks messy.
Bad AI code can look beautiful.

And beautiful wrong code is much harder to notice.

AI can produce a solution that:

  • works only for the happy path,
  • ignores edge cases,
  • breaks existing project conventions,
  • introduces subtle security problems,
  • creates performance issues,
  • or solves the wrong problem entirely.

But at first glance?

It looks great.

That’s why AI-generated code should never be treated as finished work.

It should be treated as a draft.

A very fast draft.
A sometimes impressive draft.
But still a draft.


The Developer Role Is Shifting From Writing to Judging

For a long time, developers were mostly measured by what they could build.

Can you implement the feature?
Can you fix the bug?
Can you write the query?
Can you create the component?

Those things still matter.

But AI changes the weight of the job.

When code becomes cheaper to generate, the real value moves somewhere else:

Can you decide whether that code should exist?

That’s a different skill.

It requires understanding the system, not just the syntax.

It requires knowing the business context, not just the framework.

It requires thinking about maintainability, ownership, security, and long-term consequences.

AI can generate five different solutions in seconds.

But someone still has to choose the right one.

And that someone is the developer.


AI Is Like a Junior Developer With Perfect Confidence

I like to think about AI as a junior developer who never gets tired.

It is fast.
It is helpful.
It can surprise you.
It can save you hours.

But it also has one dangerous habit:

It often sounds equally confident when it is right and when it is wrong.

That’s not how experienced developers usually work.

A good senior developer says things like:

  • “I’m not sure yet.”
  • “We should check this edge case.”
  • “This depends on the existing architecture.”
  • “This might work, but it could be risky later.”

AI often skips that hesitation.

It gives you an answer.

And if you are tired, busy, or under pressure, that confidence feels good.

It feels like progress.

But confidence is not correctness.

That’s why reviewing AI output is not optional.

It is the job.


What AI Often Misses

AI is very good at patterns.

But real software development is not only about patterns.

Real software is full of context.

And context is where AI often fails.

1. Business context

AI does not know why your company made a weird decision three years ago.

It does not know that a strange validation rule exists because of a legal requirement.

It does not know that a “temporary” workaround from 2019 is now somehow business-critical.

To AI, everything looks like code.

To developers, code is only the visible part of a much larger system.

2. Project conventions

AI may write technically valid code that does not fit your project at all.

Maybe your team has a specific folder structure.
Maybe you use a design system.
Maybe you avoid certain dependencies.
Maybe your API layer follows strict patterns.
Maybe your validation schemas live in a specific place.

AI can miss these details unless you give it strong context.

And even then, it can still drift.

3. Edge cases

AI loves the happy path.

The user exists.
The API responds correctly.
The data shape is exactly as expected.
The network is stable.
The permission is valid.
The date format is normal.

Real users are not like that.

Real users click twice, refresh mid-request, paste strange values, lose connection, use old browsers, and somehow find every possible broken state.

If you don’t review for edge cases, AI probably won’t save you.

4. Security

This is one of the most dangerous areas.

AI can generate code that works but is unsafe.

It may forget authorization checks.
It may expose sensitive data.
It may trust user input too much.
It may suggest outdated packages.
It may create logic that looks fine in isolation but becomes risky in production.

Security problems are especially tricky because the code can pass tests and still be wrong.

5. Long-term maintainability

AI is often optimized for the current prompt.

But software lives longer than a prompt.

A solution that looks simple today may become painful in six months.

Will another developer understand it?
Will it scale with the next feature?
Does it fit the architecture?
Does it create hidden coupling?
Does it make future changes harder?

AI can help answer these questions.

But it cannot be the only one asking them.


The New Developer Skill: AI Code Review

In the past, code review mostly meant reviewing another developer’s work.

Now we also review work produced by tools.

And that requires a slightly different mindset.

When reviewing AI-generated code, I try not to ask:

“Does this look correct?”

That question is too weak.

Instead, I ask:

“Would I approve this in a real pull request?”

That changes everything.

Because in a real PR, looking good is not enough.

The code needs to fit the system.
It needs to be readable.
It needs to be testable.
It needs to handle failure.
It needs to respect the project’s standards.
It needs to be something the team can maintain.

AI output should go through the same filter.

Maybe even a stricter one.

Because unlike a teammate, AI cannot explain its real reasoning.

It can generate an explanation.

That is not the same thing.


My Practical AI Review Checklist

When AI gives me code, I try to slow down and check a few things before accepting it.

1. Do I understand every line?

If I can’t explain it, I shouldn’t ship it.

This sounds obvious, but it is easy to ignore when the solution works.

Working code is not enough.

If you don’t understand it, you don’t own it.

2. Does it match the project architecture?

A solution can be correct in isolation and still wrong for your codebase.

I check whether it follows existing patterns, naming conventions, folder structure, state management, API handling, error handling, and component structure.

Consistency matters more than cleverness.

3. What happens when the input is wrong?

AI often assumes clean data.

I try to check empty states, null values, invalid responses, missing permissions, slow requests, failed requests, and unexpected user behavior.

The real bugs usually live outside the happy path.

4. Is this secure?

I ask whether the code trusts the client too much, exposes data, skips validation, ignores authorization, or introduces risky dependencies.

This is especially important when AI touches authentication, permissions, payments, file uploads, user input, or backend logic.

5. Is it still readable without the prompt?

Sometimes AI-generated code only makes sense if you remember what you asked for.

That is a bad sign.

Future developers will not have your prompt.

They will only have the code.

6. Are the tests meaningful?

AI can generate tests that look impressive but test very little.

I check whether the tests actually protect behavior, cover edge cases, and would fail if the implementation broke.

A test that only confirms the mock returns the mocked value is just decoration.

7. Would I defend this decision in a team discussion?

This is my favorite question.

If another developer asked, “Why did you implement it this way?”, could I answer clearly?

If the only answer is “because AI suggested it”, then I’m not done.


The Risk: Developers Becoming Passive Reviewers

There is another danger here.

Reviewing AI output can make us feel like we are still in control, even when we are slowly becoming passive.

You ask.
It answers.
You skim.
You accept.
You move on.

That is not real review.

That is approval by exhaustion.

And I get it.

Deadlines are real.
Context switching is real.
Mental fatigue is real.
Sometimes the AI solution is “good enough” and you just want to close the ticket.

But if that becomes the default, your technical judgment gets weaker.

Not immediately.

Slowly.

You stop questioning trade-offs.
You stop exploring alternatives.
You stop building your own intuition.
You become faster, but less involved.

That is a dangerous trade.


How to Stay Sharp

I don’t think the answer is to stop using AI.

That would be unrealistic.

And honestly, unnecessary.

AI is useful.
Very useful.

But we need better habits around it.

Here are a few that help me.

Try first, then ask

Before asking AI to solve something, spend a few minutes thinking through your own approach.

Even if your solution is worse, the comparison teaches you something.

If you always ask first, you never build the muscle.

Ask AI to criticize, not just create

Instead of only saying:

“Write this function.”

Try:

“Review this approach. What could go wrong?”

or:

“What edge cases am I missing?”

AI becomes much more valuable when it challenges your thinking instead of replacing it.

Keep some practice unplugged

Every now and then, solve something without AI.

A small bug.
A utility function.
A refactor.
A coding challenge.

Not because AI is bad.

But because your own confidence matters.

Use AI to learn the system, not bypass it

The best use of AI is not always generating new code.

Sometimes it is asking:

  • “Where is this logic coming from?”
  • “What does this function depend on?”
  • “Can you explain this module?”
  • “What are the possible side effects of changing this?”

That kind of usage makes you stronger.

It turns AI into a learning tool instead of a shortcut machine.


The Future Belongs to Developers With Judgment

I don’t think AI will make developers irrelevant.

But I do think it will change which developers stand out.

The value is moving away from simply producing code.

It is moving toward:

  • understanding systems,
  • asking better questions,
  • reviewing outputs critically,
  • making trade-offs,
  • protecting quality,
  • communicating decisions,
  • and taking responsibility.

AI can generate code.

But it cannot be responsible for it.

You can.

And that responsibility is what separates a developer from a prompt operator.


Final Thoughts

The next big developer skill is not just learning how to use AI.

It is learning how not to be fooled by it.

Because AI-generated code will keep getting better.

It will look cleaner.
It will sound more confident.
It will integrate deeper into our tools.
It will feel more natural to accept.

But the question will remain the same:

Can you spot when it is wrong?

That might be the real skill gap of the AI era.

Not who can generate the most code.

But who can still think clearly when the code is generated for them.

Use AI.
Use it a lot.
But review it like your production system depends on it.

Because eventually, it probably will.


👋 Thanks for reading — I’m Marxon, a web developer exploring how AI reshapes the way we build, manage, and think about technology.

If you enjoyed this post, follow me here on dev.to and join me on X (@Marxolution), where I share shorter thoughts, experiments, and behind-the-scenes ideas.

Let’s keep building — thoughtfully. 🚀