2

[MAF预定义ChatClient中间件-09]MessageInjectingChatClient-赋予工具消息注入的能力

当工具在执行过程借助注入对话历史的消息来描述当前的情况,以辅助LLM后续能够更加精准的推理,这是非常有价值的。比如工具在执行过程中发现验证的风控风险,可以注入一条`Assistant`消息模拟LLM的回复来提示用户风险的存在。 ...

Artech 发布于 2026-06-15 08:58 评论(0) 阅读(132)
2

.NET Core自定义 ALC 中启动WebHost的HostingStartup解析异常

问题场景 在 .NET Core插件系统中,插件程序集通过自定义 AssemblyLoadContext(ALC)加载,与宿主程序的 Default ALC 保持隔离。当插件内部若需要自托管一个 Web 服务,调用 Host.CreateDefaultBuilder() 启动 WebHost 时,此 ...

Jeffcky 发布于 2026-06-14 14:31 评论(0) 阅读(188)
1

【EF Core】继承策略——TPC

在开始主题之前,老周分享另一个知识,碰巧这知识点也是 EF Core 的,是前些天一位新手程序猿问的,他那是一个小项目,因为小,所以采用 Code First 的方案。不过程序有两个版本,一个是用 SQLite 数据库,一个用 SQL Server。然后有些实体他设定了 CHECK 约束。众所周知, ...

东邪独孤 发布于 2026-06-13 22:37 评论(0) 阅读(208)
0

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

按照之前文章《氛围编程实战系列:先规划清楚学习路径》这个规划路径,我们今天来开发第二个功能:合并知识功能。 总结这篇文章的初期阶段,其实让笔者非常的困惑。因为经历了太多思想碰撞。最终认为如果要持续学习一件新事物,还必须要从现实出发,不要为了学习而学习,而要为了解决一个实际问题而学习,哪怕这个问题开始 ...

AlfredZhao 发布于 2026-06-12 21:53 评论(0) 阅读(219)
3

[MAF预定义ChatClient中间件-08]OpenTelemetryChatClient-实现链路跟踪和性能监控

赋予部署的应用和服务可观测性已经是一个基本的需求,在这方面,`OpenTelemetry`无疑已经称为了事实上的标准。`OpenTelemetryChatClient`是一个预定义的`IChatClient`中间件,它利用重写的`GetResponseAsync`和`GetResponseStrea... ...

Artech 发布于 2026-06-12 08:26 评论(0) 阅读(131)
6

[MAF预定义ChatClient中间件-07]PerServiceCallChatHistoryPersistingChatClient——基于ReAct循环的一步一存档

在默认的情况下,`ChatHistoryProvider`基于**调用**对产生的请求和消息进行存档。如果一次调用涉及多轮ReAct循环,意味着每次调用可能会很多条消息,但是它们只会在ReAct循环结束之后才会被存档一次。如果最后存单失败,意味着这些消息将全部丢失,所以有时候我们ReAct循环的每次... ...

Artech 发布于 2026-06-11 08:53 评论(0) 阅读(175)
3

[MAF预定义ChatClient中间件-06]利用ImageGeneratingChatClient开发专业图片生成Agent

我们目前已经有相当专业的图片生成的模型,它可以利用我们提供的文本提示来生成高质量的图片,但是由于我们对文字的驾驭能力不够,写不出迎合LLM的提示词。ImageGeneratingChatClient中间件结合我们注册的ImageGenerator将两者结合在一起:我们通过与Agent对话的方式说出我... ...

Artech 发布于 2026-06-10 08:24 评论(0) 阅读(184)
5

精选 5 款基于 .NET 开源免费、功能强大的 Windows 系统优化工具

前言 在数字化办公与娱乐需求日益增长的今天,Windows 系统的流畅度与稳定性直接影响着我们的日常体验。为了帮助大家告别系统卡顿、冗余服务以及隐私泄露的困扰,大姚给大家分享 5 款基于 .NET 开源、功能强大且免费的 Windows 系统优化工具。 Optimizer Optimizer 是一款 ...

追逐时光者 发布于 2026-06-09 23:55 评论(0) 阅读(1033)
6

[MAF预定义ChatClient中间件-05]动态修改ChatOptions和请求消息

调用`IChatClient`的`GetResponseAsync`或者`GetStreamingResponseAsync`方法时,我们通常会传入一个`ChatOptions`对象来控制运行行为。`ConfigureOptionsChatClient`利用指定的委托对象来动态设置`ChatOpti... ...

Artech 发布于 2026-06-09 08:53 评论(0) 阅读(157)
5

[MAF预定义ChatClient中间件-04]ReducingChatClient——精减对话历史又不丢失基本语义

