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

推荐订阅源

N
News | PayPal Newsroom
P
Proofpoint News Feed
Cyberwarzone
Cyberwarzone
C
Cisco Blogs
SecWiki News
SecWiki News
Know Your Adversary
Know Your Adversary
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Vercel News
Vercel News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
NISL@THU
NISL@THU
WordPress大学
WordPress大学
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Threat Research - Cisco Blogs
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
Security Archives - TechRepublic
Security Archives - TechRepublic
有赞技术团队
有赞技术团队
L
LINUX DO - 热门话题
Hacker News: Ask HN
Hacker News: Ask HN
V
V2EX
G
GRAHAM CLULEY
TaoSecurity Blog
TaoSecurity Blog
Hugging Face - Blog
Hugging Face - Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
F
Fortinet All Blogs
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
云风的 BLOG
云风的 BLOG
Recorded Future
Recorded Future
Latest news
Latest news
The Hacker News
The Hacker News
aimingoo的专栏
aimingoo的专栏
T
Troy Hunt's Blog
S
Schneier on Security
I
Intezer
Google DeepMind News
Google DeepMind News
A
Arctic Wolf
Apple Machine Learning Research
Apple Machine Learning Research
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threatpost
爱范儿
爱范儿
The Register - Security
The Register - Security
S
SegmentFault 最新的问题
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
宝玉的分享
宝玉的分享
Recent Commits to openclaw:main
Recent Commits to openclaw:main
美团技术团队
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
AI Can Write the Code. Who Gives It the Context?
Tomasz Klapsia · 2026-06-19 · via DEV Community

When you talk to ChatGPT about a subject you understand well, you quickly notice something.

The first answer is rarely the final answer.

You add context.

You correct an assumption.

You explain what has already been tried.

You point out that one proposed solution conflicts with another part of the system.

After a few iterations, the answer becomes useful.

The same thing happens when AI writes code for real products.

The difference is that a slightly incorrect explanation in a chat is usually harmless. Slightly incorrect code can become part of your product, pass a superficial review, and remain there for years.

This is why successful AI adoption in software engineering is not primarily about generating more code.

It is about context engineering: giving AI enough context, constraints, and feedback to generate code that belongs in your system.

The First Answer Is Usually Not Enough

AI coding tools are very good at producing plausible solutions.

That word matters: plausible.

The code may compile.

The tests may pass.

The implementation may even look clean when reviewed in isolation.

But software does not exist in isolation.

A change must fit the broader system architecture:

  • the current architecture
  • existing domain rules
  • security requirements
  • operational constraints
  • established conventions
  • previous technical decisions
  • future product direction

An AI assistant does not automatically understand those things.

It knows the code it can see and the engineering context you provide. Everything outside that window must be inferred.

And inference is where divergence begins.

If you trust the first response without validating its assumptions, you are usually not accelerating engineering.

You are accelerating uncertainty.

Lack of Context Creates Duplication

One of the first visible effects is duplication.

AI does not necessarily know that your application already has:

  • a validation helper for the same domain rule
  • an established authorization pattern
  • a shared API client
  • a retry mechanism
  • an error hierarchy
  • an existing abstraction for the same operation

Without sufficient engineering context, it creates another one.

The new implementation may be technically correct. It may also be slightly different from the existing implementation.

Now the system has two ways to solve the same problem.

