Agent如何越用越聪明?深入解析Dash自学习循环与双记忆机制
Agent如何越用越聪明深入解析Dash自学习循环与双记忆机制【免费下载链接】dashA self-learning data agent built with systems engineering principles. It grounds answers in 6 layers of context and improves with every query.项目地址: https://gitcode.com/gh_mirrors/dash62/dashDash是一个自学习数据 Agentself-learning data agent你用自然语言提问它生成 SQL、查询数据库、再给出有洞察力的解读。更特别的是它内置了Knowledge知识与 Learnings学习双记忆机制——每回答一个问题它就把自己验证过的查询、踩过的坑、修复的经验沉淀下来真正做到越用越聪明。本文带你深入拆解 Dash 的自学习循环两个记忆库分别存什么、谁在写、谁在读以及一次完整查询背后的记忆流转全过程。为什么普通 LLM 答不好数据问题直接让大模型写 SQL很快就会撞墙。Dash 的 README 总结了五个根因痛点后果表结构没有业务含义字段名猜不出真实口径数据类型有误导性时间戳、NULL 语义踩坑缺少部落知识比如活跃订阅在你们公司到底怎么算无法从错误中学习同一个错反复犯结果缺少解读只给你数字不给洞察Dash 的解法用一句话概括六层接地上下文grounded context 一个自我改进的循环。其中真正让聪明随使用时间增长的就是双记忆系统。自学习循环总览每次查询都在长记性Dash 把一次问答设计成一个闭环成功和失败都会产生记忆用户提问 ↓ 检索 Knowledge Learnings ← 先翻笔记本和日记 ↓ 理解意图 → 生成有据可依的 SQL ↓ 执行并解读结果 ↓ ┌────┴────┐ 成功 失败 ↓ ↓ 返回洞察 诊断 → 修复 → 保存 Learning下次不再犯 ↓ 可选把验证过的查询存为 Knowledge两个互补的记忆系统记忆系统存什么谁在维护Knowledge表结构元数据、验证过的查询、业务规则人工整理 Dash 自己沉淀Learnings错误模式、类型陷阱、发现的修复方法Learning Machine 自动管理这套双库配置集中在 dash/settings.py# KNOWLEDGE: 静态、人工整理 dash_knowledge create_knowledge(Dash Knowledge, dash_knowledge) # LEARNINGS: 动态、自动发现 dash_learnings create_knowledge(Dash Learnings, dash_learnings)两个库都建在 PostgreSQL PgVector 上使用混合检索向量 全文实现在 db/session.py 的create_knowledge工厂函数里。第一块记忆Knowledge —— 可策展的笔记本Knowledge 库的内容来自三处对应仓库里的knowledge/目录1:1 映射进向量库目录存什么示例knowledge/tables/每张表的业务含义、使用场景、数据质量备注customers.jsonknowledge/queries/验证过能跑的 SQL 模式common_queries.sqlknowledge/business/指标定义、业务规则、常见坑metrics.json比如 knowledge/business/metrics.json 里就写明了 MRR 的准确口径、年付客户有 9 折、以及约 30% 的工单满意度评分为 NULL这类只有内部人才知道的细节。这些部落知识是纯 LLM 永远猜不到的。关键点Knowledge 不是只读的Dash 有两个专属工具会自动往 Knowledge 里写1️⃣save_validated_query—— 由 Analyst 在查询成功执行、结果被用户确认后调用把这条可靠 SQL 连同原始问题、用到的表一起入库。工具还做了防呆只允许保存 SELECT 语句、禁止多语句见 dash/tools/save_query.py。2️⃣update_knowledge—— 由 Engineer 在每次建视图/改表结构后调用把新资产的列名、用途、示例查询记下来。指令里有一句很直白的话不记录就不会被使用不写进知识库Analyst 就发现不了你的新视图见 dash/tools/update_knowledge.py。手动维护也很简单改完knowledge/下的文件后运行 scripts/load_knowledge.py 即可 upsert 进向量库支持--recreate全量重建。第二块记忆Learnings —— Agent 自己的错题本Learnings 库由 Agno 的LearningMachine以AGENTIC 模式自动管理见 dash/settings.py 中的dash_learning实例。它与 Knowledge 最大的区别没有人在里面写标准答案全是 Dash 现场犯过的错和发现的坑。Analyst 的工作流里明确规定了何时该记一笔见 dash/instructions.py修复了一个类型错误之后发现了某个数据格式的特殊性之后收到用户的纠正之后典型一条学习记录长这样subscriptions.ended_at is NULL for active→ 判断活跃订阅用ended_at IS NULL别去查 status 字段下次再遇到类似问题Learnings 会在生成 SQL之前就被检索进上下文同一个坑一次都不许再踩两次。一个巧妙的分工谁读哪块记忆Dash 团队是领导 专家结构dash/team.pyLeader领导负责路由请求、综合回答只挂 Learnings了解全局有哪些坑不查具体 SQL 知识Analyst分析师只读 SQL 洞察挂载 Knowledge也同步 Learnings 进上下文Engineer工程师负责在dash模式建视图、汇总表负责往 Knowledge 里写新资产。这个双知识分工在 CLAUDE.md 中有明确说明。每个 Agent 的挂载方式可分别查看 dash/agents/analyst.py 和 dash/agents/engineer.py。记忆如何流转一个真实场景走一遍问一句我们当前 MRR 是多少先查记忆Analyst 检索 Knowledge命中current_mrr验证查询 Learnings命中活跃订阅别用 status 字段的教训直接生成口径正确的 SQL一次跑通。失败路径如果第一次因列名猜错而报错 →introspect_schema检查真实表结构 → 修复 → 调用save_learning记入错题本。沉淀路径结果验证无误后save_validated_query把它存进 Knowledge——下一次它比错题本教训更快地命中。工程路径如果这类月度 MRR 查询反复出现Engineer 会建一个dash.monthly_mrr视图再调用update_knowledge登记。此后 Analyst 被要求优先查dash.*视图而不是扫原始表查询又快又稳。可以看到记忆的升迁链条*Learnings避坑→ Knowledge标准做法→ dash.视图物化加速**一次比一次聪明且每一步都可追溯。不止记住查询宏观层的自我改进循环Dash 还藏着一个更狠的循环——evals/improve.py 实现的自我改进循环python -m evals improve跑冒烟测试 → 让 LLM 分析失败原因 → 提出针对性修改 → 只允许改 3 个文件instructions.py / metrics.json / common_queries.sql → 重新跑测试验证 → 出现回归立即回滚注意它的安全设计修改白名单只有提示词和业务规则文件改动前先备份、改完做语法校验、检测到回归就整轮回滚。配套的 docs/IMPROVE_DASH.md 还给出了给 Claude Code 用的自我改进操作手册。再加上 evals/ 目录下 accuracy、routing、security、governance、boundaries 五类评测形成了改得动、改不坏的护栏。快速上手4 步跑起你的自学习数据 Agent# 1. 获取仓库并进入目录 git clone https://gitcode.com/gh_mirrors/dash62/dash cd dash # 2. 准备配置填入你的 OPENAI_API_KEY cp example.env .env # 3. 启动系统容器内含 PostgreSQL docker compose up -d --build # 4. 生成示例数据 加载初始知识 docker exec -it dash-api python scripts/generate_data.py docker exec -it dash-api python scripts/load_knowledge.py然后连续问它几个问题试试当前 MRR 是多少哪个套餐流失率最高——你会发现它回答里引用的口径、避开的坑全都来自knowledge/和双记忆库。常见问题 FAQQ1Knowledge 和 Learnings 到底有什么区别一句话Knowledge 是应该怎么做人工策展 验证过的查询Learnings 是上次哪里做错了Agent 自动积累。前者靠整理后者靠实战。Q2它真的会越用越聪明吗还是只是话术是机制保证的失败会触发save_learning成功会触发save_validated_query工程沉淀走update_knowledge而且所有记忆都在下次回答前被检索进上下文。记忆不是一次性的日志而是参与每一次决策的上下文。Q3记忆会越积越多变混乱吗双库 混合检索本身就是答案检索相关性决定哪条记忆进入上下文而不是全量塞入。同时评测体系accuracy 等五类会在改进时兜底防止学歪了。小结Dash 的设计哲学值得每个想落地 Agent 的团队参考记忆即数据知识与学习都当数据资产管理——有模式、有库、有检索循环即工程成功与失败都闭环失败比成功更值得记️改进有护栏自我改进只在白名单文件里做回归即回滚。如果你想给自己的业务数据装上一套会成长的智能分析员从 README.md 的 Quick Start 开始照着 CLAUDE.md 了解完整结构然后把它接入你的 Slack——让它在真实问答中一轮轮长记性。【免费下载链接】dashA self-learning data agent built with systems engineering principles. It grounds answers in 6 layers of context and improves with every query.项目地址: https://gitcode.com/gh_mirrors/dash62/dash创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