绝大部分的Agent都采用对话的方式来和用户进行交互,所以对话的内容就成了Agent决策的基础,对话历史也成为占据LLM上下文窗口的主要内容。LLM推理的质量并非与上下文的丰富程度成正向关系,有时候过多的上下文信息反而会干扰Agent的判断,导致它做出错误的决策。`ReducingChatClien... ...

Artech 发布于 2026-06-08 07:50 评论(1) 阅读(186)
1

当 AgentGateway 遇上 OpenClaw.NET:企业级智能体基础设施的深度协同实战

2026 年 6 月,Linux 基金会旗下的[智能体 AI 基金会(AAIF)正式接纳 AgentGateway 为第四大核心托管项目](https://aaif.io/blog/agentgateway-joins-aaif-as-an-open-gateway-for-agentic-ai-i ...

张善友 发布于 2026-06-06 07:51 评论(0) 阅读(428)
4

[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间

我们知道LLM的调用不仅仅是一个耗时的操作,还会产生一定的费用,所以我们希望能够尽可能地减少不必要的调用。`CachingChatClient`就是为此而生的一个中间件实现,它通过在内存中维护一个缓存来存储之前调用LLM的输入和输出,从而避免了对相同输入的重复调用。当我们调用`GetResponse... ...

Artech 发布于 2026-06-05 08:39 评论(0) 阅读(218)
6

[MAF预定义ChatClient中间件-02]FunctionInvokingChatClient——实现ReAct循环和人机交互的大功臣

在众多预定义的`IChatClient`中间件中,`FunctionInvokingChatClient`无疑是最重要的一个,以至于没有它整个Agent就无法工作了。原因在于驱动Agent执行的核心机制的ReAct循环就是通过`FunctionInvokingChatClient`实现的,我们注册的... ...

Artech 发布于 2026-06-04 08:45 评论(0) 阅读(232)
0

AI编程系列01:裸 API 账单场景下,如何自建 LLM 用量可视化看板

很多开发者接入聚合型 LLM API 后,会遇到一个很现实的问题:服务商只给账单接口,不提供 Web 管理后台。Token 消耗、扣费明细、成本趋势都藏在 JSON 里,看得见数据,却看不清变化。 按照上篇文章《氛围编程实战系列:先规划清楚学习路径》这个规划路径,我们今天就来用 AI 先开发一个 L ...

AlfredZhao 发布于 2026-06-03 17:22 评论(0) 阅读(239)
10

记一次 .NET 某注塑模具系统 CPU爆高分析

一:背景 1. 讲故事 前些天有位朋友在微信上找到我,说他们的系统出现了CPU爆高,找不到原因,让我帮忙看一下,dump也拿出来了,接下来上windbg分析。 二:CPU爆高分析 1. 真的爆高吗 dump的分析第一原则就是相信数据,先使用 !tp 观察cpu使用率。 0:031> !tp Usin ...

一线码农 发布于 2026-06-03 10:44 评论(6) 阅读(824)
6

[MAF预定义ChatClient中间件-01]LoggingChatClient——在调用LLM前后输出日志

`LoggingChatClient`是一个预定义的`IChatClient`中间件,它在调用前后输出日志,帮助我们更好地了解Agent的执行过程。它会记录每次调用的输入和输出,以及调用的时间戳等信息。这对于调试和监控Agent的行为非常有用。 ...

Artech 发布于 2026-06-03 08:53 评论(1) 阅读(233)
1

氛围编程实战系列:先规划清楚学习路径

氛围编程实战系列:先规划清楚学习路径 上篇文章《入门:我的第一个Vibe Coding实践程序》笔者已经带大家初步体验了氛围编程的能力和效果,体验过后,下一步我们具体要做什么,要有一个大致的规划,也就是这篇文章要介绍的内容。 01 | 为什么先规划学习路径 很多技术初学者开始做 AI 编程时,容易先 ...

AlfredZhao 发布于 2026-06-02 10:42 评论(0) 阅读(342)
1

[MAF的Agent管道详解-07]利用AIAgent中间件构建Agent管道

与采用`DelegatingChatClient`中间件装饰`IChatClient`对象并构成`IChatClient`管道的方式类似,我们可以使用`DelegatingAIAgent`代表的`AIAgent`中间件来装饰一个`AIAgent`对象,并构成一个`AIAgent`管道。通过在不同的阶... ...

Artech 发布于 2026-06-02 08:52 评论(0) 阅读(241)
2

[MAF的Agent管道详解-06]ChatClientAgent对IChatClient和输入输出增强管道的整合

上面我们介绍了与LLM交互的`IChatClient`管道、持久化对话消息的`ChatHistoryProvider`、以及实现输入和输出增强的`AIContextProvider`,接下来我们来看看`ChatClientAgent`是如何将它们整合在一起的。 ...

Artech 发布于 2026-06-01 13:45 评论(0) 阅读(208)
12

C# 内存安全性的重大演进:重新定义 unsafe 关键字

导读:.NET 产品经理 Richard Lander 披露了 C# 16 与 .NET 11/12 的核心蓝图——在不丢失 GC 的前提下,让 C# 在底层内存控制上更接近 Rust 的安全保障。 TL;DR 一句话概括这场变革:把「指针」从洪水猛兽变成可控工具,把真正的危险精确到「解引用」这一刀 ...

张善友 发布于 2026-06-01 07:55 评论(2) 阅读(900)