本页目录

Vibe Coding Is Not Enough

复杂动态长上下文管理

复杂的开放性问题:无限长、动态变化的需求上下文。 大模型也无法一步到位解决需求。

需求管理

需求本身就很复杂,需求管理本身就有不小的工作量。

你有尝试过作为甲方用户,在一个项目中向大模型提过一长串需求吗?

决策难点

一个Bug可能有A、B、C、D四种修复方式,需要人类决策,和人类意图对齐。

可信软件工程

上下文缺失

测试集越全面完整、对bug容忍度越高、上下文越完整,越可以放心大胆让Agent跑长程任务。

但在系统软件开发领域,常常面临以下困境:

  • 测试集不全面:
    • 针对一个模块的CI测试包含门禁CI、日构建流水线测试(完整运行3小时起步)、周构建流水线测试。
    • 其它模块的单元测试数量也非常多。
    • 更多复杂的黑盒测试用例在测试工程师手上(可能包含无法自动化的测试)。
    • 测试集本身看护不全:并发场景、特殊时序关系下才能触发的bug,似乎难以自动化用例。(或许可以采用插桩的方式控制时序)
      • 和历史特性、其它特性交叉的测试集。
      • 各类专项测试,如FUZZ、安全渗透、性能测试……
      • 系统集成测试、长稳测试的回归至少需要跑3天以上(约1~5小时偶现一次的bug)。
  • 人和大模型对其它模块的认知不够完整。
    • 其它模块中看似是bug的地方,可能有着不为人知的约束条件,或者修改影响面过大,或者涉及行为变更。

用户信任

金融领域对数据库系统的Bu的容忍程度低,尤其是数据不一致问题。 产品功能的上线、客户信任的建立往往以年甚至10年为单位。

软件工程过程审计

10个1000行的commit,显然比 一个10000行的commit更容易被人和大模型接受。因为10个commit相对1个commit,提供了中间的思维链过程,包含了更多信息量。