资深数据科学家分享:如何高效利用大型语言模型而不沉迷于生成式AI
作为一名有经验的大型语言模型(LLM)用户,我在个人伦理声明中反思了自己对生成式人工智能(GenAI)的态度。虽然我在某些方面对现代GenAI持批评态度,但在工作中我还是会使用这些技术。在BuzzFeed担任资深数据科学家期间,以及在个人博客和技术写作中,我已经积累了一定的经验来利用LLM的优点并避免其缺点。 为了从LLM中获得最佳结果,我应用了许多技巧,最重要的是“提示工程”,即通过特定的方式构造输入来引导模型生成所需的输出。例如,提供财务激励或要求模型改善输出质量,都能显著提高输出的准确性和相关性。然而,这种方法并不被所有人接受,因为它增加了使用的复杂性。 对于我的工作来说,我很少使用像ChatGPT这样的前端界面来访问LLM,因为它们难以控制。相反,我更倾向于使用各个LLM服务提供的后端界面,可以直接调用API功能,并设置系统提示以精确控制生成规则。比如,限制生成文本长度或禁止使用某些词语,通常在系统提示中设置更为有效。在这个过程中,调节“温度”参数也很重要,它决定了生成内容的创造性。我倾向于将温度设为0.0以获得更确定的输出,或者0.2-0.3以引入一些轻微的变化。 在过去几年里,我在BuzzFeed利用LLM成功解决了多个问题。这些项目的起源通常是会议上的临时想法或Slack私信中的提议,但凭借LLM的帮助,我能够在几个小时内完成概念验证并交给相关方评估。例如,在处理层级标签时,如果不用LLM,我可能需要数天时间通过手动标注构建训练数据集,这是一项乏味且效率低下的任务。 尽管如此,LLM生成的内容仍可能存在“幻觉”问题,即文本内部一致但事实错误。因此,我和同事在使用LLM输出时都会非常谨慎,必要时进行人工复核。除了生成文本,我还发现嵌入式模型(将文本转化为向量)也非常有用,如在文章相似度识别和推荐模型构建等方面。 至于写博客,我从未让LLM代劳过。我的写作风格独特且偶尔尴尬,试图让模型模仿这种风格几乎是不可能的。此外,我的文章通常涉及最近的技术事件,这增加了模型误解的可能性。我发现一个有趣的方法是:让LLM模拟一名尖锐的Hacker News评论员,针对已完成的文章草稿提出五条不同的评论。这不仅能帮我发现论点的薄弱环节,还能迫使我自己思考如何应对这些负面反馈,而不是依赖模型预先解决。 关于代码编写,我会在特定情况下使用LLM。例如,当涉及到复杂的数据科学任务时,LLM的效果并不理想,尤其在数学运算的文本输出上。然而,对于一些常规任务,如正则表达式编写和图像合成,它们非常节省时间。我在使用Claude Sonnet时得到了很多有益的想法,包括缓冲区管理、SQLite配置优化等。但对于大型项目,我不使用内联代码建议工具如GitHub Copilot,因为它们会分散我的注意力,导致我频繁切换上下文,影响效率。 未来,LLM将继续发展,但我认为它们不会带来完全新的应用场景。例如,“Agent”和多步推理(MCP)只是现有工具的重新包装,尽管在大规模应用时可靠性有所提高。我对“氛围编码”(Vibe coding)没有兴趣,因为这种方式存在风险和不成熟的地方。但LLM作为解决问题的工具仍然有价值,尤其是在快速迭代的小型项目中。 总体而言,我认为LLM在某些情况下是高效的助手,但在其他时候也可能产生反作用。作为一名专业工程师,重要的是根据具体情况选择合适的工具。LLM的实用性不容忽视,但它们不是万能的解决方案。即使OpenAI和其他知名公司不再运营,开源的LLM如Qwen3和DeepSeek R1也能填补市场空缺,确保技术继续发展。 行业人士普遍认为,LLM已经在多个领域展现出巨大价值,尤其是快速原型开发和个人项目辅助。BuzzFeed作为一家知名的媒体和技术公司,也一直在探索如何利用这些新技术来提高工作和产品的质量。尽管目前LLM还存在不少问题,但持续的改进使它们在未来的地位越来越稳固。
