展示HN:我构建了一个AI代理来对我大喊关于我的ADHD
一位ADHD患者开发了名为hex的AI代理,用于管理日程、任务、知识库等,并集成多种工具和专家系统,帮助应对ADHD带来的挑战。文章详细介绍了hex的功能、技术实现、遇到的困难以及作者的反思。
一位患有ADHD的开发者分享了他构建AI代理“hex”的历程,旨在帮助自己应对注意力缺陷带来的挑战。hex不仅仅是一个任务管理工具,而是一个集成了多种功能的复杂系统,其设计理念是为用户提供全方位的支持,以减少ADHD带来的日常困扰。
hex的核心工具箱包括日历管理、任务处理、知识库访问、网络搜索、浏览器操作、语音输出和Telegram界面。具体来说,hex通过FastMail的日历功能读取和处理日程事件,并计划迁移到FastMail的MCP服务器以获得更好的集成。任务管理方面,hex使用Todoist的MCP服务器,并过滤掉目标工具以减少干扰。知识库方面,hex能够查询用户的Obsidian笔记库,尽管在开发中使用了Obsidian CLI,但未来计划采用NotesMD CLI等替代方案。网络搜索和内容抓取通过Defuddle和Kagi的MCP服务器实现,确保信息的时效性。浏览器操作基于Playwright和headless Chromium,用于需要“看到”网站内容的场景。语音输出使用KittenTTS,而Telegram界面则利用aiogram库,并受益于最新Bot API中的富消息功能。
为了提高效率和减少上下文污染,hex采用了多层次的记忆系统:滑动上下文记忆结合摘要、Qdrant向量存储用于事实和临时记忆,以及SQLite偏好存储。工具子代理机制确保工具调用不会耗尽主上下文,而专家系统则通过独立的次级提示运行,用于处理特定领域的请求,如健康或职业咨询。此外,hex还具备技能系统,能够根据触发词加载额外的提示上下文。
专家系统之一是Freya,专注于健康、睡眠和训练数据。Freya通过分析Apple Watch和AutoSleep的数据,结合用户的每日健康记录,提供关于恢复状态和当天表现的洞察。其分析风格直接、数据驱动,避免空洞的鼓励,而是提供基于数据的行动建议。另一个专家系统Carrie专注于职业策略和求职,帮助用户筛选远程工作机会,过滤掉不符合条件的职位,并给出申请建议。Carrie特别强调应用斯多葛哲学,专注于可控因素,同时保持对现实的客观评估。
物理集成方面,hex通过“Watcher”设备实现面部识别和语音交互。Watcher是一个基于ESP32的定制设备,通过摄像头定期捕捉图像,与参考图像进行面部匹配,然后触发代理进行推理并通过TTS输出语音提醒。然而,目前的实现仍不完善,存在高延迟、流程复杂等问题,作者甚至将其描述为“鲁布·戈德堡机器”。尽管如此,Watcher仍是项目中的一个重要尝试,旨在通过物理提醒来克服ADHD带来的忽视消息的倾向。
作者在实际使用中取得了显著收益。hex帮助他充分利用Obsidian知识库填补信息空白和进行事实核查,同时与Carrie协同过滤不合适的求职岗位,并优化日程安排。例如,hex能自动识别会议冲突,建议移除过时任务,并根据当日状态推荐优先级。不过作者也坦承,并非所有功能都完美运行,项目仍有很大改进空间。
回顾项目,作者总结了几个关键教训。首先,他强烈建议避免使用DeepSeek-V4模型,因为其标签泄露问题导致大量麻烦,并指出这是一个已知的广泛问题。其次,如果条件允许,他更倾向于在本地运行模型以减少依赖外部服务,但这需要昂贵的硬件支持。未来计划包括转向本地模型,并进一步完善Watcher的集成。
总体而言,hex已成为作者日常生活中不可或缺的工具,尤其是在求职期间帮助筛选和跟踪申请。尽管项目仍在开发中,其设计理念和技术实现为其他ADHD患者或AI爱好者提供了有价值的参考,展示了AI辅助生活的潜力。