GEO

TSCE框架如何减少LLM幻觉并提升答案保真度?(附GPT-4/Llama-3实测)

2026/4/13
TSCE框架如何减少LLM幻觉并提升答案保真度?(附GPT-4/Llama-3实测)

AI Summary (BLUF)

TSCE (Two-Step Contextual Enrichment) is a mechanistic framework that reduces LLM hallucinations and improves answer fidelity by first generating an Embedding Space Control Prompt (ESCP) to compress the semantic space, then performing a focused generation. Validated on GPT-3.5/4 and Llama-3 8B, it achieves up to +30 percentage point improvements without extra training.

原文翻译: TSCE(两阶段上下文增强)是一种机制框架,通过首先生成嵌入空间控制提示(ESCP)来压缩语义空间,然后进行聚焦生成,从而减少LLM幻觉并提高答案保真度。在GPT-3.5/4和Llama-3 8B上验证,无需额外训练即可实现高达+30个百分点的改进。

引言

在许多现实世界的任务中,大语言模型(LLMs)要么会产生幻觉,要么在被迫一次性回答时,会迷失在复杂的指令中。两步上下文增强(Two-Step Contextual Enrichment, TSCE)通过首先生成一个“嵌入空间控制提示”,然后引导第二次聚焦生成来解决这个问题——无需额外训练即可提供更忠实可靠的答案。

在许多现实世界的任务中,大语言模型(LLMs)要么会产生幻觉,要么在被迫一次性回答时,会迷失在复杂的指令中。两步上下文增强(Two-Step Contextual Enrichment, TSCE)通过首先生成一个“嵌入空间控制提示”,然后引导第二次聚焦生成来解决这个问题——无需额外训练即可提供更忠实可靠的答案。

一个用于获得更可靠LLM答案的两阶段*机制框架——已在OpenAI GPT-3.5/4和开源模型Llama-3 8B上得到验证。*

一个用于获得更可靠LLM答案的两阶段*机制框架——已在OpenAI GPT-3.5/4和开源模型Llama-3 8B上得到验证。*


目录

  1. 什么是TSCE?
  2. 项目亮点
  3. 工作原理
  4. 基准测试与结果
  5. 快速开始
  6. 配置
  7. 故障排除
  8. 扩展与贡献
  9. 许可证

什么是TSCE?

直觉理解:想象你要求一个模型“总结这份1000字的法律简报”。在单次处理中,它可能会遗漏关键条款或陷入幻觉,因为它正在从广泛分布的可能向量中进行采样。相反,TSCE的第一阶段通过“嵌入空间控制提示”压缩了潜在的向量空间,然后第二阶段能更好地准备以生成摘要。

Intuition: Imagine you ask a model, “Summarize this 1,000-word legal brief.” In a single pass it might drop key clauses or veer off into a hallucination because it's sampling from a wide distribution of possible vectors. Instead, TSCE’s first pass compresses the potential vector space with an "Embedding Space Control Prompt", and then second pass is better primed to generate the summary.

TSCE框架包含两个核心阶段:

The TSCE framework consists of two core phases:

阶段 目的 温度 (Temp) 输出
阶段 1 — 嵌入空间控制提示 将整个提示压缩成一个密集的潜在支架(ESCP)。 ↑ ≈ 1.0 不透明的令牌块
阶段 2 — 聚焦生成 重新读取系统提示 + 用户输入 + ESCP,并在更窄的语义流形内生成答案。 ↓ ≤ 0.1 最终答案

结果:幻觉、指令偏离和格式错误显著减少——无需微调,仅需一次额外的API调用。

Outcome: fewer hallucinations, instruction slips, and formatting errors — with no fine-tuning and only one extra call.


项目亮点

本演示仓库提供了完整的实现和评估工具集。

This demo repository provides a complete implementation and evaluation toolkit.

文件/目录 用途
tsce_agent_demo/ 产生下述结果的测试框架与任务集。
tsce_agent_demo/tsce_agent_test.py 基线模型与TSCE的对比测试,打印两种答案,生成report.json
tsce_agent_demo/tsce_chat.py TSCE核心实现模块。
tsce_agent_demo/results/ 熵、KL散度、余弦相似度小提琴图等可视化结果。
.env.example 配置文件模板,复制为.env并填入你的密钥。
prompts/phase1.txt, prompts/phase2.txt 每个阶段的默认提示模板。

