聊天调试

作者: 豪哥的世界 | 来源:发表于2016-10-18 07:49 被阅读13次

    近期美剧《西部世界》十分火爆,其中有这样的场景,有个人工智能机器人出现了表现异常,需要对人工智能机器进行调试,那么是如何调试的呢?

    说到调试,我们现有的调试,更多的是命令行模式比如GDB,还有些是图形界面,比如JS代码在Chrome/Firefox中的调试。

    而西部世界里面是通过聊天模式来调试的。

    debug1.jpg debug2.jpg debug3.jpg

    控制和了解人工智能的思想主要通过对话来获取,而各项硬件指标和配置信息通过类似眼镜的东东来观察。

    很早之前微软出过一本《Writing Clean Code 》,整本书都希望找到可以预防和检测bug的方法,包括

    • 假想的编译程序,试图编译环节就可以检测出所有的缺陷(当然不太现实),
    • 断言和故障注入,尽可能的暴露缺陷
    • 内存监测,资源的实时监控,企图发现资源泄露的缺陷。
    • 各种人工保障,单步调试,契约式编程,编程规范,态度等。

    尽管这些或多或少都有效,但是还是会有很多不可预知的缺陷。而一旦出现缺陷,我们的调试工作是相当的大,就算是使用二分法,排除法,最终找出了问题所在,但是所消耗的时间有时候比编码时间还长。

    曾经我们的项目启动过一个这样的模块,通过这个模块,系统可以自己进行健康检查,各种资源,业务逻辑的自洽性,异常条件下的正确反馈等。结果是有一定的效果,不过真的遇到了指针飞了,还是毫无办法。最终还是避不开调试。

    很多系统采用告警,跟踪,调试,日志等各种模块来获得系统的信息,以便更好的定位调试。也许,未来,人工智能能够自己分析日志等信息,并报告错误。而人类只需要通过聊天,来控制人工智能以便设置和调试,获取错误信息,进而修复。

    更高级一点,对于非致命性缺陷,人工智能实现自我修复,没有什么大的毛病不轻易找人类帮忙:)

    如果是这样的话,我们的程序员可以转型为人工智能医生,嘿嘿。

    相关文章

      网友评论

        本文标题:聊天调试

        本文链接:https://www.haomeiwen.com/subject/pokoyttx.html