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

推荐订阅源

T
Tenable Blog
MyScale Blog
MyScale Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
博客园 - 司徒正美
D
Darknet – Hacking Tools, Hacker News & Cyber Security
量子位
N
News | PayPal Newsroom
S
Secure Thoughts
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LINUX DO - 热门话题
有赞技术团队
有赞技术团队
V
Visual Studio Blog
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Project Zero
Project Zero
B
Blog RSS Feed
J
Java Code Geeks
Google Online Security Blog
Google Online Security Blog
Last Week in AI
Last Week in AI
Cyberwarzone
Cyberwarzone
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
小众软件
小众软件
博客园 - 【当耐特】
Latest news
Latest news
T
Threat Research - Cisco Blogs
aimingoo的专栏
aimingoo的专栏
博客园_首页
博客园 - 三生石上(FineUI控件)
Engineering at Meta
Engineering at Meta
D
Docker
Forbes - Security
Forbes - Security
Help Net Security
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
P
Proofpoint News Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V2EX - 技术
V2EX - 技术
N
Netflix TechBlog - Medium
The Last Watchdog
The Last Watchdog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Threatpost
Cloudbric
Cloudbric
T
The Exploit Database - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
Webroot Blog
Webroot Blog

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 Coding Agents Need Project Memory, Not Just Bigger Prompts
Serhii Zhabskyi · 2026-06-25 · via DEV Community

AI coding agents are becoming much more useful, but there is one problem I keep running into:

They forget project-specific lessons.

Not because the model is bad. Not because the prompt is missing one more paragraph. The problem is structural.

Most coding agents work inside a temporary conversation context. They can understand what you tell them during the session, but once that context is gone, the same mistakes can easily happen again.

For example:

  • an agent edits generated files manually instead of updating the source schema
  • it moves business logic into React components even though the project uses stores/services
  • it runs the wrong test command
  • it ignores a previous debugging conclusion
  • it repeats a fix that already failed last week
  • it forgets that a specific folder has special conventions

This creates a strange workflow where developers keep telling agents the same things again and again.

At some point, “please remember this” should become part of the project itself.

The obvious solution: a lessons file

A simple idea is to create something like this:

LESSONS.md

  • Do not edit generated GraphQL types manually.
  • Use MobX stores for business logic.
  • Run pnpm test:unit before changing payment logic.
  • Do not modify files in src/generated/.

This is already better than nothing.

It makes implicit project knowledge explicit. It can be versioned in Git. It can be read by different agents.

But after working with this idea, I started to feel that a plain file is not enough.

The problem is not storing lessons.

The problem is retrieving the right lesson at the right moment.

Why plain lesson files do not scale well

A flat markdown file works when there are five lessons.

It becomes much less useful when there are fifty, a hundred, or several hundred.

Some problems appear quickly:

  1. The file becomes noisy

Agents may read too much irrelevant context.

A lesson about GraphQL code generation is not useful when the agent is editing CSS.

A lesson about payment validation is not useful when changing a README.

If every agent reads every lesson every time, memory becomes noise.

  1. Lessons lose context

A lesson like this is technically correct:

Do not edit generated files manually.

But it is missing important context:

  • Which files are generated?
  • Which command regenerates them?
  • What caused the original mistake?
  • Which rule does this relate to?
  • Is this always true or only true for one package?
  • Is this still current?

The lesson exists, but it is disconnected from the codebase.

  1. Lessons become stale

Projects evolve.

A command changes.

A folder is renamed.

An architectural rule is replaced.

A plain file rarely tells you whether a lesson is fresh, outdated, or only partially valid.

  1. Agents cannot easily reason about relationships

In real projects, knowledge is connected.

A mistake may be connected to:

  • a file path
  • a command
  • an architectural rule
  • a tool
  • a package
  • a domain area
  • a previous failed fix
  • another lesson

A flat file does not represent those relationships well.

That is why I started thinking about lessons as a graph.

Graph-based lessons

A graph-based lessons system treats a lesson not as an isolated note, but as a connected piece of project knowledge.

Instead of this:

Do not edit generated GraphQL types manually.

You can model it more like this:

