这个页面是反人工智能的吗?
不。我们开发人工智能功能,并希望您继续使用您喜欢的任何助手。这个问题其实更具体一些:生成和验证是不同的任务,验证需要一个每次都能给出相同答案的工具。
视觉辅助功能会取代副驾驶功能吗?
不,它不会尝试这样做。VA 和 Copilot 在 Visual Studio 中并行运行。Copilot 负责生成草稿;VA 的解析器用于检查草稿是否正确。
这里“确定性”究竟是什么意思?
对于同一段代码,解析器每次运行、每台机器、每个会话都会生成相同的模型——相同的引用、定义和重命名作用域。没有采样,没有温度,没有差异。
人工智能模型在理解 C++ 代码时出现错误的例子是什么?
bool常见错误包括:当有多个重载版本匹配时选择错误的重载(例如,优先使用字符串字面量std::string而不是其他类型),建议使用该类型中不存在的成员或 API,错误处理智能指针的所有权导致某些元素被释放两次或从未释放,以及“更新”对来自不同库版本的函数签名的调用。这些错误在差异对比中看起来都完全合理。
如果代码能够编译,那不就没问题了吗?
不。在 C++ 中,编译通过仅表明语法有效,并不代表行为正确。释放后使用、悬空引用、整数溢出和简单的逻辑错误都能顺利编译,但会在运行时暴露出来——通常只有在高负载下才会出现。“编译通过”这种说法并不准确。
我难道不能直接让人工智能找出某个符号的所有用法吗?
你可以这样做,但你无法确定列表是否完整。模型返回的是一个可能的集合,可能会遗漏宏、模板或它未检查的文件中的用法——而且下次运行可能会返回不同的集合。解析器会遍历整个翻译集,并给出完整的计数,每次运行的结果都相同。