本期雷达
###技术部分
7. GraphRAG
试验
在上次关于 检索增强生成(RAG)的更新中,我们已经介绍了GraphRAG。它最初在微软的文章中被描述为一个两步的流程:
(1)对文档进行分块,并使用基于大语言模型的分析构建知识图谱;
(2)通过嵌入检索的方式
在查询时检索相关块,沿着知识图谱的边缘发现更多相关的分块,这些分块后续会被添加到增强提示中。在许多情况下,这种方法提高了大语言模型生成的响应数据的质量。我们在使用生成式AI理解遗留代码库的过程中也观察到了类似的好处――通过像抽象语法树和代码依赖这样的结构化信息去构建知识图谱。GraphRAG 模式正在获得更多的关注,像 Neo4j 的 GraphRAG Python 库这样的工具与架构正在不断出现以支持该模式。同
时,我们认为 Graphiti 也符合广义上的 GraphRAG 模式。
9. 模型蒸馏
试验
Scaling laws 是推动 AI 快速发展的关键原则之一,即更大的模型、更大的数据集和更多的计算资源能够带来更强大的AI系统。然而,消费级硬件和边缘设备往往缺乏运行大尺寸模型的能力,因此产生了对模型蒸馏的需求。
模型蒸馏 将知识从一个更大、更强的模型(教师模型)转移到一个更小、更高效的模型(学生模型)。这一过程通常包括从教师模型生成一个样本数据集,并对学生模型进行微调,以捕获其统计特性。与通过移除参数来压缩模型的剪枝技术或量化不同,蒸馏旨在保留领域特定的知识,同时将精度损失降到最低。此外,蒸馏还可以与量化结合使用,以进一步优化模型。
这种技术最早由 Geoffrey Hinton 等人提出,现已被广泛应用。一个显著的例子是 Qwen/Llama 的 DeepSeek R1 蒸馏版本, 它们在小模型中保留了强大的推理能力。随着蒸馏技术的日益成熟,它已不再局限于研究实验室,而是被广泛应用于从工业项目到个人项目的各类场景中。像 OpenAI 和 Amazon Bedrock 这样的供应商也提供了详细的指南, 帮助开发者蒸馏自己的小语言模型(SLMs)。我们认为,采用模型蒸馏技术能够帮助组织更好地管理 LLM 部署成本,同时释放 本地设备上 LLM 推理 的潜力。
10. 提示工程(Prompt Engineering)
试验
提示工程(Prompt Engineering)是指为生成式 AI 模型设计与优化提示词(Prompt)的过程, 其目标是生成高质量、上下文相关(Context-aware)的响应。这一过程通常包括针对特定任务或应用场景,精心构建清晰、具体且上下文相关的提示,以实现模型输出效果的最优化。随着大语言模型能力的不断提升,尤其是推理模型的出现,提示工程的实践也必须随之调整。根据我们在 AI 代码生成方面的经验,少样本提示(few-shot prompting)在与推理模型协作时,可能不如简单的零样本提示(zero-shot prompting)表现出色。此外,被广泛使用的 思维链(Chain-of-Thought,CoT)提示 技术也可能 降低 推理模型的表现――原因可能在于当前
推理模型通过强化学习已内置了 微调过的 CoT 机制 。
我们的实际经验也得到了学术研究的印证,即“高级模型可能消除软件工程领域对提示工程的依赖”。但在实际场景中,传统提示工程技术仍然是减少模型幻觉(Hallucinations)并提升输出质量的重要手段,特别是在考虑推理模型与普通 LLM 在响应时间和 Token 成本等因素存在显著差异的前提下。在构建 自主代理应用(Agentic Applications)时, 我们建议根据实际需求策略性地选择模型, 并持续迭代与优化提示模板及相应的工程方法。如何在性能、响应速度与Token成本之间找到最佳平衡,依然是充分发挥 LLM 效能的关键所在。
16. 从LLMs获取结构化输出
评估
从 LLMs 获取结构化输出 是指通过定义的结构模式来约束语言模型的响应。这可以通过指示通用模型以特定格式响应,或者通过微调模型使其“原生”输出例如 JSON 的结构化数据来实现。OpenAI 现在支持结构化输出,允许开发人员提供 JSON Schema、pydantic 或Zod对象来约束模型响应。 这种能力在函数调用、API交互和外部集成中尤其有价值,因为这些场景中格式的准确性和一致性至关重要。结构化输出不仅提升了 LLMs 与代码交互的方式,还支持更广泛的使用场景,例如生成用于呈现图表的标记语言。此外,结构化输出已被证明可以减少模型输出中的幻觉现象。
平台
(未完待续)
工具
语言和框架
原文连接:
https://www.thoughtworks.com/content/dam/thoughtworks/documents/radar/2025/04/tr_technology_radar_vol_32_cn.pdf