陈卫军谈方向:方向比执行绝对更重要100倍

陈卫军谈方向:方向比执行绝对更重要100倍

导读:执行力被捧了很多年,商业作者陈卫军却给出了一个把天平彻底压向另一边的说法:“方向比执行绝对更重要100倍。” 陈卫军是《赚钱思维》《持续成交》作者,长期研究商业、人性与思维。在他看来,最可惜的不是不努力的…

2026/10/9 8:51:58 阅读更多 →
【题解-洛谷】P1478 陶陶摘苹果(升级版)

【题解-洛谷】P1478 陶陶摘苹果(升级版)

题目:P1478 陶陶摘苹果(升级版) 题目描述 又是一年秋季时,陶陶家的苹果树结了 nnn 个果子。陶陶又跑去摘苹果,这次他有一个 aaa 公分的椅子。当他手够不着时,他会站到椅子上再试试。 这次与 NOIp2005 普…

2026/10/9 12:48:14 阅读更多 →
Java毕设实战:SpringBoot+Vue小说平台全栈开发指南

Java毕设实战:SpringBoot+Vue小说平台全栈开发指南

简介:这是一套面向计算机专业本科生的Java毕业设计实战源码,聚焦在线小说阅读平台开发,适用于Spring Boot与Vue全栈技术学习及课程设计交付。资源完整实现前后端分离架构,后端基于JDK 1.8Spring Boot构建RESTful接口,前…

