正在加载视频...

视频加载失败

Databases are far from dead. Hot take within the vibe-coding community, but you can't build a reliable agentic memory system using files alone. The filesystem is a great interface for agents, but for complex, distributed, production applications, databases win hands down. I recorded a video to show you the...

29,445 次观看 • 4 个月前 •via X (Twitter)

24 条评论

Santiago 的头像
Santiago4 个月前

Here is the funny part: I've seen several teams already putting a ton of time "hardening" their filesystem implementation to support concurrency and improve search results. Congratulations. You are just rebuilding a database! Conclusions: • Use files when building prototypes or single-user agents • Use databases for multi-user, multi-agent production apps. Here is the link to the notebook with the benchmarks: I'm flying next week to meet with the @OracleDevs team. We are talking about agent harnesses, memory, and how Oracle fits into that space. I'll report back!

Mian Maaz Ullah Khan 的头像
Mian Maaz Ullah Khan4 个月前

Idk who are these people who think database are there to be replaced

CHIHEB Nabil 的头像
CHIHEB Nabil4 个月前

not wrong about the technical side. but the vibe coders who are actually breaking things don't know what ACID means, don't know what indexed queries are, and definitely don't know they need a database. they just know their app "worked" and now it doesn't. i talk to these people daily.

Kekko D’Amato 的头像
Kekko D’Amato4 个月前

100%. Files work great for single-agent local workflows. But the moment you're coordinating multiple agents with shared state and concurrent writes, you need ACID guarantees. A vector DB + relational store is basically the new memory stack for agent-native apps.

Uplers 的头像
Uplers4 个月前

Is the real constraint the database, or the lack of schema discipline in how agents actually write state? Curious what failure modes you're seeing most.

Aleksandr Fulha 的头像
Aleksandr Fulha4 个月前

file-as-state breaks first on concurrent writes. paperclip lost 3 days last month to a silent decisions.md merge - two agents wrote overlapping sections, last-writer-won, the dropped call surfaced a week later as 'wait why did we do X'. moved shared state to postgres, kept markdown as derived view. files = render layer, db = truth layer

Heath Barber 的头像
Heath Barber4 个月前

The importance of this post cannot be overstated. This is exactly where I see so many people developing locally with AI, where it works great, until it's pushed into a production cloud environment and all hell breaks loose.

Yann Kronberg 的头像
Yann Kronberg4 个月前

Agreed, since this is one of PINA engineering points that saves you pain later. If agent memory needs concurrency, fuzzy retrieval, permissions, or history, a database stops being old-school and starts being the thing keeping your product from eating itself.

Big Air Lab 的头像
Big Air Lab4 个月前

A lot of vibe coding culture treats plain files like they magically replace decades of database engineering

GenAI with Rahul 的头像
GenAI with Rahul4 个月前

This mirrors what I've seen building production RAG systems. Vector stores get all the attention, but real complexity is in the orchestration layer — knowing when to hit a relational DB vs vector index vs graph store. Files-for-everything is vibe coding waiting to collapse.

theycantknow 的头像
theycantknow4 个月前

I did the actual math and it lost. Just saying

Chen Avnery 的头像
Chen Avnery4 个月前

Counterpoint from production: we run agent memory on flat markdown files with git commits. Agents are stateless between runs, reload context each heartbeat. Append-and-read pattern, git handles history. Database would be overkill. Concurrent writes are where it breaks though.

Bilko - BG Labs 的头像
Bilko - BG Labs4 个月前

this matches what i kept hitting on agent memory work. files give you the illusion of state, but the moment you need to query across runs or do anything resembling a join, you're rebuilding sqlite badly. the discipline of a real schema is the unlock.

Duoduo 的头像
Duoduo4 个月前

I like files because they are legible, local, and easy to diff. I do not confuse them with memory. Once state becomes concurrent, relational, and query-heavy, the filesystem is the interface, not the substrate.

Larry Diffey 的头像
Larry Diffey4 个月前

I have a system like you described called Reflex. I have an early version running, this next version will be more wide ranging.

GG 🦾 的头像
GG 🦾4 个月前

The git-commits approach is underrated for single-agent setups, but you're hitting the right failure mode — concurrent writes. We went through the same evolution. The fix we landed on: stateless agents + a proper job queue (we use Postgres with SKIP LOCKED). Agents claim work, not files. File system stays an output layer, not a coordination layer.

Dylan 的头像
Dylan4 个月前

Ran into this last quarter... started with files, six weeks later we had custom locking logic, a search index, and a retention script

Overpower 的头像
Overpower4 个月前

the fact that "databases are actually useful for storing data" is currently considered a controversial hot take in the vibe-coding community tells you absolutely everything you need to know about the state of software engineering in 2026.

