Copilot Studio 技术指南:修复 SharePoint 回归问题与 "Get Items" 错误
已更新:6月17日

如果您的 Copilot Studio 机器人经过数月的稳定运行后最近突然出现故障,那么您正面临着与许多其他开发者相同的回归问题。
用户报告称,运行了 5 个多月且表现完美的流程突然失败。社区的共识是,后端模型的更新(可能强制从 GPT-4.0 切换到 GPT-4.1)降低了 AI 处理结构化任务的能力。
以下是具体故障的详细分析以及修复这些故障的技术变通方案。
3 个关键问题
1. “动态链”回归
核心问题在于 "动态链/填充" 功能。此前,AI 能够可靠地接收用户输入并为 SharePoint 生成正确的 OData 过滤器。
Bug 表现: 现在,AI 经常无法生成过滤字符串,导致向 SharePoint 传递了空查询。
结果: 即使数据存在,机器人也不返回任何内容。
2. 原生操作限制与幻觉
在生产环境中依赖 Copilot 的开箱即用操作是危险的。
100 行限制墙: 原生的 "Get items" 操作通常默认仅扫描前 100 行。
强制幻觉:当机器人无法在那 100 行数据中找到信息时,它拒绝回答“我不知道”。相反,它经常编造(幻觉)虚假的文件名或数据来取悦用户。
3. 损坏的“在 Teams 中发布”功能与营销炒作
用户感觉自己像是“付费测试员”,因为广告中宣传的基本功能无法正常工作。
示例:原生的“在 Teams 聊天中发布”操作目前报告失败,它会完全丢失输入参数,发送空消息。
技术生存指南:从 AI 转向“硬逻辑”
要解决此问题,你必须停止依赖 Copilot 的“Knowledge Sources”和 AI 猜测。你需要使用 Power Automate 的确定性逻辑。
1. 架构:Topics + Cloud Flows(而非 Knowledge Sources)
停止使用“Knowledge Sources” 以连接到 SharePoint。它们目前太不可靠且难以控制。
解决方法: 使用特定的 Topics 来构建你的机器人,并触发 Agent Cloud Flows。
原因: 这让你能完全控制输入和输出,绕过存在漏洞的 "Dynamic Chain" AI。
2. 数据检索:启用分页 (Pagination)
如果您使用 Power Automate 获取数据,则必须手动绕过默认限制。
步骤:在您的 Flow 中,转到 "Get items" 操作设置。
操作:开启Pagination。
值:将阈值设置为 5000(或您需要的限制)。
结果: 这可以防止导致 AI 幻觉的“数据缺失”错误。
3. 输入处理:System.Activity.Text 与 Regex
不要让 AI 解释变量。在当前模型退化的情况下,它太容易出错。
方法 A(原始输入): 使用系统变量 System.Activity.Text 并结合 Parse Value 节点。这会准确捕获用户输入的内容,绕过 AI 的意图提取层。
方法 B(Regex): 对于特定的 ID 或代码,请使用 正则表达式 在你的 Topic 节点中强制进行严格匹配(例如,提取订单 ID)。
4. AI Builder 变通方案
如果你确实必须使用 AI 来生成灵活的查询(例如,复杂的自然语言搜索),请不要使用 Copilot 的原生处理方式。
修复方法: 在你的 Cloud Flow 中使用 "Create text with GPT using a prompt" (AI Builder) 操作。
提示词工程技巧: 您必须明确说明以避免错误。在提示词中,请指示模型:"使用 OData Version 4.0 格式" 并明确定义列名。
工作流: 将 AI Builder 生成的字符串传递到 SharePoint “获取项”步骤的“筛选查询”字段中。
总结
Copilot Studio 的“魔法”功能目前在处理结构化数据时不稳定。
解决方案:
放弃 原生 "Get Items" 和 "Knowledge Sources"。
采用 启用了 Pagination 的 Power Automate Flows。
强制 使用 System.Activity.Text 和 Regex 进行输入捕获。



