V7 如何把企业文件变成 AI Agent 可追溯的组织记忆

2026-09-21 26 预计阅读时间: 1 分钟
来源: openai.com AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:10 分钟

企业并不缺知识,缺的是让 AI Agent 在正确时间找到正确知识的机制。合同、产品规范、会议纪要、工单和操作手册散落在不同目录与系统中;即使模型能力足够强,也不能自动知道哪份文件有效、某项结论来自哪里。

V7 使用 GPT-5.6,将这些分散资料转化为 Agent 可消费的上下文,使其能够完成复杂任务,并把结果链接回原始来源。这里真正重要的不是单纯扩大上下文窗口,而是建立一层可检索、可引用、可更新、受权限控制的“组织记忆”。

组织记忆不是更长的聊天记录

聊天记录只保存一次会话中发生了什么,组织记忆则需要回答四个更难的问题:

  • 该取哪份资料:面对数千份文件,不能把所有内容都塞进提示词。
  • 资料是否仍然有效:旧版价格表、过期流程和草稿不能与正式制度等量齐观。
  • 谁有权看到资料:Agent 不应因为建立了统一索引,就绕过原有访问控制。
  • 结论如何复核:输出应指向文件、页码、段落或其他稳定位置,而不是只给出流畅答案。

因此,模型负责理解任务、组合证据和生成结果;记忆层负责摄取、切分、检索、权限过滤与来源追踪。GPT-5.6 可以提高复杂任务中的推理与生成质量,但企业知识仍然需要由外部系统持续提供。模型参数本身不等同于公司记忆。

从散乱文件到可执行上下文

从来源摘要可以确认,V7 的目标是让 Agent 使用企业文件完成复杂且带来源链接的工作。若要在工程上实现这一效果,通常需要一条类似下面的链路:

  1. 摄取与标准化:读取文档、表格、PDF 或业务系统记录,并保留文件名、版本、更新时间和权限标签。
  2. 切分与索引:按标题、段落或语义边界切分内容,避免检索结果只剩脱离上下文的句子。
  3. 任务驱动检索:根据 Agent 当前步骤检索证据,而不是只在会话开始时搜索一次。
  4. 生成证据包:将内容与稳定来源标识一起交给模型,例如 [S2] policy.md:18-26
  5. 约束输出:要求每个关键判断引用来源;证据不足时明确报告缺口。
  6. 记录执行轨迹:保存检索条件、使用过的资料、最终答案和人工修订,便于审计与评估。

一个复杂任务往往要多次访问记忆。例如处理供应商风险时,Agent 可能先读取合同,再查询安全政策,最后核对最近的事故记录。相比一次性问答,这更接近“计划—检索—执行—验证”的循环。

来源链接也不只是装饰。它允许审核者快速区分三种情况:原文明确支持的事实、模型根据多份材料得出的推断,以及当前资料无法回答的问题。

可以这样实践:构造最小证据包

下面的示例不声称复现 V7 的内部实现,而是演示其核心工程模式:扫描本地 Markdown 或文本文件,按行切块,检索相关内容,并生成带来源编号的 Agent 提示词。

先准备两份示例资料:

mkdir -p knowledge
cat > knowledge/refund-policy.md <<'EOF'
# Refund policy
Enterprise customers may request a refund within 30 days of purchase.
Requests above 10000 USD require approval from the finance director.
The policy owner is the finance operations team.
EOF

cat > knowledge/support-runbook.md <<'EOF'
# Support runbook
Verify the customer ID and invoice before opening a refund case.
Attach the invoice, request date, and stated reason to the case.
Escalate policy exceptions to finance operations.
EOF

然后保存以下脚本为 memory_agent.py

import sys
from pathlib import Path

ROOT = Path('knowledge')
CHUNK_LINES = 8

question = ' '.join(sys.argv[1:]) or 'What approval is needed for a large refund?'
terms = {
    word.strip('.,?!:;()[]').lower()
    for word in question.split()
    if len(word.strip('.,?!:;()[]')) > 2
}

candidates = []
for path in ROOT.rglob('*'):
    if path.suffix.lower() not in {'.md', '.txt'}:
        continue

    lines = path.read_text(encoding='utf-8').splitlines()
    for offset in range(0, len(lines), CHUNK_LINES):
        chunk_lines = lines[offset:offset + CHUNK_LINES]
        text = '\n'.join(chunk_lines).strip()
        if not text:
            continue

        lowered = text.lower()
        score = sum(lowered.count(term) for term in terms)
        if score:
            candidates.append({
                'score': score,
                'path': path.as_posix(),
                'start': offset + 1,
                'end': offset + len(chunk_lines),
                'text': text,
            })

candidates.sort(key=lambda item: item['score'], reverse=True)
top = candidates[:4]

sources = []
for index, item in enumerate(top, start=1):
    sources.append(
        f'[S{index}] {item["path"]}:{item["start"]}-{item["end"]}\n'
        f'{item["text"]}'
    )

evidence = '\n\n'.join(sources) or 'No relevant source was found.'
prompt = f'''You are an internal operations agent.
Answer the task using only the supplied sources.
Cite factual claims with source IDs such as [S1].
If the evidence is insufficient, state what information is missing.

Task:
{question}

Sources:
{evidence}
'''

print(prompt)

运行时把问题作为参数传入:

python memory_agent.py 'What approval is needed for a refund above 10000 USD?'

脚本会生成一个可直接交给模型 API 的证据包。实际系统中,应将简单的词频匹配替换为混合检索,并补充以下能力:

  • 向量语义检索与关键词检索并用;
  • 在检索前执行用户和 Agent 的权限过滤;
  • 记录文档版本、更新时间及正式状态;
  • 为 PDF 页码、表格单元格或数据库记录生成稳定引用;
  • 在模型输出后验证引用是否真实存在、是否支持对应陈述。

不要仅仅把整个共享盘拼进提示词。这样既增加成本,也会让过期内容、互相冲突的制度和潜在提示词注入同时进入模型上下文。

真正困难的是治理,而不是接入模型

拥有引用并不意味着答案必然正确。模型可能引用了一段真实文本,却对文本作出错误解释;资料本身也可能已经过期。至少需要防范以下风险:

  • 过期知识:定义资料所有者、有效期和重新索引策略。
  • 权限泄漏:检索结果必须继承源系统权限,不能只在界面层隐藏。
  • 文档内提示词注入:把文件内容视为不可信数据,禁止其覆盖系统规则或调用未授权工具。
  • 证据与结论不匹配:用自动检查和抽样人工审核验证引用支持度。
  • 上下文膨胀:限制证据数量,并优先提供与当前任务步骤直接相关的片段。
  • 静默失败:没有可靠资料时,让 Agent 停止、提问或升级给人工,而不是补全一个看似合理的答案。

落地时从一类高价值任务开始

与其一开始索引全公司的全部文件,不如选择一个边界清晰、结果可验证的流程,例如退款审核、合同条款核对或安全问卷填写。上线前可以使用这份检查清单:

  • 是否定义了权威来源与资料负责人?
  • 检索是否遵守原系统权限?
  • 每个关键事实是否能跳转到具体来源?
  • 文档更新后,索引能否及时刷新?
  • 是否有一组真实任务用于测量检索召回率、引用正确率和任务成功率?
  • 证据不足时,Agent 是否会明确拒答或请求人工处理?

V7 所展示的方向值得关注:企业 Agent 的竞争力不只来自更强的基础模型,也来自能否安全地连接公司已经拥有的知识。把文件变成有版本、有权限、有出处的上下文,Agent 才可能从“会回答问题”迈向“能够完成工作”。


相关推荐