2026/10/9 12:48:14 阅读更多 →

最新新闻

基于预训练技术的BIM与IoT数据融合及偏差预警算法实战

基于预训练技术的BIM与IoT数据融合及偏差预警算法实战

简介:这份文档面向建筑施工管理、BIM工程与智能建造方向的技术人员及研究者,围绕施工进度管控中数据维度单一、偏差预警滞后等痛点,给出基于DeepSeek预训练技术的BIM与IoT数据融合及偏差预警算法方案。全文共196页、50个大章节,从…

2026/10/10 5:15:29 阅读更多 →
AI Measurement Science:让AI真正参与物理测量的底层重构

AI Measurement Science:让AI真正参与物理测量的底层重构

1. 项目概述:当AI真正开始“读数”——这不是算法秀技,而是测量科学的底层重构“AI Measurement Science”这个标题乍看像两个术语的简单拼接,实则藏着一场静默却深刻的范式迁移。我接触过太多团队,把AI当成万能滤镜——图像加个超…

2026/10/10 5:15:29 阅读更多 →
SharePoint根据List ID查询指南:GUID反查与名称互查的多种方法

SharePoint根据List ID查询指南:GUID反查与名称互查的多种方法

做SharePoint开发这几年,我几乎每个月都会遇到这样的求助:同事发来一段错误日志,里面躺着一串看起来像乱码的GUID,问我“这个list id是哪个列表的”;或者对接第三方系统时,对方只甩给我一个列表ID&#xff…

2026/10/10 5:15:29 阅读更多 →
Ansys与ABAQUS提取质量/刚度矩阵全流程与避坑指南

Ansys与ABAQUS提取质量/刚度矩阵全流程与避坑指南

做结构动力学分析的工程师,十有八九都遇到过这么一个尴尬场景:模型装配完了,求解器也算通了,结果发现自己真正需要的不是应力云图,也不是变形动画,而是那个藏在求解器内部的“中间产物”——结构的质量矩阵…

2026/10/10 5:15:29 阅读更多 →
Highcharts动态图表与数据实时更新应用讲解

Highcharts动态图表与数据实时更新应用讲解

在物联网、监控平台、金融看盘、实时分析等系统中,数据是实时产生的。如何把这些实时数据以动画、连贯、可交互的方式呈现,是现代前端可视化的核心挑战。Highcharts 提供强大而优雅的“动态数据更新”能力,不仅可以手动更新单点/多点数据&…

2026/10/10 5:15:29 阅读更多 →
AnyPS5:一个语义不明的技术代号解析困境

AnyPS5:一个语义不明的技术代号解析困境

项目标题中仅出现“AnyPS5”这一字符串,无其他上下文、无正文描述、无关键词列表、无摘要描述,亦无任何可验证的网络搜索内容填充(输入中相关热搜词与网络搜索内容均为空白)。根据你设定的核心创作原则第一条:“忠于原…

2026/10/10 5:14:29 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →