在 AI 辅助编程场景下,用户往往不会一次性把所有需求“说清楚” 而是通过多次对话、迭代澄清需求。这种“多轮对话”风格在人机交互、Agent 驱动、AI 辅助编码等场景都非常常见。但从最新研究来看,LLM 在多轮、部分指定( underspecified )对话中,成功率会大幅下降。这对 AI 编程工具(尤其是“对话式 / 交互式”的开发支持系统)是一个严重挑战。
在 2025 年 5 月的论文《 LLMS GET LOST IN MULTI-TURN CONVERSATION 》(arXiv:2505.06120)中,研究者系统性地比较了两种编程方式:
在 15 个主流模型上,用 200,000+ 次模拟对话对比 single-turn 和 multi-turn 下的六类生成任务(包括代码生成、数据库查询、摘要等)。
结果表明:多轮上下文下,模型性能平均下降**约 39%**(相比于一开始就给出完整指令的单轮形式)
具体地,他们把性能下降拆解为两个部分:
模式 | 描述 | 平均任务成功率 |
---|---|---|
One-Shot Prompting | 一次性提供完整需求与约束 | 78% |
Multi-Turn Refinement | 通过多轮补充和澄清需求 | 54% |
结论非常明确:
当 LLM 在第一次就能拿到完整上下文(包括功能、约束、接口信息等),代码正确率与结构完整性显著提升,平均减少 30%-40% 的沟通迭代。
换句话说,大模型最怕“边说边改”,最爱“一次说清楚”。
在 AI 辅助编程的实际场景里,这个问题尤其致命:
正是在这个技术挑战之下,Crevo 的方案显得极具意义。
Crevo 把整个软件开发流程结构化成可索引的知识体系:
维度 | 内容 |
---|---|
用户故事 | 用户目标与场景 |
PRD | 功能描述、业务逻辑 |
系统架构 | 模块关系、服务依赖 |
数据库设计 | 表结构、字段、约束 |
API 定义 | 输入输出规范 |
UX/UI | 界面原型与交互流程 |
迭代开发计划 | 功能拆解与优先级 |
Crevo 用工程级上下文检索 + 任务驱动整合,把对话式的开发场景“压缩”为对模型的完整提示。
根据论文观点,使用 Crevo 解决了以下问题:
例如:
开发者告诉 Crevo “我要一个用户登录接口”。
Crevo 自动检索出与“登录”相关的用户故事、界面流程、DB user 表结构、API 接口规格(如 POST /login 请求字段、响应字段)、UI 登录页原型、迭代计划说明。然后将这些信息作为 prompt 上下文给 LLM ,让它生成 login 模块代码 + 单元测试 + 接口文档 + error handling 。如果后续用户追加“加验证码”或“加记住我”功能,Cravo 会再次检索上下文 + 变更说明,作为 prompt 更新给 LLM 继续生成代码。
Crevo 的哲学并不是“写更好的提示词”,
而是构建更好的上下文。
我们让所有开发信息以结构化方式存在(像知识图谱一样),
再通过上下文聚合算法,让模型“理解整个软件的语义结构”。
这让 AI 编程真正具备了“项目级记忆”与“全局推理能力”。