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

推荐订阅源

Vercel News
Vercel News
Recorded Future
Recorded Future
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
The GitHub Blog
The GitHub Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google DeepMind News
Google DeepMind News
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Microsoft Azure Blog
Microsoft Azure Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
M
MIT News - Artificial intelligence
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
N
News | PayPal Newsroom
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Help Net Security
Help Net Security
博客园 - Franky
SecWiki News
SecWiki News
Recent Announcements
Recent Announcements
T
Troy Hunt's Blog
The Register - Security
The Register - Security
The Last Watchdog
The Last Watchdog
Webroot Blog
Webroot Blog
S
Security Affairs
博客园 - 司徒正美
S
Schneier on Security
I
InfoQ
博客园_首页
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Threat Research - Cisco Blogs
Forbes - Security
Forbes - Security
腾讯CDC
N
Netflix TechBlog - Medium
N
News and Events Feed by Topic
Cloudbric
Cloudbric
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
Recent Commits to openclaw:main
Recent Commits to openclaw:main
B
Blog
V
Vulnerabilities – Threatpost
C
Check Point Blog
Google DeepMind News
Google DeepMind News
Google Online Security Blog
Google Online Security Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
C
Cisco Blogs
Schneier on Security
Schneier on Security
O
OpenAI News
K
Kaspersky official blog

Artificial Intelligence in Plain English - Medium

