






















以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
作为一个既需要发论文(科研导向)又需要做项目(工程导向)的学生,我在使用ai的过程中,经常遇到下面几个问题:
1)主session污染问题:在一个session内和ai聊久了,主 session 很快会被需求讨论、实现细节、失败尝试、长篇解释、review 记录全部污染,最后自己也不知道哪个 session 是干什么的。在科研上,有了idea后需要做不同的实验去验证和实现,实验过程中涉及到配环境、调参等很容易让ai陷入局部最优而进行过度尝试污染上下文的问题。在工程上,很多工程也会涉及到这些问题,subagent由于其不可显示导致人为不可控且需要用户自己设计而过于繁琐。
2)无论是工程还是科研都来源于一个并不具体的想法,可以说:在完成整个项目的过程中,没有人对这个项目完全了解,这就需要有一个session能拿到所有session的context,来解答用户所有的问题,无论是什么问题,这个session就是用来污染的,且永远不会并入主session污染其他session。
3)过程文档至关重要,但是一个被污染的session总结出的过程文档往往是带有各种无意义信息,比如偏向用户让他给解释的概念、反复陈述各种试错的失败信息,显然这对于未来需要这份过程文档的人是噪音,所以如何维护一个无污染的过程文档至关重要。
针对上述问题,我写了conductor,它的思路是把当前主对话变成一个永远干净的master session(用于自己需要理清项目逻辑、写过程文档等),只保留全局目标、关键决策、分支地图和批准后的子session的摘要;具体使用而言:使用时会先把当前对话设为干净的master session,如果需求不清楚,可以结合grill-me or grill-me-docs追问,等讨论清楚后,conductor会先做依赖分析,判断哪些任务可以并行,哪些必须串行等待。
接着,它不会乱开session,而是先生成branch card,每张card写清这个分支要做什么,为什么开,允许带入哪些context,预期产物是什么,完成标准和return condition,只有用户确认后,才会开真正的branch session。最开始会有四个session。1)主session。2)专门用于问问题随便污染的session。3)讨论分多少branch,并行or串行的session。4)第一个branch session
进入branch session后,这个session只拿到自己的branch brief和已批准的master session的context,不会继承任何session的杂乱历史,用户可以在branch里继续交互实现任何东西,这解决了subagent不能交互的问题,这下每个子任务用户都可以及时纠偏,这些细节都会留在branch里,主session依然干净。
当branch觉得任务完成后,不会自动合并,它会先建议完成,用户确认完成后,会生成总结,把这个session中过度的污染去掉但是把经验和正确的流程总结压缩,然后master session会询问用户是否合并,因为某些子任务必须合并进入主线,要么主线不完整,比如,在科研中,配环境复现paper的branch可以不合并,但是自己的重要实验必须要合并,不然主session会缺乏细节了解。
如果使用Treills,conductor还会把master、branch、依赖关系、状态和产物路径持久化成parent/child tasks、branchmap和metadata,方便回看、回退和继续推进。
整个流程的目标是:主session保持干净和主导,分支负责探索完成,专门留有一个有所有session context的session来让用户随意问问题讨论、污染。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。