返回首页
一周热榜
官方的 Linear MCP 在写入方面表现出色,但读取时却占用了我在 Claude Code 中的上下文窗口。每个查询都会进行 API 调用,并返回包含完整用户对象和我不需要的工作流状态的冗长响应。
因此,我构建了一个只读的 MCP 服务器,它直接从 macOS 上的 Linear.app 本地 IndexedDB 缓存中读取数据。它还在本地解码 Y.js CRDT 编码的问题描述。无需 API 调用,响应更小,没有速率限制,支持离线使用。
我为新加坡法律构建了一个“三级故障转移”RAG,并根据您的反馈重新编写了逻辑。
大家好!
我是一名学生开发者。最近,我创建了“探索新加坡”,这是一个基于RAG的搜索引擎,抓取了大约20,000页新加坡政府法案和法律。
我最近发布了最小可行产品(MVP),并收到了关于幻觉和查询深度的一些严厉但重要的反馈。我采纳了这些反馈,专注于改进,并刚刚发布了版本2。
以下是我如何将系统从基本的RAG升级到生产级别的。
设计与用户界面
我旨在避免一个乏味的政府网站。
设计:深受苹果极简风格的启发。
技术:自定义前端与Python后端交互。
版本2的工程大改造
社区对我提出了三个主要挑战。以下是我如何解决这些问题的:
1. “个性”修复
问题:我使用了一个“三级故障转移”系统,三个模型作为备份。当主模型失败时,备份模型的声音完全不同。
解决方案:我添加了动态系统指令。现在,如果后端切换到模型B,它会使用专为模型B特性设计的特定提示,使其模仿主模型的结构和语调。用户根本不会注意到变化。
2. “深度搜索”修复
问题:对“创业”的简单语义搜索会遗漏与“税务”或“劳动”法相关的法律。
解决方案:我实现了多查询检索(MQR)。一个大型语言模型(LLM)现在会拦截您的查询。它将查询分解为子意图(例如,“商业注册”、“公司税”、“就业规则”)。它同时搜索所有这些子意图并结合结果。
结果:提供了更丰富、具有上下文意识的答案。
3. “幻觉”修复
问题:垃圾进,垃圾出。如果FAISS检索到一个不良文档,LLM就会生成不准确的信息。
解决方案:我添加了一个交叉编码器重新排序层。
步骤1:FAISS获取前10个结果。
步骤2:一个专门的交叉编码器模型评估它们的相关性。
步骤3:在它们到达聊天LLM之前,移除不相关的部分。
技术栈
嵌入:BGE-M3(本地运行)
向量数据库:FAISS
后端:Python + 自定义三级模型故障转移
逻辑:多查询 + 重新排序(版本2中新功能)
试用一下
我仍在学习中。非常希望听到您对新逻辑的看法。
在线演示: [https://adityaprasad-sudo.github.io/Explore-Singapore/](https://adityaprasad-sudo.github.io/Explore-Singapore/)
GitHub仓库: [https://github.com/adityaprasad-sudo/Explore-Singapore](https://github.com/adityaprasad-sudo/Explore-Singapore)
欢迎反馈,特别是关于故障转移速度的意见!
多年来,我构建了几个在技术上都很扎实的应用程序。
它们运行良好。
它们稳定。
它们解决了真实的问题。
其中一些甚至被付费客户使用。
然而——它们并没有取得成功。
很长一段时间,我将这视为分发问题、时机问题,或者“我只是不够努力推广”。我最终意识到的事情更简单,但也更难以接受:
构建软件和发展产品是根本不同的学科。
我喜欢构建系统。我享受架构、边缘案例、权衡取舍,以及在幕后把事情做到位的过程。我能接受在一个系统逐渐成型的过程中存在的不确定性。
而营销应用程序则恰恰相反。它需要持续的曝光、重复、定位、讲故事,以及对噪音的容忍。这不是一个阶段——这就是工作。
在我的情况下,我把营销当作“以后再做”的事情,等产品足够好时再去做。但“以后”从未到来。并不是因为我不知道这很重要,而是因为我不想把有限的精力花在这上面。
这些应用程序并没有失败因为它们不好。
它们失败是因为它们需要一种我不愿意持续投入的工作。
这个认识让我感到不舒服,但也让我更加清晰。它迫使我将对构建优秀事物的自豪感与对我实际想要长期坚持的事物的诚实区分开来。
优秀的软件并不自动转变为优秀的商业。
这并不是悲剧——而是一种不匹配。
我写下这些部分是给过去的自己,也部分是给那些喜欢构建但默默希望增长会自然而然发生的人。有时候,最负责任的决定不是更努力地推动,而是承认你并没有在玩这个游戏。
一些2000年代的科幻作品(比如《加速世界》和《小鸡快跑》)预测,随着人工智能技术的发展,企业之间会出现自动化的垃圾诉讼现象,因为人工智能能够创建看似真实的虚假或一次性原告身份,这些身份可以提起数十起诉讼,从而累积法律费用,而不易追踪到其发起者。
我们似乎避免了这种负面结果,可能是由于法律系统中的某种技术专长。今天的攻击面是否得到了良好的防御,还是说我们仅仅是通过模糊性而得以安全?
如果微软希望留住其欧洲客户,可能需要提供真正的非云版本程序。
我正在尝试将桌面角色扮演游戏的冒险建模为明确的叙事状态,而不是线性的剧本。
Everdice 是一个小型网络应用程序,能够跟踪条件场景和基于选择的状态转换,以保持长时间或异步活动中的连续性。
其核心贡献在于明确的叙事状态和因果关系,而不是自动化。真正的重头戏在于 DM 工具包/运行会话区域,并整合了我开发的 CAML(规范冒险建模语言),以便在任意数量的平台之间传输叙事。我还构建了 npm CAML-lint 来检查叙事的有效性。我很想听听你的想法。
[https://realmofeverdice.com](https://realmofeverdice.com)