支持 OpenAI CloudAzure OpenAI 或任何 Ollama / vLLM 端点。
✨ 新特性:现在可以从 prompts/phase1.txtprompts/phase2.txt 加载第一和第二阶段提示,便于轻松替换为你自己的提示模板。

Works with OpenAI Cloud, Azure OpenAI, or any Ollama / vLLM endpoint.
✨ New: we now load the Phase 1 and Phase 2 prompts from prompts/phase1.txt and prompts/phase2.txt, making it easy to swap in your own prompt templates.


工作原理

TSCE的工作流程可以概括为两个明确的步骤:

The workflow of TSCE can be summarized in two distinct steps:

  1. 阶段 1 – 嵌入空间控制提示构建:压缩嵌入空间,并根据用户输入生成一个嵌入空间控制提示。

    Phase 1 – Embedding Space Control Prompt (ESCP) Construction: compresses embedding space and generates an embedding space control prompt based on the user's input.

  2. 阶段 2 – 引导式回答:结合控制提示和你的原始提示来生成最终响应。

    Phase 2 – Guided Answering: reads the control prompt with your original prompt to craft the final response.

权衡考量

压缩自然语言总是存在丢失细微差别的风险,但我们的基准测试表明,在多步推理任务上,TSCE仍然能在GPT-3.5上获得**+30个百分点的提升,并在Llama-3上实现76%** 的成功率(基线为69%)——因此ESCP带来的聚焦优势超过了压缩损失。

Compressing natural language always risks dropping nuance, but our benchmarks show that on multi-step reasoning tasks TSCE still gains +30 pp on GPT-3.5 and yields 76 % success on Llama-3 vs. 69 % baseline—so the escp’s focus outweighs the compression loss.


基准测试与结果

以下结果基于超过10,000个提示/响应对的测试,趋势保持一致。

The following results are based on tests across more than 10,000 prompt/response pairs, with trends holding consistently.

模型 任务套件 单次生成 (One-Shot) TSCE 令牌倍数 (Token ×)
GPT-3.5-turbo 数学 ∙ 日历 ∙ 格式 49 % 79 % 1.9×
GPT-4.1 破折号 & 策略测试 50 % 违规率 6 % 违规率 2.0×
Llama-3 8B 混合推理包 69 % 76 % 1.4×

仅ESCP就将GPT-3.5提升了+30个百分点;在较小的Llama模型上,嵌入空间控制提示解锁了思维链能力(+16个百分点)。

ESCP alone lifts GPT-3.5 by +30 pp; on the smaller Llama, the embedding space control prompt unlocks CoT (+16 pp).

注意:TSCE使用两次生成,因此原始能耗/令牌成本约为单次生成的2倍;我们与零温度、单次生成的理想基线进行比较。
关键图表(见 figures/ 目录):

Note: TSCE uses two passes, so raw joules/token cost ≈2× single-shot; we compare against a zero-temp, single-shot oracle.
Key plots (see figures/):

  • entropy_bar.png — 熵值降低6倍

    entropy_bar.png — 6× entropy collapse

  • kl_per_position.png — 第20个令牌后KL散度 > 10 nats

    kl_per_position.png — KL > 10 nats after token 20

  • cosine_violin.png — 使用嵌入空间控制提示后,答案聚类更紧密

    cosine_violin.png — answers cluster tighter with an embedding space control prompt


快速开始

先决条件

  • Python 3.8+
  • OpenAI API密钥 Azure OpenAI部署密钥
  • Git (虚拟环境可选)
    • Python 3.8 +
    • OpenAI API key or Azure OpenAI deployment key
    • Git (virtualenv optional)

安装

git clone https://github.com/<your-username>/tsce_demo.git
cd tsce_demo
cd tsce_agent_demo
python -m venv venv && source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env          # 然后编辑 .env 文件填入你的凭据

运行基础测试:

Run the basic test:

python tsce_agent_test.py

