ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Hindsight Deliveryman Demo:构建会“越送越聪明“的 AI 配送 Agent 完整实战指南

Hindsight Deliveryman Demo:构建会“越送越聪明“的 AI 配送 Agent 完整实战指南 Hindsight Deliveryman Demo构建会越送越聪明的 AI 配送 Agent 完整实战指南【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight本文基于 Hindsight 官方文档中的 Deliveryman Demo 应用指南编写。该 Demo 是一个完整的可运行应用一个 AI 配送 Agent 在多栋建筑组成的办公园区里完成送包裹任务并借助 Hindsight 的长期记忆能力逐步记住员工位置、楼栋布局与最优路径。读完本文你将掌握从零启动 Hindsight API含 LLM、提取模式、内置数据库等关键环境配置、可选的 Control Plane 记忆检查界面、以及 Demo 前后端部署的完整流程并理解 retain → 事实抽取 → mental models → 召回 这条记忆管线的实际工作机制。Demo 定位用记忆引擎驱动的长期学习型 AgentDeliveryman Demo 的核心演示目标不是送包裹本身而是展示 Hindsight 的long-term memory长期记忆能力在真实多轮交互中的表现Agent 收到配送任务例如 Deliver Package #3954 to Victor Huang它在包含楼层、电梯、天桥sky bridges的多楼栋园区中导航途中遇到员工并学习他们的位置每次配送结束后对话内容通过retain API发送给 HindsightHindsight 从中抽取事实员工位置、楼栋布局并构建mental models心智模型下一次配送时Agent 再向 Hindsight 发起查询召回之前学到的内容。Demo 的完整源码FastAPI 后端 React/Phaser 前端位于独立的 hindsight-cookbook 仓库的deliveryman-demo目录下本仓库仅承载 Hindsight 记忆引擎本体本仓库的 cookbook 说明 即为该 Demo 的部署与运行文档。前置条件按原文档要求运行该 Demo 需要Python 3.11Node.js 18uvPython 包管理器部署实战六步启动完整链路第 1 步克隆仓库需要两个仓库Hindsight 本体记忆引擎与 hindsight-cookbook包含本 Demo 的前后端代码。Hindsight 仓库可克隆git clone https://gitcode.com/GitHub_Trending/hindsight2/hindsighthindsight-cookbook 仓库提供deliveryman-demo子目录内含backend/与frontend/。第 2 步配置并启动 Hindsight APIcd hindsight cp .env.example .env编辑.env写入 LLM 与存储配置HINDSIGHT_API_LLM_PROVIDERgroq HINDSIGHT_API_LLM_API_KEYyour-groq-api-key HINDSIGHT_API_LLM_MODELopenai/gpt-oss-120b HINDSIGHT_API_HOST0.0.0.0 HINDSIGHT_API_PORT8888 HINDSIGHT_API_ENABLE_OBSERVATIONStrue # Retain 提取设置提升员工/位置信息的抽取效果 HINDSIGHT_API_RETAIN_EXTRACTION_MODEcustom HINDSIGHT_API_RETAIN_CUSTOM_INSTRUCTIONSDelivery agent. Remember employee locations, building layout, and optimal paths. # 内嵌数据库存储 PG0_DATA_DIR/tmp/hindsight-data各配置项的含义结合本仓库源码可以进一步确认HINDSIGHT_API_ENABLE_OBSERVATIONS控制是否启用 observations观察能力。该变量在 config.py 中定义且默认值即为Trueconfig.pyDemo 中显式写true是为了让 Agent 的途经观察参与记忆沉淀。HINDSIGHT_API_RETAIN_EXTRACTION_MODEretain 流水线的抽取模式。源码中允许取值为(concise, verbose, custom, verbatim, chunks)默认conciseconfig.py。Demo 选择custom即使用自定义指令引导抽取。HINDSIGHT_API_RETAIN_CUSTOM_INSTRUCTIONS自定义抽取提示词仅在custom模式下生效。源码在创建/更新 bank 时会强校验二者的一致性若设置了retain_custom_instructions但retain_extraction_mode不是customAPI 会直接报错http.py。这解释了 Demo 排障表中mental models 缺少员工信息 → 检查是否设置了custom模式这一条两者必须成对出现。PG0_DATA_DIR将数据库数据目录指向本地路径使用内嵌的 PostgreSQLpg0存储免去额外安装 Postgres。HINDSIGHT_API_HOST/HINDSIGHT_API_PORT监听地址与端口Demo 约定0.0.0.0:8888后端与前端均以此为HINDSIGHT_API_URL指向。然后启动 API./scripts/dev/start-api.sh # 运行在 http://localhost:8888查看 start-api.sh 的源码可知该脚本的逻辑很直接强制要求项目根目录存在.env缺失即报错退出用set -a导出其中全部变量再执行uv run hindsight-api $。这也意味着修改.env后必须重启该脚本才会生效。第 3 步可选启动 Control PlaneControl Plane 是一个 Web UI用于检查 memory bank、facts 与 mental models 的内容——对于观察Agent 到底学到了什么非常有帮助cd hindsight ./scripts/dev/start-control-plane.sh # 运行在动态端口查看终端输出从 start-control-plane.sh 源码看它会先npm run build -w vectorize-io/hindsight-client构建 TypeScript SDK再启动 Next.js dev server端口默认9999可用HINDSIGHT_CP_PORT覆盖数据面地址默认指向http://localhost:8888可用HINDSIGHT_CP_DATAPLANE_API_URL覆盖与第 2 步的 API 端口正好对应。第 4 步启动 Demo 后端cd hindsight-cookbook/deliveryman-demo/backend # 创建虚拟环境并安装依赖 python -m venv .venv source .venv/bin/activate pip install -r requirements.txt创建backend/.envOPENAI_API_KEYyour-openai-api-key GROQ_API_KEYyour-groq-api-key HINDSIGHT_API_URLhttp://localhost:8888 LLM_MODELopenai/gpt-4o启动后端./run.sh # 或手动 python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --ws wsproto --reload注意--ws wsproto参数是 WebSocket 支持的硬性要求。缺失时浏览器连接会失败并报 1006 错误——这是原文档明确标注的已知坑点也是排障表的第一条。第 5 步启动 Demo 前端cd hindsight-cookbook/deliveryman-demo/frontend npm install npm run dev # 运行在 http://localhost:5173第 6 步打开 Demo浏览器访问 http://localhost:5173 即可开始配送任务观察 Agent 随配送次数增加而越来越熟的过程。架构总览原文档给出的三层架构Browser (5173) → Frontend (React Phaser) ↓ WebSocket Backend (8000) → FastAPI Delivery Agent ↓ HTTP Hindsight API (8888) → Memory Engine PostgreSQL5173 端口前端React Phaser 负责园区场景渲染与交互8000 端口后端FastAPI 承载 Delivery Agent 逻辑通过 WebSocket 向前端推送实时状态8888 端口Hindsight API记忆引擎本体PostgreSQL 存储。记忆数据流的闭环是Agent 完成一次配送 → 会话内容经retain写入 Hindsight → Hindsight 抽取事实并更新 mental models → 下一次配送前 Agent 通过recall/查询召回已学知识。这一写—提炼—读的循环正是该 Demo 与一次性 RAG 应用的本质区别知识在多次任务间持续积累。排障速查表继承原文档的 Troubleshooting 内容并补充源码层面的成因说明问题解决方案成因/依据WebSocket error 1006加--ws wsproto参数重启后端uvicorn 默认 WS 实现在该场景下不稳定原文档明确标注为已知坑Mental models 缺少员工信息检查HINDSIGHT_API_RETAIN_EXTRACTION_MODEcustom是否已设置custom指令与模式必须成对配置源码在 http.py 强校验二者一致性Hindsight connection refused确认 Hindsight API 正在 8888 端口运行后端HINDSIGHT_API_URL指向 8888端口/主机不匹配即拒绝连接前端显示 Disconnected确认后端正在 8000 端口运行前端经 WebSocket 连 8000 后端后端挂掉即断连另外从 start-api.sh 的实现看.env在启动时一次性加载导出改配置不重启不生效这是配置类问题的常见根因。小结与扩展方向Deliveryman Demo 展示了 Hindsight 的典型使用范式把 Agent 的完整会话通过 retain 沉淀为结构化事实与 mental models再在后续任务中主动召回。若要进一步深化可以切换抽取模式对比效果将HINDSIGHT_API_RETAIN_EXTRACTION_MODE从custom改为verbose或默认的concise取值范围见 config.py对比同一场景下 mental models 的丰富度用 Control Plane 观察记忆演化在两次配送之间打开 Control Plane默认 9999 端口直接查看 bank 中的 facts 与 mental models 变化调整 bank 级配置retain 相关参数如retain_extraction_mode、retain_custom_instructions也可通过 bank 配置以环境变量形式HINDSIGHT_API_RETAIN_EXTRACTION_MODE下发覆盖相关字段说明见 http.py。以上配置均以当前仓库的实际实现为准Demo 前后端代码位于独立的 hindsight-cookbook 仓库运行环境要求Python 3.11、Node.js 18、uv与.env示例以原文档为基准。【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表