> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 用AI生成可靠的报告
- URL: https://www.hubwiz.com/blog/generate-reliable-reports-using-ai/
- Published: 2024-11-24T01:42:28.000Z
- Updated: 2024-11-24T01:42:28.000Z
- Description: 在这篇文章中，我想分享我对 AI 生成的报告的了解，以及如何使这些报告更可靠、更实用。
- Author: admin
- Tags: APPLICATION, LLM, REPORT GENERATION, GPT-4o, CLAUDE, GEMINI, COT, REACT, DSPY, #Import 2026-10-14 14:41

在过去的一年里，我一直在经营自己的 AI 软件开发和咨询机构，与各种各样的客户合作—从初创公司创始人到学者。在此期间，我接手了各个领域的项目，包括数字营销、SaaS 和网络安全。虽然每个项目的目标和目的各不相同，但一个共同的要求是需要为使用 AI 的利益相关者或最终客户创建可靠的报告。几乎所有的客户在项目中都有一个制作报告的里程碑。

通过这些经历，我对 AI 软件开发中常见的挑战、错误和最佳实践有了宝贵的见解。在这篇文章中，我想分享我对 AI 生成的报告的了解，以及如何使这些报告更可靠、更实用。

## 1、基础知识

这些都是简单、快速的胜利，可以用最少的努力显著改善你的 AI 系统。它们是我遇到过的最有效的东西，在构建 AI 系统时，它们始终位于我的待办事项列表的首位。

### 1.1 小胜利

首先检查你是否正在做这些简单的事情：

- 使用 Markdown：如果你的提示包含表格，请将其格式化为 markdown。LLM 接受过 markdown 文本的训练，因此他们能更好地理解它，并且通常也会以 markdown 进行响应。
- 让你的提示清晰：就像人一样，LLM 也会因不明确的指示而感到困惑。你表达提示的方式会影响响应的质量。为了让事情更清楚，你甚至可以在与 LLM 聊天时要求他帮助你重写提示。

### 1.2 使用正确的 LLM/API 配置

依赖 GPT-4o 或 Claude 3.5 等顶级 LLM 很诱人。虽然它们非常适合一般任务，但根据具体任务，你可能会使用其他模型获得更好的结果。你可以查看在线 LLM 排行榜，看看哪些模型在不同任务中表现最佳。即使 GPT-4o 或 Claude 3.5 是正确的选择，调整最大令牌数或温度等设置或缓存提示也可以提高性能。

我经常遇到的 GPT-4o 和 Claude 3.5 的一个限制是它们缺少长上下文窗口。对于某些任务（例如生成详细报告），较长的上下文窗口更有用。在这种情况下，像 Gemini 1.5 这样的模型更适合，它支持多达 2M 个令牌。

### 1.3 使用常见的提示技术

难以让 LLM 正确响应？尝试添加一个短语，例如“逐步解释你的推理”。这种简单的调整通常会带来更好、更准确的响应。这种方法称为思维链提示。

还有许多其他提示技术，例如 ReAct，可帮助 LLM 更有效地选择工具或代理。你可以手动尝试这些技术，也可以使用 DSPy 等框架，它们具有内置方法，可以轻松添加和测试不同的提示策略。

另一个重要步骤是添加少样本示例，这时长上下文窗口就派上用场了。通过添加你期望的答案的变体，模型更有可能做出更好的响应。

### 1.4 使用正确的框架

选择正确的代理或 LLM 框架可能是一个热门话题。在我看来，最好直接使用 API 或使用轻量级框架，如 DSPy，它在设计时也考虑到了评估（我将在下一节中解释其重要性）。某些框架可能会不必要地使你的程序过于复杂。

例如，许多框架都带有内置的任务特定模板。虽然这可以使你轻松上手，但通常会使创建适合你需求的可靠 AI 系统变得更加困难。这些模板通常未经优化，会用不必要的标记浪费上下文空间，并限制灵活性。更不用说使用它们会产生许多错误，这会使编程变得更加困难。

另一方面，DSPy 不使用模板。相反，每个 LLM 程序都是使用签名构建的，签名只是提示、输入和输出的组合。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-1581.png)

DSPy 签名的解释

如果你在 LLM 输出方面遇到困难，请确保你涵盖了这些基础知识。下一节将更多地关注你可以进行的高级优化以提高可靠性。

## 2、评估管道

改进 LLM 程序的一种方法是将其“推向”正确的输出。这与微调不同；它是关于找出表达提示、输入和输出的最佳方式，以使程序有效运行。

你可能想知道，如何知道哪种措辞最有效？答案是使用评估管道。在这篇文章中，我将概述评估是什么以及它们如何工作。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-1582.png)

解释提示优化和评估

从高层次上讲，评估管道的工作方式如下，首先，你会得到一组查询、输入和“预期”输出。然后，你设计一个指标，该指标根据任务衡量输出的好坏。例如，对于文本到 SQL 程序，你可以创建一个指标，为可以成功运行、具有正确的列名并与用户查询相关的查询提供分数。

一旦有了指标，你就可以对 LLM 程序输出进行评分，并根据预期输出对其进行衡量。然后，你可以为你的程序生成新指令并对其进行测量。迭代此操作将为你提供更好或优化的指令。提示优化中有许多算法，你可以使用 DSPy 为你自动化这些管道。

## 3、简化 AI 系统

![](https://www.hubwiz.com/blog/content/images/2024/11/image-1583.png)

AI 系统的可靠性如何随着复杂性而降低

最后一点是关于 AI 系统的复杂性。在软件设计原则中，提倡简单性并不是什么新鲜事，但对于基于大型语言模型的软件来说，这一点更为重要。原因是 LLM 输出是概率性的，而不是确定性的。

即使 LLM 调用生成正确输出的概率为 95%，并且你的程序每次运行都依赖于 10 次 API 调用。系统可靠输出的概率为 (0.95)¹⁰ = 0.598 或 60%。你应该尝试用最少的 LLM 调用来完成你的任务。一个在 2 次调用中完成任务的系统比 3 次调用完成任务的系统要好得多。

没有算法可以为你减少 API 调用的数量，它需要优秀的工程师精心设计系统并不断重新思考组件。

提示：也许长上下文模型可以比顶级小上下文模型在 2 次 API 调用中更可靠地一次性完成任务。或者你的系统流程中有太多中间步骤。

在设计系统上投入精力可以大大节省以后的可靠性！

## 4、结束语

使用此清单确保你的可靠性最大化

快速修复：

- 使用 Markdown：使用 Markdown 格式化表格以更好地理解 LLM。
- 编写清晰的提示：使用清晰、简洁的说明避免混淆。

优化模型：

- 为任务选择正确的模型；查看 LLM 排行榜。
- 调整设置（例如，最大令牌、温度）以获得更好的性能。
- 使用 Gemini 1.5 等长上下文模型来完成详细任务。

智能提示：

- 添加“逐步解释”等短语以提高准确性（思维链）。
- 包括一些示例来指导响应。

选择正确的框架：

- 避免使用过于复杂的框架；使用 DSPy 等轻量级选项。

评估和迭代：

- 使用评估管道来测试和优化提示、输入和输出。

简化你的系统：

- 尽量减少 API 调用以提高可靠性。
- 简化组件以实现更简单、更高效的工作流程。

此清单绝不是详尽无遗的，这些只是我们通过与客户合作学到的东西。

---

原文链接：[How to make more reliable reports using AI — A Technical Guide](https://medium.com/firebird-technologies/how-to-make-more-reliable-reports-using-ai-a-technical-guide-672b2d01cb2a?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处