AI 多项目协作,如何避免上下文丢失?
Ask HN: How do you manage your AI agents' context across clients and projects?
我每天都在多个客户项目中使用 AI 代理,最大的痛点是频繁重复解释背景、规则和过往决策。不同工具各自为政,导致上下文难以在会话间或不同 AI 模型间传递,严重拖慢效率。大家是如何管理这些跨项目的上下文的?
HN 评论区
43- mapontosevenths
Karpathy 的 LLM wiki 配合 QMD。
我写了一个小型的 gatekeeper.py 脚本,代理必须运行它才能完成一轮任务或开始新一轮。除了记录、代码检查等常规功能外,它还会验证 wiki 是否已更新本轮的所有发现、经验教训和文档。如果没做完,代理就无法继续。
然后在 AGENTS.md 中会明确告知:可以使用 QMD 对 wiki 进行语义搜索,且在任何重要工作开始前都应该先做这一步。
虽然这在 token 消耗上很贵,但非常值得。如果我想的话,可以随时复现项目的任何阶段。我始终清楚它们为什么这么做(如果它们确实做了),而且代理几乎不会忘记任何重要信息。
- rcarmo
我有一个叫 Memento 的东西(https://rcarmo.github.io/projects/memento),所有代理都用它来共享技能和一些跨项目笔记。不过一般来说,大部分与项目相关的上下文还是存放在某个带有 FTS(全文搜索)功能的 SQLite 数据库里。我写了一个小型的 CRM 技能,能很好地处理大多数项目交互。在把事情搞得太复杂之前,用组织良好的 Markdown(或者共享的 Obsidian 仓库)其实就能解决很多问题。
- biggestriverman
我也遇到过类似的问题,需要同时 juggl 多个不同的项目。我发现关键在于更好地管理时间,并为每个项目或子项目分配一个代理,然后你只需和一个管理者代理沟通。我自己写了一套系统来管理这个:https://github.com/mhalstrom/maximizepm,欢迎尝试,你可以取其精华用于自己的系统,或者随便怎么用。
- nilleb
你好!
5) 为了解决这个问题,我写了 Varda(https://github.com/nillebco/varda)。我一直在用它。
1) 上下文是根据策略提供的——某个目录树或文件夹对应特定的上下文。
2) 是的。但我针对特定客户使用特定的代理,遵循他们的规则。作为一个用例这很有趣,但需要一些工作,因为不同代理的格式并不统一。如果我要做这个,我会利用 omnisess——https://GitHub.com/psacc/omnisess。
3) 每个客户的策略不同对吧?所以在 Varda 中这就是一条策略:某个目录树只允许使用特定的代理。
4) 上次出问题时,我损失了一个包含示例数据库的容器。自从上周五以来,出现了 Firecracker 逃逸漏洞,所以情况可能会更糟。
(Varda 最初是为了跨项目追踪工作、强制执行代理选择并编排任务而诞生的,后来演变为利用 msb 和 docker 进行沙箱化)
希望这能帮到你!关于 Varda 的任何反馈或 Pull Request 都非常欢迎!
- encruxx
我正在使用 Obsidian vaults。
目前我与人协作不多,所以用了一些好用的插件,比如 Kanban,来组织任务。
这帮助我跟上项目和任务的进度,因为 Claude 可以生成需求。
我的一位朋友最近构建了 campus [1],虽然我还没亲自用过,但我目前正在尝试将其重构成一个 Obsidian 插件,希望能进一步帮助我保持条理。