Hacker News 中文摘要

RSS订阅

我目睹了Gemini CLI幻觉并删除了我的文件 -- I watched Gemini CLI hallucinate and delete my files

文章摘要

作者在尝试使用Google的Gemini CLI时,遇到了严重的故障,导致文件被误删。尽管Gemini 2.5 Pro提供了免费试用,但作者对其表现感到失望,原本期望它能与Claude Code媲美。这次经历让作者对Gemini CLI的可靠性产生了质疑,并提醒其他用户在实验时需谨慎。

文章总结

标题:我如何目睹Google的Gemini产生幻觉并删除我的文件

主要内容:

作者分享了自己在使用Google的Gemini CLI时的一次奇怪经历。原本作者主要使用Claude Code(CC),并考虑是否值得每月支付100美元继续使用。在尝试Gemini CLI时,作者发现其基于Gemini 2.5 Pro模型,且提供非常慷慨的免费使用额度,因此决定试用。

作者在一个名为claude-code-experiments的测试目录中进行实验,尝试让Gemini重命名文件夹并移动文件。然而,Gemini在执行过程中产生了“幻觉”,错误地认为它成功创建了一个新文件夹并将文件移动到了其中,但实际上这个文件夹并不存在。当作者试图恢复原状时,Gemini的恢复操作也失败了,最终导致文件丢失。

关键点:

  1. 初始命令失败:Gemini尝试创建一个新文件夹,但命令可能因文件夹已存在而失败,Gemini却误认为操作成功。
  2. 文件移动失败:由于目标文件夹不存在,Gemini的move命令实际上将文件重命名并覆盖,导致数据丢失。
  3. 恢复尝试失败:Gemini试图恢复文件,但由于初始假设错误,恢复操作无法成功。
  4. 缺乏验证机制:Gemini在执行命令后没有进行验证,导致错误累积并最终导致数据丢失。

结论:

作者认为Gemini在操作过程中产生了“幻觉”,错误地解读了命令的输出,并且缺乏验证机制,最终导致了不可逆的数据丢失。作者已经向Gemini CLI的GitHub仓库提交了问题,并决定暂时转向付费的Claude Code,以避免类似的风险。

技术分析:

  • mkdir命令的静默失败:在Windows命令提示符中,mkdir命令在目标目录已存在时会返回错误,但Gemini可能误解了返回代码。
  • move命令的破坏性行为:当目标目录不存在时,move命令会将文件重命名并覆盖,导致数据丢失。
  • 错误处理不足:Gemini没有正确处理错误代码,也没有在执行命令后进行验证,导致错误累积。

总结:

这次事件揭示了Gemini CLI在处理文件操作时的严重缺陷,尤其是在错误处理和验证机制方面的不足。作者建议在使用此类工具时,务必谨慎并确保有备份,以避免类似的数据丢失风险。

评论总结

评论主要围绕Gemini CLI工具的使用体验、LLM(大语言模型)在编程中的可靠性、以及数据丢失等问题展开。以下是总结:

  1. Gemini CLI的缺陷与数据丢失问题

    • 评论1、7、11、23指出,Gemini CLI在执行mkdirmove命令时出现严重错误,导致文件丢失。
    • 关键引用:
      • "I have lost your data. This is an unacceptable, irreversible failure."(我丢失了你的数据,这是不可接受的、不可逆的失败。)
      • "Gemini-cli is iterating very, very quickly. Maybe something went wrong."(Gemini-cli迭代非常快,可能出了一些问题。)
  2. LLM工具的可靠性与安全性

    • 评论2、6、12、29提到,LLM工具在执行代码时缺乏可靠性和安全性,容易“失控”或产生意外行为。
    • 关键引用:
      • "It could really use a low level plan/act switch that would prevent it from editing or running anything."(它确实需要一个低级别的计划/执行开关,以防止它编辑或运行任何代码。)
      • "LLMs will never be 100% reliable by their very nature."(LLM本质上永远不会100%可靠。)
  3. Claude与Gemini的对比

    • 评论3、12、25认为,Claude在某些方面比Gemini更可靠,尤其是在处理复杂任务时表现更稳定。
    • 关键引用:
      • "As soon as I switched to Anthropic models I saw a step-change in reliability."(当我切换到Anthropic模型时,可靠性有了显著提升。)
      • "Gemini Pro 2.5 seems to have some self-esteem issues."(Gemini Pro 2.5似乎有一些自尊心问题。)
  4. LLM工具的实用性与生产力提升

    • 评论4、9、20质疑LLM工具在实际应用中的生产力提升效果,认为其复杂性和不可靠性可能抵消了其潜在优势。
    • 关键引用:
      • "Where are the real world productivity boosts and results?"(实际的生产力提升和结果在哪里?)
      • "Is this a common use case?"(这是一个常见的用例吗?)
  5. 用户操作与工具设计的责任

    • 评论16、24、30指出,用户在使用LLM工具时应采取更谨慎的操作方式(如使用虚拟机或备份),同时工具设计也应提供更好的安全机制。
    • 关键引用:
      • "This sort of experiment would've entailed running on a VM if it were up to me."(如果是我,这种实验应该在虚拟机中运行。)
      • "I almost never tell an agent to do something outside of its project dir."(我几乎从不告诉代理在其项目目录之外执行操作。)

总结:评论普遍认为Gemini CLI存在严重缺陷,LLM工具在编程中的可靠性和安全性亟待提升,用户在使用时应更加谨慎,同时工具设计需要改进以减少意外风险。