标签

InfoQ

AI 系统该用 Skill 还是子智能体:从复用、复杂度与维护成本做判断

来源: infoq.com 56
给 AI 系统增加能力时,开发者很容易把每个新需求都包装成一个子智能体。这样做在演示阶段很直观,却可能引入额外的提示词、状态、路由和可观测性成本。Azure 首席工程师 Kishorekumar Pattabiraman 给出的判断方向更务实:围绕复用性、简单性和长期维护成本,决定一项能力应该成为 Skill、子智能体,还是普通工具与确定性代码。 Sk...

HubSpot 用规则引擎重构 JITA 授权:把条件判断变成可观测的决策图

来源: infoq.com 39
Just-In-Time Access(JITA)要解决的是一个看似简单、实际很难维护的问题:用户在特定时间、特定理由和特定审批条件下,能否临时获得某项权限。随着例外、审批链和安全策略不断增加,集中式条件判断很容易演变成难以解释的授权代码。 HubSpot 的重构思路是把访问请求交给一组相互独立的规则评估,并将规则组织成有向无环图(DAG)。与此同时,...

用规则 DAG 重构即时访问授权:HubSpot JITA 架构的工程价值

来源: infoq.com 31
即时访问授权(Just-In-Time Access,JITA)解决的是一个敏感问题:用户只在需要时获得权限,并在条件不再满足后失去权限。随着审批条件、资源类型和治理要求增加,把所有判断堆进一段条件代码,很快会形成难以解释、难以测试、也难以审计的授权逻辑。 HubSpot 对 JITA 授权系统的重构给出了一条清晰路径:把访问决策拆成独立规则,再用有向...

守住变更局部性:让演进式架构不再依赖跨团队协调

来源: infoq.com 57
一个看似简单的功能,如果突然需要三个团队开会、修改四个服务并协调同一天发布,问题往往不在需求本身,而在系统已经失去了变更局部性:一项业务变化无法被限制在拥有该业务能力的边界内。边界漂移通常悄无声息,却会持续增加认知负担,最终让“演进式架构”只剩下口号。 假设电商系统要增加一条规则:VIP 客户可以免除订单取消手续费。理想情况下,这条规则应由订单或取消策...

WebAssembly 走进 JVM:从解释执行、JIT 到 Endive 的服务端演进

来源: infoq.com 38
WebAssembly 已经不再只是浏览器中的编译目标。Andrea Peruffo 的讨论把视角转向服务端 JVM:Wasm 运行时正在从解释执行走向更高效的即时编译,并开始承担边缘计算、插件隔离和模块化扩展等生产任务。与此同时,向 Endive 的过渡也提醒 JVM 开发者,评估 Wasm 不能只看单次基准测试,还要看运行时架构、宿主边界和长期维护...

TypeScript 7.0 原生 Go 编译器:构建速度提升 8 到 12 倍,但升级前要看清 API 兼容性

来源: infoq.com 49
TypeScript 7.0 带来了一个重要变化:编译器改用原生 Go 实现,官方摘要显示,真实代码库中的构建速度提升约 8 到 12 倍。对于大型前端工程、Monorepo 和持续集成任务来说,这可能直接改变开发反馈周期。 不过,这次升级并不只是把依赖版本号改成 。TypeScript 7.0 目前还缺少稳定的程序化 API,依赖 TypeScrip...