提取设计文档
开发业务系统的时候,一般采用敏捷的方式开发,特点就是把功能拆小,分成一个个迭代,每个迭代在两周左右的时间,迭代完成功能就尽快上线试用和验证。根据线上的反馈,快速迭代下一个版本。这个方式有一个问题就是设计文档比较零碎,如果到交付的时候,客户是需要设计文档的,就会比较麻烦。这个时候,也可以使用AI工具来提取设计文档。
现在的AI工具已经能够比较好地读取word、pdf之类的文档,如果有一部分设计方案是放到这些文档的,那么可以先用AI工具分析这些文档,把里面的信息提取成Markdown格式的文档,Markdown文档是对AI比较友好的格式。有的时候,word文档里面的表格提取得不是很好,比如有可能有些行漏了,有些行的信息被AI工具理解之后重新转换过了,还有可能AI工具自行增加了一些行,遇到这种情况,可以手工把表格的内容拷贝出来,粘贴到Markdown文档的时候,表格的每个单元格都变成占一行的形式了,格式就非常难看。但这种已经变成普通文本了,可以向AI工具指明把这些转为Markdown格式的表格。AI工具处理word之类的文档,小问题还是挺多的,但处理局部的文本,倒是挺准确的,出现幻读的情况比较少。
不管文档有多少,代码都是有的,所以重点在于从代码里把设计提取出来。如果给AI工具一个笼统的指令,比如“分析源代码,提取里面的设计”,这种指令是比较模糊的,AI工具给出的结果也是模糊的,每次给的可能都不一样。这个时候,需要把设计文档的章节定义一下,比如技术栈、目录结构、数据库设计、某某业务流程等。当有这些具体章节的时候,AI工具可以从代码“海洋”里提取出所要的信息来。比如数据库设计就是一张一张的数据库表,表里面有众多的字段,字段里面有类型、长度、描述等信息,人工处理起来是非常耗时的,还容易出错。AI工具提取的时候,代码再多它也能比较快地从里面提取出来,现在AI工具都走CLI这类的命令方式了,不需要对所有数据都进行索引,所以速度就非常快了。当然这种方式不一定非常准确,也就是有可能有些表会漏掉,如果能够把表结构导一份给它,让它结合代码,组合成预期的格式,这样就会非常准确了。
当既有文档,又有代码提取出来的文档的时候,可以再提具体的要求让AI工具把这两种文档合并在一起。如果希望合并得比较准确,最好是两个文档的章节结构保持一致,然后让AI工具按章节进行合并,合并的时候相同意思的则合成一段,不同意思的则进行增加合并在一起。当合并完成之后,为了提高准确性,还可以对具体章节的问题让AI工具进行调整。
这样操作之后,一份比较全的文档就提取出来了,中间除了定义一定的章节之外,其他的都是AI工具完成的。如果是人工来编写这份文档,快也要三五天,代码越多时间越长,但用了AI工具之后,可能半天都不需要,这就大大提高了效率。随着OpenClaw走出了一条自主操作电脑完成整项工作的路之后,后面应该很快就会有更好的Agent能够完成上面还需要人工分步的工作,到时效率还会再进一步提升。
夜雨聆风