自我介绍
我是小公司的全栈开发,兼一部分ppt制作、视频剪辑的职责。工作场景里,经常需要接手一个历史久、技术债深、上下游耦合复杂的项目。
我对 TraeCode 的愿景
llm最大的痛点,就是对话轮次增加之后,会有天然的缺陷:
- 注意力漂移:当对话轮次增加或上下文窗口逼近上限时,模型对早期关键指令的记忆权重急剧下降,导致后期行为偏离初始目标。
- 信息压缩失真:对长文本的自动压缩机制会丢失细节逻辑,尤其是数字、顺序和隐含约束。
而在目前对trae的使用中,自动压缩功能往往差强人意——很多时候,触发自动压缩,就意味着需要新开任务,或需要强行停止,通过新的用户输入理解任务进度。具体来说,我做了这样三件事:
- 手动串行化:手动拆解任务,每次只输入一个步骤,并要求落成文档。我测试过,同时告诉llm多个步骤(即使明确了要依次执行),llm一定会并行地去做每一步的准备工作,即使有明确的依赖关系,llm也倾向于收集好每一步的前置信息后再开始推进,这很可能导致注意力漂移。代价就是,任务做起来非常慢,而且我的规划和llm自己的规划颗粒度不一定对齐。
- 手动 Skill 化:把常用的任务拆解流程、常用的文档组织方式落成skill。问题是,我就是个普通的小全栈,没有能力设计规范化的、通用的文档工作流,而现有的plan/spec模式更适合在拆解任务后的某个具体step甚至substep去做具体的执行,在拆解需求、做设计、做规划的层面,文档还是要我自己来掌握。
- 手动要求维护文档:盯着在工作过程中的各个层级的文档,不断地要求ai去同步、防止文档腐化。问题是,有时候改了底层文档之后高层文档失效、有时候新的需求会让旧的文档和记忆失效,这些都需要我手动去命令ai维护。
在我的设想中,traecode应该是有类似数据库或操作系统的事务机制:
-
原子性:将一组连续的 AI 操作(如“重构模块 A + 更新依赖 + 修改测试用例”)绑定为一个整体,若中间步骤失败,自动回滚至初始状态,杜绝半成品污染。
-
一致性:确保 AI 产出的代码、文档与用户既定规则(Rules)始终保持逻辑约束一致,无需人工抽检。
-
隔离性:多个并发的 AI 子任务互不干扰,各自拥有独立的上下文缓冲区。
-
持久性:每一个阶段性关键结果自动写入持久化存储,即便对话中断或模型崩溃,成果依然可追溯。
以及一些类似操作系统的特性:
-
进程调度:自动识别当前任务的复杂度,动态决定何时启用并行加速、何时强制串行以确保逻辑严密;支持任务挂起、恢复与优先级抢占。
-
内存与交换管理:自动监控上下文占用率,对早期对话进行无损压缩或外挂存储(类似操作系统的虚拟内存),在上下文窗口限制下腾出空间给当前关键任务。
-
文件系统抽象:将 AI 产生的临时推理链、中间产物、最终交付物自动分类、命名并挂载到项目文件树中,形成可寻址的资产库。
最终形态:AI时代的macos
从任务调度、模型的注意力与记忆管理、文档的沉淀,等等各个方面,希望都可以做到开箱即用。或许,未来的某一天,现在的os会成为“trae启动器”,而用户,只需要打开trae、用自然语言交互,而无需对任何底层实现有感知。