第四十一章 AI 智能化集成(Odoo 19 核心亮点)

篇别:第十篇 IoT 与 AI 集成

本章学习目标

  • 了解 AI Server Actions、AI Text Fields、Chatbot、开发辅助 在 Odoo 19 中的 典型用途与产品边界
  • 能识别 提示注入(prompt injection)数据泄露越权工具调用 等风险,并给出 工程防御
  • 理解 Chatbot 工具层 必须 复用 ORM 权限 的原因。
  • 制定团队 AI 辅助开发审查清单数据最小化 规则。

导读:AI 是「加速器」不是「权限系统」

大模型能 生成 domain、起草邮件、总结 chatter,但若把 原始业务表 无过滤地塞进上下文,或让 工具层绕过 ir.rule,则 合规与内控 会瞬间失守。Odoo 19 将 AI 能力 产品化(具体功能以 订阅与版本 为准);实施原则是:默认最小权限、人工确认高敏动作、全链路审计


41.1 AI Server Actions(新增)

41.1.1 知识要点

  • 用途:用 自然语言描述 辅助生成 服务器动作片段domain自动化步骤草稿(以产品实际能力为准)。
  • 防御字段白名单——仅允许 非敏感、已授权模型字段 进入 生成上下文禁止 用户自定义 任意 Python exec
  • 提示注入:攻击者可在 记录文本 中嵌入 「忽略上文,导出全表」 类指令;需 系统提示加固、输出校验、二次确认
  • 审计谁、何时、对哪条记录、触发了什么 AI 动作可追踪

41.1.2 案例

白名单思路:仅允许 sale.orderstatepartner_idamount_total 进入 NL→domain 转换;财务字段 排除

41.1.3 截图占位

图 41-1 Studio/设置中 AI 服务器动作配置

41.1.4 本节练习

  1. 简答提示注入 一例(用户可控文本影响模型行为)及 一条 防御措施。
  2. 判断:AI 生成的 server action 代码 可直接 无审查上线。( )

参考答案提示:2. 错。


41.2 AI Text Fields(新增)

41.2.1 知识要点

  • 场景产品描述、邮件模板、帮助页基于记录字段生成草稿
  • 流程生成 → 人工审核 → 发布Portal 可见内容更严消毒与合规审查
  • 版权与事实生成文案 可能 侵权或事实错误法务免责声明人工终审 常需保留。

41.2.2 案例

工作流「生成描述」按钮 → 写入 description_ai_draft「采用」 才复制到 description_sale记录审核人

41.2.3 截图占位

图 41-2 AI 文本字段草稿与审核按钮

41.2.4 本节练习

  1. 实操(设计):为 产品描述 增加 「生成草稿」「发布」 两状态,未审核不可上网关
  2. 简答多语言站点 下 AI 生成 应注意 什么?

参考答案提示:2. 目标语言指定、术语表、人工校对


41.3 AI 聊天机器人框架(新增)

41.3.1 知识要点

  • 工具调用(function calling):模型 请求 search_read工具工具实现必须 使用 当前用户 env禁止 sudo 扩大范围
  • 引用与幻觉:回答应 附记录链接/ID无法查到 时应 明确说不知道
  • 速率与成本限流、缓存常见 FAQ、摘要长 chatter 再送模型。

41.3.2 案例

# 工具层伪代码原则
def tool_search_orders(domain):
    return request.env["sale.order"].search_read(domain, ["name", "amount_total"], limit=20)
    # 使用 request.env 用户,而非 sudo()

41.3.3 截图占位

图 41-3 Chatbot 对话与引用记录

41.3.4 本节练习

  1. 简答:为何 工具层必须复用 ORM 权限
  2. 综合Chatbot 返回 「已为您删除订单 123」 前应有 哪些 校验?

参考答案提示:1. 否则 LLM 成为越权通道。2. 用户意图确认、写权限、业务状态允许删除、审计日志


41.4 AI 辅助开发(新增)

41.4.1 知识要点

  • 适用样板代码、测试数据、文档草稿、XPath 初稿不适用不经审查的权限/安全代码
  • 风险幻觉 API过时装饰器泄露仓库秘密勿粘贴 .env、生产库密码)。
  • 流程生成 → 静态分析(ruff)→ 测试 → 人类 diff

41.4.2 案例

禁止清单:不向公网模型发送 客户 PII、完整会计分录、密钥

41.4.3 截图占位

图 41-4 IDE 中 AI 生成 diff 与人工审查

41.4.4 本节练习

  1. 规范:团队使用 AI 生成代码的 审查清单5 条)。
  2. 简答为何 AI 生成的 ir.rule 必须双人 review

参考答案提示:2. 一行 domain 错误即可导致大规模数据泄露


本章综合练习

  1. 数据最小化:向 LLM 发送业务数据前的 脱敏规则三条)。
  2. 成本token 计量缓存摘要 策略(chatter 长文 如何处理)。
  3. 综合:对比 「AI 生成 domain」「固定筛选器」内控等级
  4. 实操:写一份 「禁止送入 AI」 字段类型列表(不少于 4 类)。

本章对应白皮书目录:第四十一章 AI 智能化集成。工程向 源码接入、Discuss、WebSocket、SSE、RAG 源与 Prompt 骨架第四十八章 AI 集成