跳转到主要内容
本工作坊是 demos/enterprise/02_snippets_and_predicates.py03_agent_analysis_session.py 的文档转录。实时 LLM 分析为可选项(HVNB_RUN_LLM_DEMO=1)。
你将注册只读 SQL snippet 与 predicate,通过 database MCP profile 执行它们,并模拟 Agent 分析会话。MCP 工具调用日志已在文档中说明,但当前发布基线上尚未交付。

1. 前置条件

完成 数据连接,或确保 demos/data/warehouse.db 已存在:

2. 注册 Snippet 与 Predicate

脚本: demos/enterprise/02_snippets_and_predicates.py 将只读 SQL 存储为 db-snippet 行,将可复用过滤器存储为 db-predicate 行:

3. 通过 Database Profile 运行 Snippet

database profile 扩展 read/query 工具组,并新增 run_snippetsuggest_sql。首次使用时会自动启用扩展:
除非在 CM_HVNB 中设置 heavenbase.database.allow_write=true(默认 false),否则写 snippet 会被拒绝。

4. Agent 分析会话

脚本: demos/enterprise/03_agent_analysis_session.py 暴露 database profile,并在进程内模拟 Agent 调用:
供外部 Agent 连接:
可选的实时 LLM 分析(需要 provider 凭证):
该脚本使用 deepseek-v4-flash,并将 database MCP 工具集 (Toolkit) 挂载到 LLMSession

5. 会话日志(规划中)

通过 heavenbase.mcp.log_sessions 记录 MCP 工具调用已在原型计划中定义,但当前发布基线上尚未实现。CLI 通过 hb llm chathb llm session 记录日志的功能现已交付。 MCP 日志落地后,enterprise 演示 03 将记录三条针对 agent-message 行的元分析查询:
  • 工具调用频率 — 按 tool_name 分组
  • 错误率 — 筛选 error_flag 为 true 的行
  • 慢调用 — 按 duration_ms 降序排序

Summary

  • 只读 db-snippet 行可通过 database profile 安全执行;写访问默认关闭。
  • suggest_sql 按卡片文本搜索 snippet 与 predicate,无需在引擎内调用 LLM。
  • Agent 通过 MCP 连接,获得面向 db-* 实体的小型、schema 感知工具面。

进一步探索

相关资源: