Tag
A blog post by matklad arguing that public functions should not call other public functions; instead, shared logic should be extracted into private helper functions to avoid interface degradation over time, with a noted exception for shortcut APIs.
A developer argues that Ruby on Rails and frameworks in general still make sense even as LLMs write most code, since abstractions that boost human productivity also boost LLM productivity, and full rewrites (e.g., to Rust) carry high risk of subtle behavioral regressions for users.
该论文通过设计科学研究方法,将 ANASSA 空间智能体 AI 编排框架从高层架构细化为包含 47 个逻辑角色、版本化任务图、类型化契约和治理控制的低层可执行架构,为受治理的空间智能体工作流提供实现级桥接。
作者观察 AI 代理在现有软件上的工作方式后指出,大多数软件缺少代理与应用之间的中间访问层,导致代理只能直接操作为人类设计的界面。文章提出代理就绪的三层架构:应用层、代理层,以及负责权限、审批和结构化访问的中间层。
作者用「布料、支柱与地钉」比喻 agentic 代码:AI 生成的代码柔软易变形,需要架构约束(支柱)才能成型,测试只是地钉。文中还强调数据模型是最承重的支柱,并向读者征询看法。
一位有五年实时AI助手构建经验的工程师总结了生产级Agent系统的四条关键经验:可视化流程图、预设人工审批环节、集中管理模型选择、以及预先设计模型出错时的处理机制,并附带了一个公开的参考实现项目。
An article arguing for the use of dependency injection as a core software design practice, discussing its benefits for modularity, testability, and maintainability.
A comprehensive, bookmark-worthy roadmap covering software architecture from fundamentals and design principles to distributed systems, DDD, evolution, and communication practices for developers aiming to become architects.
An explanation of Change Coupling — how code that must change together even when structurally unrelated creates hidden maintenance costs — and how it relates to other types of coupling as a sense-making tool for architectural decisions rather than a metric to optimize.
The article analyzes 'katamari architecture' as a metaphor for haphazard AI-assisted software development, examining how LLM agents lead to feature bloat without proper composition, drawing parallels to the 'Big Ball of Mud' concept.
This paper presents design principles and the 'AGIMUD' software for enabling socio-affective interactions between humans and multiple AI agents in simulated dynamic worlds, leveraging generative AI and distributed processing.
A comprehensive guide to core system design building blocks, including client-server architecture, scaling, and databases, to help with system design problems and interview preparation.
This article is an engineering note that re-examines the design of coding agents from first principles, questions the impact of KV cache on current architectures, and proposes new methods for context management and decision-making.
The article expands Gary Bernhardt's 'Functional Core, Imperative Shell' architecture to 'Deterministic Core, Non-Deterministic Shell,' highlighting determinism over pure functionalism for better testability and broader applicability in software systems.
Joel Spolsky warns against over-abstraction in software design, using examples like Napster to highlight how excessive focus on architecture can neglect user needs. He critiques the hype around tech trends that prioritize abstract concepts over practical features.
This article discusses handling provider outages in AI agent systems by implementing failover, model fallback, circuit breakers, and idempotent retries to prevent pipeline stoppages and duplicate actions.
The article explores setting boundaries for AI agents in production, advocating for modular design with versioned contracts to manage coordination costs and failure isolation.
TALA, Terrastruct's AutoLayout Algorithm, is now open-source under the MPL-2.0 license and bundled with D2 v0.9.0, providing a novel approach for aesthetic software architecture diagrams.
Issue 306 of the deararchitects newsletter curates recent tech reads including the 'Agentic Enterprise' book, context engineering for production-grade AI, Spotify Engineering's Claude Code token optimization, and Netflix's ArchUnit scaling with Nebula ArchRules.
Dalek introduces a constructive agent machine that enables self-maintenance, self-evolution, self-reproduction, and self-organization on any substrate, using actors, messages, and channels with a von Neumann core for hereditary construction.