运行交互式UI(Streamlit)以比较基线和TSCE答案:

Run the interactive UI (Streamlit) to compare baseline and TSCE answers:

streamlit run streamlit_chat.py

配置

根据你的使用环境,配置相应的环境变量。

Configure the corresponding environment variables based on your usage environment.

OpenAI Cloud

.env 文件中设置:

Set in the .env file:

OPENAI_API_KEY=sk-********************************
# 可选
OPENAI_ENDPOINT=https://api.openai.com/v1/chat/completions
MODEL_NAME=gpt-3.5-turbo

Azure OpenAI

.env 文件中设置:

Set in the .env file:

OPENAI_API_TYPE=azure
AZURE_OPENAI_ENDPOINT=https://<your-resource>.openai.azure.com
AZURE_OPENAI_DEPLOYMENT=gpt-4o           # 你的部署名称
AZURE_OPENAI_API_VERSION=2024-02-15-preview
AZURE_OPENAI_KEY=<your-azure-key>        # 或复用 OPENAI_API_KEY

未使用的密钥留空即可。

Leave unused keys blank.


故障排除

症状 解决方法
401 Unauthorized 密钥错误或已过期;确保密钥与端点类型匹配。
挂起 > 2 分钟 模型响应慢;调整 _chat() 中的 timeout 参数或降低温度。
ValueError: model not found 正确设置 MODEL_NAME (OpenAI) AZURE_OPENAI_DEPLOYMENT (Azure)。

扩展与贡献

扩展思路

  • 批量运行器 — 循环处理提示列表,保存汇总的CSV文件。

    Batch runner — loop over a prompt list, save aggregate CSV.

  • 可视化 — 集成白皮书中的t‑SNE绘图代码(凸包、箭头)。

    Visualization — embed t‑SNE plot code from the white‑paper (convex hulls, arrows).

  • 安全护栏 — 为高风险领域添加自我批判的第三阶段。

    Guard‑rails — add a self‑critique third pass for high‑risk domains.

  • Streamlit UI — 即插即用的交互式演示平台(提问 → ESCP → 答案)。

    Streamlit UI — drop‑in interactive playground (ask → escp → answer).

待探索问题与后续步骤

  • 递归ESCP? 在自身的ESCP上运行第一阶段是会改善效果还是累积错误?

    Recursive ESCP? Does running Phase 1 on its own escp improve or compound errors?

  • 自动化提示调优:探索集成dspy以自动优化你的提示模板。

    Automated Prompt Tuning: Explore integrating dspy for auto-optimizing your prompt templates.

  • 基准测试策略:我们欢迎新的任务集——请在 benchmark/tasks/ 下提交你的建议。

    Benchmark Strategy: We welcome new task sets—suggest yours under benchmark/tasks/.

贡献指南

  1. Fork 本仓库
    1. Fork the repo
  2. git checkout -b feature/my-feature
  3. 提交更改并推送
    1. Commit & push
  4. 发起 Pull Request
    1. Open a PR

请确保新代码遵循MIT许可证,如果扩展了功能,请在 README.md 中添加说明。

Please keep new code under MIT license and add a line to README.md if you extend functionality.


许可证

本项目采用 MIT 许可证 —— 可免费用于商业或私人用途。完整文本请参见 LICENSE

This project is licensed under the MIT License — free for commercial or private use. See LICENSE for full text.

常见问题(FAQ)

TSCE框架如何减少大语言模型的幻觉问题?

TSCE通过两阶段机制:首先生成嵌入空间控制提示(ESCP)压缩语义空间,然后进行聚焦生成,从而在更窄的语义流形内生成答案,显著减少幻觉和指令偏离。

TSCE框架需要额外训练模型吗?

不需要额外训练。TSCE是一个无需微调的机制框架,仅通过一次额外的API调用即可实现,已在GPT-3.5/4和Llama-3 8B上验证有效。

TSCE在实际应用中能带来多大改进?

基准测试显示,TSCE在多步推理任务上可使GPT-3.5提升高达30个百分点,在Llama-3上实现76%的成功率(基线69%),显著提高答案保真度。

← 返回文章列表
分享到:微博

版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。

文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。

若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。 也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。