OpenAI launched GPT-5.5 - it’s the death of digital hand-holding The Future of Agentic AI is Not One Genius Model, it is a Team How AI Development Optimizes Smart Parking Management Systems The FAST Framework: A Practical Responsible AI Checklist for Data Scientists Why is Cloud Migration Consulting Important for Businesses? My Team Caught Me Using AI to Merge PRs. The Code Was Fine. The Trust Wasn’t. SQL Tricks Every Data Scientist Should Know I Stopped Chasing AI Hype and Started Building Systems That Actually Worked GPT-5.5: The Model That Thinks Ahead Mastering AI Storytelling: Crafting Prompts for Captivating Narratives Why So Many Businesses Are Switching to Clawdbot for AI Automation The Growing Dependence on AI Tools — And Why It’s Risky How to Cut Claude Code Costs by At least 2 to 3x How The Google Antigravity Agent Hallucinated NSFW Adult Websites? “Vercel Hack Exposed: How a Simple AI Tool Led to a $2M Data Breach” The Vercel Hack: How One AI Tool Cracked Open the Internet’s Deployment Stack AI Chatbot Development Services for Enterprise Data-Sensitive Processes What AI Agent Developers Should Consider When Designing Agents for High-volume Environments My ChatGPT Responds Better Than Yours, Here is the 3-Step Guide How To Create A Custom AI Chatbot, Train & Deploy It In 48 Hrs Learning in the Age of Intelligent Systems: Why Human Understanding Still Matters Everyone Is Learning AI, So Why Will Most Still Fail? AI Is Learning Faster Than You Think What If Your Next Best Friend Is a Robot That Even Feels Real? OpenAI Quietly Broke the Way You Build AI Apps The AI Superpower Standoff: Why the OpenAI vs. Anthropic War Looks Exactly Like the US vs. Iran The LLM Tools That Actually Matter in Production (Not LangChain, Not the OpenAI SDK) The Most Dangerous Use of Artificial Intelligence Yet! | AI Porn Why Your AI Chatbot Gives Vague Answers (And Why That Should Matter to You) How Do You Prove You’re You, After AI Has Evolved? AWS Bedrock Agents Keep Crashing Mid-Flow, Here’s Why and How to Actually Fix It I Built a Full Stack App Without Writing Code (AI vs Developer Reality Check) Why Your Business Doesn’t Need a Chatbot — It Needs an AI Agent 3 Counter-Intuitive Things I Learned Promoting my Micro-SaaS I Tested 5 LLMs Across 100 Real-World Tasks — The Winner Isn’t Who You Think Why Claude Design is Terrifying UX Teams? 9 AI Behaviors That Developers Misinterpret Completely How Large Language Models Actually Work (Explained Simply) The 4-Month Blueprint: How to Become an AI Automation Builder Claude Opus 4.7: The Model That Verifies Itself The $1 AI Stack: Build Scalable AI Systems Without Burning Cash How Blockchain Development Solutions Enable Decentralized Innovation Your AI Is Lying to You — And Your Tests Are Helping It How to Create a Local AI Assistant Using Python Without Paying for APIs What Is a Context Graph — and Why Is Everyone Talking About It? Jobs Are Disappearing. Careers Are Breaking. The Smartest People Are Building This Instead The Silent Trade: Convenience in Exchange for Control Why “The Dark Knight” and “The Avengers” Are 78% Similar, A Math-First Guide to Movie… Claude Skills — The Workflows That Actually Stick Claude Code’s source code just leaked. Today I’m going to teach you how it works. Build a Production-Grade AI Invoice Processing Pipeline in Snowflake — Using Only SQL The AI-Driven Developer Blueprint: How Modern Software Really Works The Truth About AI — From First Model to Real-World Systems AI in Everyday Life Google’s Gemma 4 Is Beating Models 20x Its Size And You Can Run It on Your Laptop 8 AI Scenarios Where You Should Never Trust the Output How to Make Money from Podcast Videos with AI: A Complete 4-Step Workflow for Creators (2026 Guide) n8n Google Search Workflow Automation: Streamlined SEO Indexing with Google APIs Why Drug Discovery Gets the Wrong Targets — and How Causal AI Can Fix It Why Your Workflow Is Broken (And How AI Automation Fixes It) Failure Mode and Effects Analysis (FMEA): Turning Risk into Preventive Control Measurement System Analysis (MSA): Why Good Projects Fail Without Good Data Advanced DMAIC Tools: Moving Beyond the Basics in Lean Six Sigma AI Won’t Fix a Messy Operation The Invisible Tech Revolution That’s Already Reshaping Your Job (And No, You Don’t Need to Know How… The Battle of the Bastards Is Happening Right Now. And Your Job Is Jon Snow. 7 Real-World Machine Learning Projects You Can Build in a Weekend 5 Prompting Habits That Are Destroying Your AI’s Logic MiniMax M2.7: The Model That Helped Build Itself The Token Dependency: Why Cloud-Only AI is a Single Point of Failure One Agent, Many Skills: Why You Don’t Always Need a Multi-Agent Architecture AI, Machine Learning, and Data Science in Action The Human-AI Symbiosis in Data Science Insurance Chatbots: Benefits, Use Cases & Examples The AI Model Anthropic Won’t Let You Use From Idea to Production: Our Approach to Deep Learning Development From 50 Files to One Graph: How Graphify Turns Code Into Knowledge Meta Just Hit Reset on Its AI Strategy And Muse Spark Is the First Big Sign The Complete Suno AI Prompt & Style Collection for Viral Music (2026) CLAUDE.md — The File Claude Reads Before You Speak Stop Chatting with Claude Code. Start Building on It. AI Agents: The Only Guide You’ll Ever Need (And Why Your Job Depends On It) The Stencil Strategy: How to Automate World-Class Medium Content Solving ‘AI Amnesia’ Through Compounding Strategy I Let AI Do My Job for 30 Days — These Were the Things It Couldn’t Do I Take My AI Agent Everywhere With Claude Dispatch: 3 Use Cases You Must Know AI Is Writing My Code — So What Exactly Is My Job Now? NVIDIA Releases AITune: The Toolkit That Automatically Finds the Fastest Inference Backend for Any… How AI Creates Business Value: The 5 Core Types of AI Enterprise AI Architecture Cheatsheet: A Complete Guide How I Almost Shipped My Credentials with Gemini 3 Flash in Google Antigravity The Agentic AI Security Universe: A Complete Guide to Securing Autonomous AI Systems How I Fixed My Neck Which Started Breaking Before My Career Did Using AI Mastering OpenClaw: How This Autonomous Agent Framework Actually Works The Model Too Dangerous to Release— And Why Anthropic Is Talking to the US Government About It Demystifying BM25: The Algorithm That Powers Search Step-by-Step Guide to Building AI Agents Using LLMs Gradient Descent — An Explanation Your AI Agent Isn’t Dumb. It Has ADHD 10 AI Startups Changing the World in 2026 (Nobody Is Talking About These Yet)_Part 5
Engram: Adding memory to your AI agents (Claude Code, OpenCode)
Abdiel Martí · 2026-04-27 · via Artificial Intelligence in Plain English - Medium
Do your AI agents lose context? Learn how to use Engram to give persistent memory to Claude Code and OpenCode across all your sessions. 🚀 Generated by Chatgpt If you prefer to read this article in Spanish, you can find it at: abdiel.dev TL;DR: Engram is an MCP-based persistent memory system that automatically saves summaries of your findings, decisions, and configurations. It works agnostically across different AI agents. I have to admit, I was quite reluctant to fall for the charms of agentic development. I preferred doing things the old-fashioned way: a solid IDE and, at most, GitHub Copilot suggesting changes. But I finally caved and started experimenting with the most popular options: Claude Code and OpenCode. Personally, I lean towards OpenCode (I might dive into my reasons in a future article). For now, I want to focus on a pain point I began hitting constantly: the lack of persistent memory in AI agents. The scenario is this: when you start taking agentic development seriously, you fire up a work session, make key discoveries, and reach multiple architectural decisions. You wrap up for the day, and when you open a new session the next morning, your agent remembers absolutely nothing about what you decided or discovered. You’re probably thinking the most practical thing is simply to resume the previous session. However, that approach ignores a crucial technical detail: you’d be dragging along a bloated, “spent” context filled with information irrelevant to your new tasks. The most optimal approach is to persist only those snippets of information that are actually useful, so you can retrieve them from fresh, clean sessions. This is where the tool I want to introduce today comes in: Engram . 🛠️ What is Engram? Engram is a persistent memory system specifically designed for AI coding agents. Among the features that stand out compared to other alternatives, I find the following: Agent-Agnostic: It isn’t locked into a single specific agent. Since it operates as an MCP (Model Context Protocol) server, you can use Engram with any compatible tool: Claude Code, OpenCode, Gemini CLI, Codex, VS Code (Copilot), Antigravity, or Cursor. Optimized Memory: It doesn’t save the entire work session; instead, it generates and stores structured summaries as you progress through development. Interoperability: Because it doesn’t depend on a single client, you can switch between tools and keep the same “brain.” Say you work in Claude Code one day and feel like using OpenCode the next; your agents will always have access to the same memories. Cloud/Local Sync: You can sync learned memories across multiple machines. This is a lifesaver when switching between your desktop and laptop, or when you need to share context with other team members. Automatic Logging: You don’t need to manually tell it to remember information every five minutes. The agent takes notes automatically upon reaching significant milestones (though you can always force it to remember something specific via a prompt). (If you already have experience with alternatives like claude-mem, I recommend checking out their detailed comparison in the official documentation ). How does it work? ⚙️ When you and the agent complete a meaningful task, such as: 🐛 A completed bug fix . 🏗️ An architectural decision. 🔍 A non-obvious discovery about the codebase . ⚙️ A configuration or environment change. 🧩 An established pattern (naming, structure, conventions). 👤 A learned user preference or constraint. The agent will call Engram’s MCP save tool to persist a memory using the following standard format: title: "Verb + what" (e.g., "Fixed N+1 query in UserList") type: bugfix | decision | architecture | discovery | pattern | config | preference scope: project (default) | personal topic_key: stable key for evolving topics (e.g., architecture/auth-model) content: **What**: A clear sentence on what was done. **Why**: The motivation (user request, bug, performance, etc.). **Where**: Affected files or paths. **Learned**: Gotchas, edge cases, things that surprised you (omitted if none). Example of a real-world memory: **Observation #242** ────────────────── **Type:** pattern **Title:** cache invalidations: create/update/delete **Session:** manual-save-personal-app **Created:** 2026-04-23 22:39:03 **Project:** personal-app **Content** **What**: Completed the set of graphcache `updates.Mutation` entries for waitlist mutations in `src/utils/graphClient.ts`, plus added RefreshControl on WaitListDetails screen. **Registered invalidations**: - `createWaitList` → invalidates `Query.findAllActiveWaitLists` (pre-existing) - `updateWaitList` → invalidates `Query.findWaitListByUuid` **Why**: Details screen showed stale data after updates; list screen showed deleted items until network round-trip after deleteWaitList (previously no invalidation existed, analogous to the `deleteAutoBooking` pattern that already existed). **Where**: - `src/utils/graphClient.ts` — `offlineExchange.updates.Mutation` block - `src/screens/logged/bookings/WaitListDetails/index.tsx` — RefreshControl + `refetchWaitList` from `useQuery` tuple **Decision**: Chose Option B (urql `cacheExchange.updates`) over navigation callback or event listener registry. Rationale: graphcache `updates` is the canonical urql pattern. **Learned**: - Project uses `offlineExchange` from `@urql/exchange-graphcache` (not default `cacheExchange`), which supports `updates`. - Existing convention: `cache.invalidate('Query', 'fieldName')` with NO args. Additionally, Engram also saves a memory dump when closing a work session . In that case, the structure captures the global state: ## Goal [What we were working on] ## Instructions [Discovered preferences or constraints] ## Discoveries - [Technical findings, gotchas] ## Accomplished - [Completed items with details] ## Next Steps - [What is left to do] ## Relevant Files - path/to/file - [what it does or what changed] When does the agent look into the memory? 🕵️‍♂️ Memory access happens in two ways: Reactive (Explicit): When you ask a direct question, such as: “Do you remember how we solved X?” . Some questions I’ve found particularly useful for my Dailies are: What were we working on yesterday? What did we achieve this week? What do we have left to implement? Proactive (Implicit): The agent will consult the memories on its own if it detects that: It starts working on something that might have been done/resolved before. A topic is mentioned for which the current agent lacks context in its current window. In these cases, the agent searches the Engram history to inject relevant information into the active session. How to install it 💻 If you are on macOS or Linux, you can use Homebrew directly: brew install gentleman-programming/tap/engram For Windows, the official documentation recommends installing via Go: go install github.com/Gentleman-Programming/engram/cmd/engram@latest # The binary will be saved in %GOPATH%\bin\engram.exe (usually %USERPROFILE%\go\bin\) Once installed, you must configure it for your preferred agent. For example: # For OpenCode engram setup opencode # For Claude Code engram setup claude-code (This will install a plugin with everything needed. If you use a different agent, check the details in their GitHub repository ). And that’s it! When you open your agent, you’ll see that the Engram MCP tool has been added. From now on, it will start generating memories of your sessions, categorized by project (the folder where you’re running the terminal). How to sync Engram across different computers? 🔄 Engram allows you to export all global memories or isolate those of a specific project: # Export absolutely all memories engram sync --all # Export memories from a specific project engram sync --project=project-name # Export memories from the current working directory engram sync This will generate an .engram/ folder with the memory compressed into chunks . Just make sure to include this folder in your Git repository. Then, to import the memories on another machine, simply clone the repo and run: engram sync --import 💡 Tip: To verify they were imported correctly, you can run engram stats before and after importing to watch your memory metrics grow. For my use cases, these CLI commands are more than enough. But if you plan to use Engram with a large team, you might be interested in Engram Cloud . The idea is to set up a self-hosted Engram server on a VPS using Docker, serving as a centralized brain for your entire team. BONUS: Graphical Interface (TUI) 🎁 Engram includes a TUI (Terminal User Interface) in case you prefer to manage, search, or delete your memories manually. Just run: engram tui You’ll see an interactive interface similar to this: From here, you can browse through your sessions, explore technical discoveries, and configure your agent integrations. Engram has completely changed my workflow now that I’ve embraced agentic development, allowing me to optimize token consumption while efficiently persisting information. Are you using a memory system for your agents yet? Let me know what you think in the comments. And if you enjoy discovering tools and tricks to boost your Developer Experience (like automating or cleaning up repetitive processes), I invite you to read my article: Practical Guide: How to Patch an NPM Dependency with yarn patch Engram: Adding memory to your AI agents (Claude Code, OpenCode) was originally published in Artificial Intelligence in Plain English on Medium, where people are continuing the conversation by highlighting and responding to this story.