返回资讯中心
外部精选
软件工程
#开发者实时流

ctxd 推出基于 grep 的检索方案,不依赖向量嵌入

来源标题:Why ctxd: Let the agent grep

ctxd 提出以 grep 优先的文本检索方案,不使用嵌入向量,让 agent 能直接搜索文本、查看路径并反复读取源文件。该方案主打更简单、成本更低,并称效果不逊甚至更好。项目通过本地 tracker 经 ctxfs 暴露选定文件夹,由 agent 自行决定查询。

Hacker News 最新tokendit2026/11/3 · 今天13 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

用 ctxd。它更简单、更便宜,效果同样好,甚至更好。 频繁更新、预算紧张、延迟目标。更少的活动部件,更少的故障点。 自由软件仍然消耗计算和存储资源。无论采用哪种方式,agent 的模型都可能产生使用费用。 速度取决于语料库大小、硬件、缓存和 agent 的搜索策略。这些是架构层面的权衡;端到端性能仍然需要基准测试。 你问 agent 在健康检查失败后如何回滚部署。它找到一行关于恢复先前镜像的内容。但紧挨着它上方的那条指令说要先停止 rollout。 agent 需要一种能读到匹配项之外内容的方式。先 grep 搜索。不用 embedding。这就是 ctxd 的出发点:可搜索的文本、源路径,以及 agent 可以反复调用的工具。 ctxd 的本地跟踪器通过 ctxfs 让选定的文件夹保持可用。你的应用为 agent 提供检查路径、搜索文本和读取源文件的工具。查询由 agent 自己选择。 基于 embedding 的检索通常把文本切分成块,编码为向量并维护索引。每一层都带来决策:块在哪里结束、用哪个 embedding 模型,以及如何保持索引最新。 我们希望从可搜索的文本和源文件读取开始。沿着同一份 runbook 走一遍准备、提问和源文件编辑的流程。 文本及其来源。ctxd 存储一份可搜索的文本副本。文件夹选择、支持的格式和保留策略仍需关注。 Embedding RAG 先匹配,再阅读。agent 选择一种模式,检查匹配的路径,然后阅读周围的源文件。正则表达式也可能返回不相关的匹配。 Embedding RAG 滚动以跟随 RAG 步骤。ctxd 始终可见。 刷新文本副本。一次成功的扫描会用编辑后的文本替换可搜索副本。 Embedding RAG 滚动以跟随 RAG 步骤。ctxd 始终可见。 grep 优先搜索的弱点在于起始词汇。“Undo a deploy”可能会漏掉写着“rollback”的文件。搜索 RUNBOOK 不会仅仅因为读者会称某个文件为 runbook 就找到它。正则表达式匹配的是文本模式;它不会推断出那层含义。 如今,agent 可以列出文件夹和路径、阅读标题,并尝试 rollback|revert|undo 之类的替代词。它可以用在一个来源中发现的术语去搜索下一个来源。ctxd 暴露这些操作;调用方 agent 提供词汇并判断证据。 我们的方向是让这个发现循环更容易引导和检查:选择有用的范围、尝试候选词、阅读证据,然后细化。自动词汇扩展不属于本地搜索引擎的一部分。ctxfs 指南描述了可用的读取操作。 正则表达式可以找到错误码、服务名或短语。结果给调用方一个文件路径和行号供其检查。 在这个例子中,搜索 rollback 会找到第 3 行。阅读周围的段落可以揭示它前面的步骤。 这次阅读可能会揭示另一个文件或一个值得搜索的术语。调用方可以把下一个查询缩小到某个文件夹或路径前缀。agent 沿着证据走,开发者可以检查它的调用序列。 使用 quickstart 中的本地服务。示例调用其 ctxfs API 找到一行,然后读取其上下文。 在你的工作站上,以普通用户身份,在一个不存在 ctxd-thesis-example 的目录中开始: mkdir ctxd-thesis-example && cat > ctxd-thesis-example/runbook.md <<'TEXT'

Deployment notes

If deployment health checks fail, stop the rollout. Rollback: restore the previous image tag, then recheck health. TEXT 安装 ctxd 后,启动本地 ctxfs 并跟踪这个示例文件夹: ctxd backend set ctxfs ctxd folders add ./ctxd-thesis-example --name ThesisExample ctxd tracker start 等待扫描成功。CLI 会把 ThesisExample 解析为其跟踪路径,并通过配置的本地 socket 连接。服务检查参见 quickstart。 搜索匹配的行,然后读取这三行段落: ctxd files grep '(?i)rollback' --prefix ThesisExample --limit 20 ctxd files read-lines ThesisExample/runbook.md --start 1 --end 3 搜索返回一行匹配。读取返回全部三行,包括停止 rollout 的那条指令。agent 可以在决定下一步做什么之前使用这些证据。 ctxd 保留被跟踪文本的本地副本。保留和共享细节参见安全和数据指南。 本地实现采用 MIT 许可证。开发者可以检查文件如何被跟踪,以及每次调用返回什么。 直接访问文件可能已经能满足你的应用需求。ctxd 增加了一个通用接口和文件夹跟踪,并配有服务和存储来管理。我们希望让这种权衡对需要跨文件追踪证据的 agent 有用。 设计背后的研究和技术来源: 这些论文评估的是它们自己的系统和条件。选择不用 embedding 是我们的设计决定;这些参考并不确立一个通用的检索赢家,也没有对 ctxd 进行测量。 阅读源码。试用本地工作流。帮助塑造这个项目。

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →