Posts
1053
Practical notes on AI assistants, software architecture, and developer tooling.
Posts
1053
Tags
713
Featured
0
IAsyncActionFilter 在操作方法前后运行异步检查:OnActionExecutionAsync 包裹 next() 委托可短路请求。用邮箱验证过滤器讲清注册、应用与验证,以及何时改用授权过滤器。
Continue reading
IAsyncActionFilter 在操作方法前后运行异步检查:OnActionExecutionAsync 包裹 next() 委托可短路请求。用邮箱验证过滤器讲清注册、应用与验证,以及何时改用授权过滤器。
Andrew Ng 在 AI 工程技能地图中拆解「用编码 agent」这项技能:三条工作流步骤(计划、执行、部署监控)与五项关键能力(导航、自主度、审查、定制、原理),并纠正长时自主运行被夸大的现实边界。
编码 agent 让代码越来越便宜后,软件工程的价值转向判断:把模糊需求变成显式规格、用自动化门禁验证行为、用架构约束 agent,同时直面认知债与 junior 培养,并给出可立即执行的行动清单。
AutoMapper 2025 年转为商业许可,最后 MIT 版本带未修补高危漏洞。用 .NET 10 实测对比 AutoMapper、Mapster、Mapperly 与手写映射,给出可照做的选型清单、迁移路线和 AI 代理防坑配置。
把 RAG 评估拆成检索与答案两层:用可运行的 C# 实现 Precision@K、Recall@K、MRR、nDCG 与 groundedness、答案相关性,说明指标怎么解读、LLM 评判器的边界和离线评估组织,避免用总分掩盖问题。
升级模型后,旧技能和项目指令可能让编程助手多读文档、反复测试或提前停工。结合原文与官方文档,梳理技能触发、按需读取、授权边界和完成条件,并给出可直接改写的示例与检查方法,帮助你维护适合项目的指令。
三种查询变换都不是改写:HyDE 造假设文档当检索键、Step-Back 上移抽象层级、分解拆多跳问题。本文用与模型和向量库无关的 .NET 契约实现它们,并给出合并与基线对照评估。
语义重排不是召回:它只重排第一级检索给出的候选。本文讲清 Azure AI Search semantic ranker 的能力边界(top 50、2000 token、0–4 分),并用 C# 给出语义配置、查询和证据投影的完整示例。
Specification、Repository 与 Query Object 在 .NET 里各回答什么问题?本文用接口草图、职责表和选型矩阵讲清三者的边界,并拆解常见误用:把查询包当规格、用规格做授权或校验、一有规则就上规则引擎。
OpenAI 上线两个月的 ChatGPT Work 到底与普通 Chat 有何不同?本文以 Simon Willison 的实测为底,并核对官方文档,讲清联网代码执行、无头浏览器、持久文件、Sites、子代理与安全边界。
从一次写入后的短暂旧读出发,解释最终一致性的准确含义、CAP 在网络分区时的选择,并给出幂等、版本控制、事务发件箱、补偿和监控的设计清单,帮助开发者处理旧读、重复消息与并发冲突。
梳理 .NET 10 泛型 GC Handle API、.NET 9 弱内部指针句柄和 Android 双 GC 桥接机制,说明类型安全、性能收益、适用场景与生命周期风险。