Repeat this across dozens of AI-generated changes and the codebase slowly breaks a basic rule engineers call DRY (don't repeat yourself). The same problem should be solved once, in one place, not rebuilt slightly differently every time. Not because anyone deliberately chose duplication, but because each generated change was created from a partial view of the system.

This is one of the biggest risks of optimizing purely for development speed.

The individual pull request looks faster.

The product becomes slower to change.

Speed Is Not the Same as Longevity

Many companies currently measure AI adoption by how much faster engineers can produce code.

That is understandable.

Generated code is visible. Long-term maintainability is not.

You can measure how quickly a feature reached production. It is much harder to measure how much architectural inconsistency was introduced along the way.

The cost appears later:

  • similar features behave differently
  • abstractions begin to overlap
  • documentation stops matching implementation
  • developers no longer know which pattern is preferred
  • changes require more investigation
  • AI receives increasingly contradictory context

The system becomes harder for humans to understand.

It also becomes harder for AI to understand.

This creates a feedback loop.

Weak context produces inconsistent AI-generated code. Inconsistent code produces weaker context for the next generation.

From Artisanal Furniture to IKEA

Coding has always contained an element of craft.

Experienced engineers develop preferences around naming, abstractions, interfaces, failure modes, and the shape of a maintainable system.

In that sense, software development has often resembled building artisanal furniture.

Each piece receives attention. Decisions are made by someone who understands the material, the environment, and the intended use.

AI changes the economics.

We are moving from artisanal furniture towards IKEA.

Software components can be produced faster, in greater volume, and by more people. That is not necessarily bad.

Most companies do not need every internal tool to be a handcrafted masterpiece.

Mass production works when the pieces are standardized and the person assembling them has reliable instructions.

Without the instructions, you do not get scalable production.

You get a room full of boards, screws, and several pieces that look almost identical but are not interchangeable.

Who Writes the Instructions?

In software organizations, those instructions are created by experienced engineers with product knowledge.

Senior and staff engineers understand more than the syntax of the codebase.

They know:

  • why a particular architectural decision was made
  • which shortcuts are temporary
  • where regulatory or security constraints exist
  • which parts of the product are likely to change
  • which abstractions have already failed
  • what must remain consistent across teams

That knowledge needs to become accessible to both people and machines.

This includes:

  • Architecture Decision Records
  • engineering standards
  • domain documentation
  • code examples
  • security policies
  • testing requirements
  • dependency rules
  • service ownership
  • operational runbooks

The goal is not documentation for its own sake.

The goal is to turn organizational knowledge into usable engineering context.

A codebase without recorded decisions already creates problems for junior developers.

AI amplifies the same problem.

When there are no written ADRs, your junior AI engineer will happily make a different architectural decision in every pull request.

Old Knowledge Is Dangerous Context

Creating a knowledge base is not enough.

It must remain current.

Outdated documentation can be worse than missing documentation because it gives the model confidence in the wrong constraints.

Imagine that your architecture document still recommends a pattern the team abandoned six months ago.

A human engineer may notice the discrepancy through conversations, recent pull requests, or experience with the system.

AI may treat the document as authoritative.

It then generates code that follows an obsolete direction, while appearing perfectly aligned with the company's written standards.

This means engineering knowledge must be treated like code:

  • versioned
  • reviewed
  • owned
  • tested where possible
  • removed when no longer valid

AI can help here too.

It can compare documentation with current implementation, detect references to removed services, identify conflicting instructions, and highlight architectural patterns that are no longer followed.

But the final responsibility still belongs to the organization.

Automating knowledge checks does not remove ownership.

It makes ownership easier to exercise.

Guardrails Matter More Than Prompts

Good prompt engineering helps.

Engineering guardrails matter more.

AI-generated code should move through the same engineering system as human-generated code, with stronger automation where appropriate.

That means proper CI/CD controls:

  • static analysis
  • automated tests
  • type checking
  • dependency scanning
  • security scanning
  • architectural boundary checks
  • migration validation
  • deployment safeguards

Where rules can be expressed automatically, they should not depend on someone remembering them during every conversation with an AI assistant.

A prompt can say:

Do not access the database directly from this layer.

An architectural test can enforce it.

The second one scales better.

The most successful AI-enabled teams will not be those with the longest prompt files. They will be those that convert important engineering decisions into automatically verifiable constraints.

Human-in-the-Loop Review

Not every change requires the same level of human attention.

Generating a small internal tool is different from changing payment processing, authorization, infrastructure, or a financial ledger.

Organizations need to decide where a human must remain directly involved.

Critical areas may include:

  • security boundaries
  • financial calculations
  • data migrations
  • compliance logic
  • production infrastructure
  • irreversible operations
  • public APIs
  • architectural changes

Human review is not there because AI is useless.

It is there because responsibility cannot be delegated to a probabilistic system. That is the core of human-in-the-loop validation.

The important question is not whether AI participated in the change.

The important question is whether the organization applied the right level of control to the risk involved.

Code Review Is Changing

Code review remains crucial.

But reading every generated line manually is becoming less realistic as the volume of AI-generated code increases.

The answer is not to stop reviewing.

The answer is to change how review works.

Engineers increasingly guide AI to examine changes from multiple perspectives:

  • Does this duplicate an existing implementation?
  • Does it violate an architectural decision?
  • Are authorization checks consistent with similar endpoints?
  • What edge cases are missing?
  • Can this migration be safely rolled back?
  • Which assumptions does this code make?
  • Does the documentation still match the implementation?

The reviewer moves from inspecting every character to directing a structured investigation.

AI generates code.

AI can also criticize it, compare it with the rest of the system, and search for inconsistencies.

The human decides which questions matter and whether the answers are sufficient.

That is still engineering judgment.

Where Juniors Fit

Junior engineers are still welcome.

AI does not remove the need for people entering the profession. It changes the environment in which they learn.

Previously, juniors often developed their skills by writing relatively simple implementations and receiving feedback from more experienced engineers.

AI can now produce many of those implementations faster.

But generating the implementation was never the final objective.

The objective was learning how to reason about a system.

Juniors still need to understand:

  • how to validate assumptions
  • how to investigate existing code
  • how to recognize duplication
  • how to test behavior
  • how to evaluate trade-offs
  • how to ask better questions
  • when to escalate a decision

Companies should not optimize juniors purely for prompt throughput.

They should optimize for how quickly people build reliable mental models of the product.

That requires access to knowledge, mentorship, and clear engineering standards.

The same context engineering that makes AI better also makes junior engineers better.

AI Naturally Favors What Already Exists

There is another longer-term concern.

AI models are trained on existing knowledge.

They naturally lean towards technologies, libraries, and architectural patterns that appear frequently in their training data and online documentation.

That gives established technologies an additional advantage.

A mature framework has:

  • years of documentation
  • thousands of public examples
  • answered questions
  • tutorials
  • production case studies
  • code available in public repositories

A new framework has very little of this.

Even when the new framework offers a better approach, AI may produce weaker results because it has less knowledge about how to use it correctly.

This may create an unexpected effect.

AI could accelerate development inside established ecosystems while slowing the adoption of genuinely new ones.

Teams may avoid newer technologies not because they are worse, but because their AI tools are less effective with them.

The internet was already influenced by popularity.

AI may reinforce that influence by turning popularity into implementation quality.

New frameworks will need to treat machine-readable documentation, examples, migration guides, and strong tooling as core parts of adoption.

It will no longer be enough for a technology to be good.

AI must also be able to understand it.

There Is Still a Place for Craft

Not all software should become mass-produced furniture.

There will remain areas where code itself carries unusual value:

  • specialized algorithms
  • performance-critical systems
  • novel research
  • low-level infrastructure
  • proprietary domain knowledge
  • safety-critical software
  • new technical paradigms

These are places where the available training data may be limited and where correctness depends on knowledge that cannot be reconstructed from common public patterns.

There will also always be engineers who treat code as a form of art.

There is a place for that.

But most commercial software is not valuable because every function is uniquely beautiful.

It is valuable because it solves a real problem reliably and can continue evolving.

AI can help us build more of it.

The condition is that we stop treating generated code as the finished product.

The Real AI Adoption Challenge

The difficult part of practical AI adoption is not selecting a coding assistant.

It is preparing the organization around it.

Do engineers have access to reliable product context?

Are architectural decisions documented?

Is outdated knowledge removed?

Can important rules be checked automatically?

Does CI/CD prevent unsafe shortcuts?

Are humans involved where the consequences justify it?

AI makes producing code cheaper.

It does not make understanding the product less important.

In fact, as implementation becomes easier, context engineering becomes the scarce resource.

The companies that benefit most from AI will not necessarily be those that generate the most code.

They will be those that provide the clearest instructions for how all the pieces should fit together.