22.对比学习LC和MAF
文章平均质量分 72
对比学习LC和MAF
JaydenAI
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[对比学习LangChain和MAF-17]Harness在LangChain和MAF中的应用
文章摘要: 本文对比了MAF框架中的HarnessAgent与LangChain的DeepAgents在实现任务编排(Harness Engineering)时的异同。通过一个实际案例(统计《了不起的盖茨比》文本中特定关键词的行数及摘要生成),演示了两种代理的默认工作流程。DeepAgents通过create_deep_agent整合工具函数(如URL文本抓取)、系统提示词和内存检查点,分步骤调用工具链完成任务,并处理大文件分段读取。两者核心逻辑相似,但细节实现存在差异,展现了不同框架对复杂任务自动化的设计原创 2026-08-05 09:17:54 · 393 阅读 · 0 评论 -
[对比学习LangChain和MAF-16]基于Checkpoint的持久化
LangGraph和MAF的Workflow真的很像,它们的核心目标非常一致,都是解决大模型逻辑链脆弱、非确定性带来的失控问题,将Agent转化为可控、稳定、可扩展的业务流水线。但是它们只是看上去很像,实际上在底层的实现又完全不一样。这篇文章我们就来讨论两者在基于Checkpoint的持久化方面的异同。原创 2026-06-30 21:03:40 · 750 阅读 · 0 评论 -
[对比学习LangChain和MAF-15]压缩对话历史
为解决LLM调用无状态的问题,我们不得不将消息历史作为上下文的一部分发送给LLM。但随着对话的进行,消息历史会不断增长,最终可能会超出LLM的上下文窗口限制。LLM拥有上下文的丰富程度与推理的质量并不是完全正相关的,当对话历史的长度超过一定程度后,过长的上下文反而会干扰LLM对当前对话的理解和推理,导致LLM生成的响应质量下降。所以对话历史的压缩需求可能永远都不会消失。我们来看看LangChain和MAF是如何解决这个问题的。原创 2026-06-28 07:50:34 · 400 阅读 · 0 评论 -
[对比学习LangChain和MAF-14]使用消息注入改变对话历史
对话历史作为核心的上下文信息,为LLM建立起对话的语境,是决定LLM响应内容的关键输入之一。对话历史中的每一条消息都绑定这一个固定的角色,典型的角色包括`System`、`User`、`Assistant`和`Tool`。但是这并不意味着每条消息一定要求都要由对应的角色生成,为了提供LLM推理的质量,用户和工具都能根据需求向对话历史注入消息,而且这些消息可以具有任意的角色,前提是消息的结构符合要求。原创 2026-06-22 07:37:03 · 389 阅读 · 0 评论 -
[对比学习LangChain和MAF-13]利用长期记忆让Agent具有自我学习和进化的能力
本文介绍了如何利用LangChain(Deep Agents)的MemoryMiddleware实现Agent的长期记忆功能。通过文件系统存储用户偏好,Agent能在不同会话间保持记忆,实现个性化响应。文中以点餐助手为例,演示了如何基于用户ID存储饮食偏好,使Agent能根据历史记录提供定制化服务。示例代码展示了记忆的读写过程,并验证了修改记忆文件可直接影响Agent行为,体现了Agent的自我学习和适应能力。原创 2026-06-19 07:37:33 · 490 阅读 · 0 评论 -
[对比学习LangChain和MAF-12]Agent Skills的不同实现方式
Agent Skills是可移植的指令、脚本和资源包,赋予Agent专门化的能力和领域专业知识。Skill遵循开放规范,并采用渐进式披露模式,因此Agent只需在需要时加载所需的上下文。Agent Skills在不同个Agent开发框架中的实现可能会有所不同,但它们的核心理念是相似的。接下来我们就来看看Agent Skills分别在LangChain和MAF中的编程方式和实现原理。原创 2026-06-18 08:26:40 · 390 阅读 · 0 评论 -
[对比学习LangChain和MAF-11]RAG的实现
RAG技术有效解决了大语言模型的五大核心痛点:通过强制检索外部知识库消除幻觉问题,实时更新数据突破知识时效性限制,安全利用企业私有数据,提供可追溯的答案来源,并以极低成本实现知识更新。示例展示了RAG如何通过检索最新信息回答超出模型训练时间的问题,同时保持数据安全和答案透明度。原创 2026-06-16 07:12:26 · 399 阅读 · 0 评论 -
[对比学习LangChain和MAF-10]采用后台响应以适应长耗时推理
MAF支持后台响应机制,通过ContinationToken处理长时间运行的操作,适用于复杂推理任务、易中断操作和延迟获取结果的场景。该机制允许Agent在后台处理请求并返回令牌,客户端可通过轮询获取最终结果。示例展示了在非流式调用中如何利用ContinationToken轮询旅游攻略生成任务的状态,直到操作完成。虽然LangChain原生不支持此功能,但可通过LangGraph SDK的Run对象实现类似效果。原创 2026-06-15 07:26:55 · 317 阅读 · 0 评论 -
[对比学习LangChain和MAF-09]利用结构化输出生成指定结构的内容
AI Agent的结构化输出是指Agent在执行任务时,不再返回自然语言文本,而是严格按照预定义的格式(如JSON、XML、YAML 或特定数据对象)输出数据。这是将AI从**能聊天的Agent**演变为**能精确执行工业级业务流的系统**的核心技术。下来我们来看看LangChain和MAF是如何支持Agent的结构化输出的。原创 2026-06-15 07:20:32 · 423 阅读 · 1 评论 -
[对比学习LangChain和MAF-08]ReAct循环的实现方式
对于Agent的每一次调用,Agent内部都采用ReAct循环调用LLM和工具,直到达到某个终止条件才会停止循环。由于Agent处理管道在LangChain和MAF中具有截然不同的涉及,所以针对ReAct循环的实现也有很大的差异,下面我们来看看它们是如何实现的。原创 2026-06-13 07:45:26 · 480 阅读 · 0 评论 -
[对比学习LangChain和MAF-07]如何引入人机交互的审批流程
如何执行的工具涉及一些较为敏感的操作,必需要经过人工审批才能执行,这时候就需要引入人机交互(Human-In-The-Loop)的机制。无论是LangChain还是MAF,都提供了相应的机制来支持人机交互,下面我们来看看它们是如何实现的。原创 2026-06-13 07:43:05 · 432 阅读 · 0 评论 -
[对比学习LangChain和MAF-06]工具的定义和注册
LangChain和MAF框架通过工具调用机制实现Agent与环境的交互。LangChain的工具系统核心是BaseTool基类,支持同步/异步调用,并提供丰富的元数据描述(如名称、功能描述、参数Schema等)。其子类Tool和StructuredTool分别实现简单函数和结构化参数调用,其中StructuredTool通过args_schema支持复杂参数类型。工具可通过@tool装饰器快速转换为BaseTool对象,注册时实际传递的是工具声明而非具体实现,使LLM能根据元信息生成调用意图。原创 2026-06-12 07:21:32 · 434 阅读 · 0 评论 -
[对比学习LangChain和MAF-05]两种截然不同的Agent管道设计
本文对比了LangChain和MAF框架中Agent管道的设计差异。LangChain通过create_agent函数构建基于状态图的Agent,核心是包含模型节点和工具节点的双节点结构,通过动态条件边实现ReAct循环。中间件机制允许扩展状态字段、添加节点、包装模型/工具调用等功能,增强了管道的灵活性。相比之下,MAF的Agent管道设计更侧重于消息交换模式,而非简单的请求-响应模式。两种框架都支持复杂推理任务,但LangChain通过状态图和中间件提供了更直观的流程控制和扩展能力。原创 2026-05-25 08:26:28 · 540 阅读 · 0 评论 -
[对比学习LangChain和MAF-04]针对消息的不同设计
基于角色的消息机制是Chat Agent的核心技术,通过System、User、Assistant和Tool四种角色实现结构化对话。System设定AI人格与行为准则,User提供任务请求,Assistant维护对话历史,Tool处理外部工具交互。LangChain设计了BaseMessage基类和四种预设消息类型(SystemMessage、HumanMessage、AIMessage、ToolMessage),并通过ContentBlock实现内容标准化,支持文本、工具调用等多种内容形式。该机制有原创 2026-05-25 08:23:48 · 541 阅读 · 0 评论 -
[对比学习LangChain和MAF-03]完全不同的Agent设计哲学
摘要:LangChain和MAF在Agent设计上采用不同哲学。LangChain通过LangGraph、create_agent和create_deep_agent三种方式创建本质上相同的Pregel型Agent,核心是基于状态图和BSP机制的Actor模型,支持通过Middleware扩展功能。MAF则定义抽象基类AIAgent,通过继承实现多样化Agent类型,采用Workflow机制(类似LangGraph)驱动执行,并通过AgentSession管理会话状态。两者差异体现在:LangChain"万原创 2026-05-20 08:25:30 · 556 阅读 · 0 评论 -
[对比学习LangChain和MAF-02]基本编程模式的差异(下篇)
本文介绍了LangChain和MAF框架中实现会话保持的两种方式。在LangChain中,通过Thread ID和Checkpointer机制实现多轮对话的上下文共享,示例展示了如何通过指定相同Thread ID来关联两次调用。MAF则采用Session对象的方式,在创建Agent时生成会话实例,通过传递Session对象维持对话状态。两种方式都能有效解决Agent在多轮交互中的上下文记忆问题,为复杂任务提供支持。文章还通过天气查询和穿衣建议的案例,演示了会话保持在实际应用中的效果。原创 2026-05-20 08:22:53 · 877 阅读 · 0 评论 -
[对比学习LangChain和MAF-01]基本编程模式的差异(上篇)
本文对比了微软MAF框架与LangChain在AI代理开发中的差异。作者从.NET开发者视角出发,详细分析了两种框架在LLM客户端选择、Agent创建方式和上下文管理等方面的不同实现。通过具体代码示例,展示了如何使用Azure部署的GPT模型创建简单Agent,并比较了LangChain的Python实现与MAF的C#实现。文章特别指出MAF提供了多种客户端选择(OpenAIClient、AzureOpenAIClient和AIProjectClient),而LangChain则更依赖环境变量配置。这种对比原创 2026-05-19 09:22:06 · 794 阅读 · 0 评论
分享