Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

        

联系锋哥QQ:3320160706

AI编程,程序员挑战年入30~100万高级指南 - 职业规划
Java、Python项目定制,修改,毕设辅导找 Java1234_小锋老师,专业又靠谱。   锋哥QQ:3320160706   锋哥微信:java9579
当前位置: 主页 > Java文档 > Python技术 >

为什么越来越多人使用 Haystack 3 ?


时间:2026-10-01 13:36来源:http://www.java1234.com 作者:小锋  侵权举报
为什么越来越多人使用 Haystack 3 ?
失效链接处理
为什么越来越多人使用 Haystack 3 ?

 
 
相关截图:
 


主要内容:


一、先说说 Haystack 是个啥
 
如果你这两年做过 RAG 或者 AI 应用,多半听过 Haystack 这个名字。它是德国公司 deepset 开源的 AI 编排框架,最早是做检索和问答的,后来 2.0 重写成了"组件 + 管道"的架构:每个组件干一件事(切分文档、做向量、调用模型、重排序……),你把它们像搭积木一样连起来,就是一条 Pipeline。
 
Haystack 一直有个很明确的性格:不绑模型厂商,不藏黑盒,代码全是你能读懂的 Python。这在 LangChain 那种抽象层层叠叠的年代,是相当多团队选它的理由——出了问题你能一路点进去看到底发生了什么,而不是对着一堆 Chain 的继承树发呆。
 
到了 2026 年 7 月,Haystack 3.0 正式发布,9 月又跟进了 3.1。这一版的主题只有一个词:Agent。
 
 
二、Haystack 3 到底改了什么
 
官方自己的总结挺有意思:3.0 这个 PR 每加一行代码,就删掉了大约三行。它不是一次推倒重来,而是"把该收的收掉,把该开的开出来"。
 
1. Agent 成了绝对主角,还开放了 Hooks
2.x 时代的 Agent 更像一个组件;3.0 里它接管了工具执行的全流程(独立的 ToolInvoker 被直接删掉了),同时开放了六个生命周期钩子:
 
before_run → before_llm → before_tool → after_tool → on_exit → after_run
 
这六个点位基本覆盖了生产环境里所有"我想插一脚"的需求:调用工具前做审计、模型调用前塞入租户上下文、敏感操作前拦下来等人工点头、退出时兜个底。关键是你不用再去改 Agent 内部代码或者继承重写,注册个函数就完事了。
 
人工确认(Human-in-the-Loop)现在也统一成了 before_tool 上的一个 ConfirmationHook,不再是一个单独的特殊概念——这种"把特例收敛成通用机制"的做法,整个 3.0 里到处都是。
 
2. Skills:让模型"用到才看"
这个特性我个人觉得是 3.0 最实用的一个。
 
传统做法是把所有业务规则、格式要求、边界情况全塞进 system prompt,结果就是提示词越写越长,上下文越吃越多,模型还经常抓不住重点。Haystack 3 引入了 SkillToolset:一个 skill 就是一个文件夹,里面放一个带 YAML frontmatter 的 SKILL.md,可以再附带参考文件。
 
Agent 启动时,模型只看得到每个 skill 的名字和一行描述;只有它自己判断需要时,才会调 load_skill 把完整内容读进来。这套机制叫渐进式披露(Progressive Disclosure),和 Claude Code、Codex 的做法是一个思路。


 


 
------分隔线----------------------------


锋哥推荐