Lesson:
Do not edit generated GraphQL types manually.
Update the schema and run codegen instead.
Connected context:
affected files:
- src/generated/graphql/*
- packages/api/generated/*
command:
- pnpm codegen
related rule:
- generated files are read-only
mistake type:
- manual edit of generated output
domain:
- GraphQL
- API types
freshness:
- confirmed recently

Now the lesson is no longer just text.

It has relationships.

Before an agent edits src/generated/graphql/User.ts, it can retrieve lessons connected to that path.

Before it changes payment validation, it can retrieve lessons connected to the payment domain.

Before it runs tests, it can retrieve the correct command connected to the current package.

This is closer to how developers actually remember project knowledge.

We do not remember everything as one giant document. We remember connections:

“This file is generated.”

“This folder belongs to the payment domain.”

“That command failed before.”

“This convention exists because of that production bug.”

A useful agent memory system should work the same way.

What should a lesson contain?

A lesson should probably include more than just a sentence.

For example:

Lesson:
Business logic should stay in MobX stores, not React components.
Reason:
The project separates domain logic from UI rendering.
Moving logic into components makes testing and reuse harder.
Applies to:

  • src/stores/*
  • src/features/* Related concepts:
  • MobX
  • domain logic
  • React components
  • separation of concerns Mistake type:
  • architectural violation Suggested behavior: If a change requires business logic, add it to the store/service layer first. Keep React components mostly declarative.

This gives the agent enough information to act correctly, not just read a rule.

Human memory vs agent memory

One important question is:

Should agents be allowed to create lessons automatically?

I think the answer is: yes, but carefully.

For example, after a failed change, an agent could propose:

Proposed lesson:
Do not use npm in this repository. The project uses pnpm.
Evidence:
npm install created a package-lock.json and broke dependency consistency.
Suggested scope:
whole repository
Related command:
pnpm install

But I would not want every agent to permanently write lessons without review.

A better workflow may be:

  1. Agent detects a reusable lesson.
  2. Agent proposes the lesson.
  3. Human approves, edits, or rejects it.
  4. Approved lesson becomes part of the repository.
  5. Future agents can retrieve it when relevant.

This keeps memory useful without letting it turn into uncontrolled noise.

Why this matters more with multiple coding agents

Many developers now use more than one AI coding tool.

For example:

  • Claude Code
  • Cursor
  • Codex CLI
  • GitHub Copilot
  • Gemini CLI
  • Aider
  • Roo
  • Cline
  • Windsurf

Each tool has its own configuration style.

Some use markdown instruction files.

Some use rules.

Some use commands.

Some support MCP.

Some have their own project config structure.

This creates another problem: project knowledge becomes fragmented.

You may have one rule in CLAUDE.md, another in .cursor/rules, another in AGENTS.md, and another in some tool-specific config.

Eventually, your agents are not working from the same understanding of the project.

That is the broader problem I am trying to solve with AgentsMesh.

What is AgentsMesh?

AgentsMesh is an open-source CLI/library for managing AI coding assistant configuration from one canonical source.

The idea is simple:

Define project knowledge once in .agentsmesh/, then generate native config files for different AI coding tools.

AgentsMesh can manage things like:

  • rules
  • commands
  • agents
  • skills
  • hooks
  • permissions
  • MCP servers
  • ignore patterns
  • graph-based lessons

The lessons system is the part I find most interesting.

It is designed as structured, connected memory rather than a plain file full of notes.

The goal is not just to store instructions.

The goal is to help agents retrieve the right project knowledge at the right time.

Example workflow

Imagine an agent makes a mistake.

It manually edits a generated GraphQL type.

The build passes locally, but later codegen overwrites the change.

Instead of just saying in chat:

Do not do that again.

The project can record a lesson:

Lesson:
Do not manually edit generated GraphQL types.
Update the schema and regenerate types instead.
Connected files:

  • src/generated/graphql/*
  • packages/api/generated/* Command: pnpm codegen Related rule: generated files are read-only Mistake type: editing generated output

Later, another agent wants to edit a file inside src/generated/graphql/.

Before making the change, it can retrieve the lesson connected to that path.

The agent does not need to read every project instruction.

It only needs the relevant memory.

The real challenge: avoiding bad memory

Long-term memory sounds useful, but bad memory can be worse than no memory.

A lessons system needs safeguards.

Some questions I am still thinking about:

Should lessons expire?

Some lessons should probably become stale automatically.

For example, a command may change from:

pnpm test

to:

pnpm test:unit

If old lessons remain forever, agents may follow outdated instructions.

Should every lesson need approval?

Fully automatic memory can become noisy.

But requiring manual approval for every lesson may create too much friction.

A good system may need different trust levels:

  • proposed
  • approved
  • deprecated
  • archived

How do you prevent overfitting?

One failed interaction does not always mean there is a general rule.

If an agent makes one bad change, the lesson should not necessarily become:

Never touch this file.

A useful lesson should capture the actual reusable principle, not just fear from one mistake.

How much context is enough?

Too little context makes lessons vague.

Too much context makes them expensive and noisy.

The ideal lesson should be small, specific, and connected to the right parts of the project.

Why I think graph-based memory is worth exploring

Prompt files are useful.

Rules are useful.

Documentation is useful.

But AI coding agents need something more precise than “read this giant instruction file before every task.”

They need contextual recall.

When editing generated files, recall codegen lessons.

When touching payment logic, recall payment-related lessons.

When changing architecture, recall architectural constraints.

When running commands, recall the correct package manager and test scripts.

That is why I think graph-based project memory is a promising direction.

Not because graphs are trendy.

But because software projects are already graphs:

  • files depend on files
  • commands affect packages
  • rules apply to directories
  • mistakes happen in domains
  • conventions relate to architecture
  • fixes relate to previous bugs

Agent memory should reflect that structure.

Final thoughts

I do not think the future of AI coding agents is just bigger context windows.

Bigger context helps, but it does not solve everything.

The real improvement may come from better project memory:

  • structured
  • versioned
  • reviewable
  • connected to the codebase
  • retrievable by relevance
  • shared across tools

That is what I am experimenting with in AgentsMesh.

The core idea is simple:

Agents should not repeat the same project-specific mistakes forever.

When a mistake teaches something useful, that lesson should become part of the project.

GitHub: https://github.com/sampleXbro/agentsmesh

I would love feedback from developers building with AI coding agents:

How would you design long-term project memory so it helps agents avoid repeated mistakes without becoming noisy, stale, or over-engineered?