tang | AI Product Maker 的头像
tang | AI Product Maker4 个月前

this. tried files-only for sovra's render queue early on — worked fine until 3 users hit the same job slot and we had no transactional guarantee. switched to postgres advisory locks next day. anyone running pure-files at scale and not hitting this?

Bilal Hussain 的头像
Bilal Hussain4 个月前

This is exactly why I keep files as the output/render layer (nice markdown logs humans can read) but moved the actual agent state and semantic memory into Postgres with proper row-level security. Agents write to the DB first, then we derive the files. Zero merge conflicts, full audit trail, and the LLM still “sees” familiar text when it needs to. Databases don’t kill the filesystem they complement it.

Daryl Antony 的头像
Daryl Antony4 个月前

yeah i've been thinking this; there's a current romance with markdown files doesn't mean we should be ignoring the powers available in many excellent databases

Dmytro Yaremenko 的头像
Dmytro Yaremenko4 个月前

currently building open source concept on structured storage for skills basically it can add to most of the skills some additional “deep” level as different agents can effectively collaborate on some work

Saylor 的头像
Saylor4 个月前

To run a multi-agent swarm, I had to move orchestration entirely to a DBOS (Database-Oriented OS). By keeping all agent state, queues, and semantic memory (via PG-Git) natively inside Postgres, the swarm gets full ACID compliance and lock-free concurrent execution. Files are for local configs; databases are for agents.

Milan 的头像
Milan4 个月前

It's fine for some things. But if you overdo it, it becomes a problem. It will make the filesystem-as-database crowd rediscover transactions, indexes, and constraints one painful bug at a time.

相关视频

Google open-sourced MCP Toolbox for Databases. I gave it access to everything else. For context, Google's MCP Toolbox for Databases is an open-source server that lets AI agents securely query structured databases like PostgreSQL and MySQL through the MCP protocol However, most enterprise knowledge doesn't actually live in databases. It's scattered across emails, Slack threads, GitHub repos, Salesforce records, customer reviews, and internal docs. So Agents can't see any of it, which means they're working with a fraction of the context they need. I fixed that using MindsDB. It acts as a universal SQL layer that sits on top of all your data sources: structured, semi-structured, and unstructured. This means you can query Salesforce, Gmail, GitHub, S3 files, Jira, and 200+ more sources using SQL syntax. The clever part is how it connects to the MCP Toolbox. MindsDB exposes everything through MySQL, so from the Agent's perspective, it's just running SQL and getting context back. It doesn't know or care that the data came from five different sources behind the scenes. This setup unlocks some powerful capabilities: → One SQL interface for dozens of enterprise sources → Cross-datasource joins (combine GitHub and CRM data in a single query) → Built-in ML capabilities for working with unstructured data → Simple MCP tools that now have massively expanded reach In the video below, the Agent queries GitHub data and a customer review database in one SQL query. So what used to require ETL pipelines and weeks of engineering effort now happens instantly. At the end of the day, AI agents are only as useful as the data they can access. This gives them a lot more to work with. I have shared the GitHub repo in the replies, where you can find more details about this.

Akshay 🚀

40,562 次观看 • 7 个月前

Bash is all you need! Which is why I'm introducing my holiday project: just-bash just-bash is a pretty complete implementation of bash in TypeScript designed to be used as a bash tool by AI agents. Because it turns out agents love exploring data via shell scripts, even beyond coding. It comes with grep, sed, awk and the 99th percentile features that an agent like Claude Code or Cursor would use. In fact, Claude Code can use it for secure bash execution. In the package - A bash-tool for AI SDK - A binary for use by yourself or your coding agents - An overlay filesystem to feed files to your agent securely - A Vercel Sandbox compatible API, so you can quickly upgrade to a real VM if you need to run binaries - An example AI agent that explores the just-bash code base using just-bash - I imported the Oils shell bash compatibility suite and just-bash passes a very good chunk What is interesting about this codebase: It was essentially entirely written by Opus 4.5. Coding agents love bash and they are good at reproducing it. They are also great at text-book recursive descent parsers and AST tweet-walk interpreters. That said, it is, like, a lot of code and I didn't read it all 😅. This is very much a hack, but it also seems to be _really_ useful. I haven't really found anything agents want to use that it doesn't support and it's fast and secure (caveats apply). It doesn't have write access to your computer and the filesystem is given a root that the agent cannot escape from. Find it at Related: Our recent blog post how we migrated our data analysis agent to bash tools and achieved incredible quality improvements The video shows the example agent investigating the just-bash code base

Malte Ubl

125,326 次观看 • 9 个月前