ARTICLE DETAIL

资讯详情

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

我如何在桌面人工智能环境和远程工作人员之间同步学到的操作课程?

我如何在桌面人工智能环境和远程工作人员之间同步学到的操作课程? 在周二的Claude桌面会议上您发现集成套件会挂起除非REDIS_URL指向CI服务而不是本地主机。代理与您一起解决了问题并保存了该课程。周四你从一个脚本开始的一个CI工作者遇到了同样的问题因为它从零开始不知道学到了什么。存储教训是容易的一半。出问题的那一半是退货。一个重新开始的工人无法寻找他错过了什么因为他不知道自己错过了什么。它只能询问自上次查看以来发生了什么。简短的回答是:把课程放在一个双方都能接触到的商店里把每一课都写成一个有意义的句子让每个消费者在搜索之前先补读一遍。首先是最新的条目没有查询跟随光标直到没有返回然后才向前移动它自己的水印。水印是消费者的不是店家的。披露:我在Mnemoverse工作。下面的代码使用了Python SDK和MCP工具。两次阅读而不是一次一个搜索回答“我对X了解多少”。它需要读者命名X并返回匹配的内容因此存在但不匹配的条目就是不存在的。一个赶读回答“最近发生了什么”。它不接受任何查询并首先列出最新的条目所以没有什么被排掉。开始一项任务的工人依次需要这两者。补充阅读带来了自上次运行以来所写的课程无论它们是关于什么的。然后搜索会找到与这项任务相关的较老的课程。跳过第一个工人只得到自己的查询恰好匹配的内容所以昨天关于它没有想到要问的内容的教训永远不会到达。每一方都有自己的位置水印是消费者已经接受的最新创建时间。三条规则保证它的安全:每个消费者和每个范围一个。桌面代理和CI工作人员在不同的时间读取因此他们不能共享一个。仅在步行结束后提交。在行走中途向前移动的水印跳过该行走没有到达的部分。让id保持在水印时刻。这since过滤器是包含性的“仅在此ISO-8601瞬间或之后创建的条目包含”因此水印处的条目在下一次传递时返回。拿着他们的身份证会让你跳过重复的部分而不是一个你可以穿越的边界。桌面代理可以松散地保持它的位置:一个人开始会话并且大致知道他们最后一次在项目上工作的时间。远程工作人员通常是一个新鲜的容器。将它的状态放在工作线程的其他状态所在的位置CI缓存或已装入的卷。如果它没有状态文件每次运行开始时都没有状态文件下面的函数读取整个范围这对于一个小的课程范围来说是没问题的超过这一点状态就值得一个缓存条目。工人端在Python中这使用了mnemoverseSDK0.3.1其中recent()是补读。import jsonimport osfrom datetime import datetimedef catch_up(client, scope, state_path):“”“Everything written toscopesince this worker’s last call, oldest first.”“”state {“since”: None, “at_since”: []}if os.path.exists(state_path):with open(state_path, encoding“utf-8”) as f:state json.load(f)since datetime.fromisoformat(state[“since”]) if state[“since”] else Noneheld set(state[“at_since”]) # since is inclusive, so entries at the watermark come backnewest, at_newest since, set(held)fresh, cursor [], Nonewhile True:page client.recent(domainscope, sincesince, limit50, cursorcursor)for item in page.items:aid str(item.atom_id)if aid in held:continuefresh.append(item)if newest is None or item.created_at newest:newest, at_newest item.created_at, {aid}elif item.created_at newest:at_newest.add(aid)if page.next_cursor is None: # the end of the feed, not a short pagebreakcursor page.next_cursoros.makedirs(os.path.dirname(state_path) or “.”, exist_okTrue)tmp state_path “.tmp”with open(tmp, “w”, encoding“utf-8”) as f: # commit only after the walk has endedjson.dump({“since”: newest.isoformat() if newest else None, “at_since”: sorted(at_newest)}, f)os.replace(tmp, state_path) # a job killed mid-write keeps the old state, not half a filereturn fresh[::-1]在每项工作开始时:from mnemoverse import MnemoClientclient MnemoClient() # reads MNEMOVERSE_API_KEYnews catch_up(client, “ops-lessons”, “.mnemo/ops-lessons.json”)briefing “\n”.join(item.content for item in news) # what was learned since the last runrelated client.read(“run the integration test suite in CI”, domain“ops-lessons”, top_k5) # the job’s own task这个函数中有三样东西很重要。它在什么时候停止next_cursor是None而不是当一页回来短。它从不从时间戳或偏移量重建页面:参考资料说将光标传递回来“继续列表没有跳过和重复这LIMIT/OFFSET无法保证写入何时到达”因此另一名员工在行走过程中写入的内容不会翻页而是会在下一遍中出现。它只在最后写一次状态文件在第一次运行时创建它的目录并在一个步骤中替换文件所以写中途终止的作业保留旧的状态而不是半个文件。我测试了catch_up对照该合同之后的存根(最新的优先包含最新的since在返回的最后一个位置下方继续的光标)而不是针对实时账户。七个条目与三页的存根一起走还有两个写在第一页之后。第一遍返回七个第二遍返回两个晚的没有重复。没有新内容的传递不返回任何内容并将水印留在原来的位置并且在水印时刻写入的条目恰好返回一次。第一次运行开始时根本没有状态目录。作为控制没有在水印处保存id的相同循环在其第二次通过时重复一个条目。桌面端通过主控制程序通过登录或该帐户的API密钥连接到同一个帐户Claude Desktop和Cursor通过MCP到达同一个商店。这些工具是memory_write和memory_list_recent让代理使用它们的可靠方法是一个长期的指示而不是每次键入的提醒:When a fix or a finding about our build, deploy or test setup has held up, save it with memory_write in domain ops-lessons: one sentence that makes sense without this conversation, plus concepts.At the start of a session on this project, call memory_list_recent with domain ops-lessons and since set to when I last worked on it, and keep passing the cursor back until none comes back. Tell me what is new before we start.指令说跟随光标因为该工具的页面大小用它自己的描述来说是“一个上限而不是一个承诺”:一页长条目返回的长度比限制短但光标仍然连接着。写什么让对方可以用一个独立的句子。“集成测试在CI中挂起除非REDIS_URL指向REDIS服务在本地主机上什么也不监听。不是“修理redis的东西”这对于不在房间里的工人来说毫无意义。另一方会寻找的概念比如ci, redis, integration-tests所以搜索工人的一半在下个月开始有更多的匹配。只是在它撑得住之后。第一次猜测的教训教会了每个工人如何猜测。检查字迹。当写操作与同一域中已经存储的内容过于相似时可以拒绝写操作。SDK响应携带stored以及reason当服务给出一个时说明原因MCP工具的结果表明内存是存储的还是过滤的。如果工作人员在不同的帐户下运行相同的循环在两个帐户都加入的共享房间(Beta)上运行:传递它的地址https://www.iissbbs.com /xroom:room_id为双方之域。房间是独立的商店没有那个域的呼叫永远不会覆盖它们所以给每个房间一个自己的水印。在你依赖它之前检查它走到尽头。有一个小的限制跟随光标直到没有回来并计算身份证。一次散步中不应有任何重复。边走边写。在第一页之后从桌面上保存一课然后完成练习。新课不应该在这一走应该在下一关。运行一个没有新内容的pass。它应该不返回任何内容并且状态文件中的水印不应该移动。
返回列表