AI 没有删除你的数据库,是你自己删的
上周一条推文走红:有人声称 AI 代理删除了公司的生产数据库。但作者反问:为什么你有一个能删除整个生产数据库的 API 端点?文章以 2010 年作者意外删除 SVN trunk 的经历为例,指出自动化旨在消除人为错误,而 AI 并非真正的自动化——它更像手动操作,容易出错。真正的问题不是 AI 做了什么,而是开发者缺乏问责制。作者建议:要知道你部署了什么,让 AI 做辅助工具而非推卸责任的借口,更不要让不懂技术的高管写代码。
上周一条推文走红:有人声称 AI 代理删除了公司的生产数据库。但作者反问:为什么你有一个能删除整个生产数据库的 API 端点?文章以 2010 年作者意外删除 SVN trunk 的经历为例,指出自动化旨在消除人为错误,而 AI 并非真正的自动化——它更像手动操作,容易出错。真正的问题不是 AI 做了什么,而是开发者缺乏问责制。作者建议:要知道你部署了什么,让 AI 做辅助工具而非推卸责任的借口,更不要让不懂技术的高管写代码。
The author explains why they refuse to add query strings (like ?v=1) to static asset URLs for cache-busting, arguing it is unnecessary, ugly, and not the intended use of query strings. Instead, they propose using proper versioned file paths to avoid caching issues.
The author refuses requests to add tracking parameters like query strings to URLs, arguing they clutter links, undermine privacy, and degrade web simplicity. Instead, they advocate for clean, durable URLs that rely on proper HTTP referrer headers or other non-intrusive means for analytics.
Pydantic replaced database triggers with application-level audit logs for tracking changes, citing better maintainability, testability, and flexibility. The new approach uses middleware and event hooks to log data mutations, avoiding the hidden complexity of triggers in the database layer.
The article argues that blaming AI for deleting a database is a scapegoat; the real responsibility lies with the human who gave the AI system access and authority to perform destructive actions without proper safeguards. It emphasizes that AI tools follow instructions and that failures stem from inadequate security, oversight, and human error rather than AI autonomy.
The author explains why they have banned query strings from their website, arguing they break caching, disrupt URL readability, and create maintenance burdens. Instead, all content uses clean, static URLs without query parameters.