FEATURED · 精选文章

企业智能体工程体系v1.1| 企业智能体工程卷 · 第0期·企业公民——Agent 是同事,不是工具

发布时间 / 2026/8/4 15:27:06
来源 / 创域科博编辑部
栏目 / 资讯中心
企业智能体工程体系v1.1| 企业智能体工程卷 · 第0期·企业公民——Agent 是同事,不是工具 #企业智能体工程体系v1.1 企业智能体工程卷 · 第0期企业公民——Agent 是同事不是工具作者技术治理研究组系列企业智能体工程卷发布版 v1.1主案例CASE-CR-0042信用提额申请适合读者架构师、技术负责人、AI 产品经理、企业数字化转型决策者 本文档声明性质本文为企业智能体工程化设计参考框架的第0期提供架构思路与治理协议的概念基底不构成生产级实现方案或法律合规意见。证据锚定文中案例CASE-CR-0042为教学示意不对应任何真实客户系统。系列定位本篇为十期专栏的概念奠基篇后续各期将在本期的对象模型和案例基础上逐层加厚。摘要当智能体进入企业它会做决策、跨系统操作、与其他 Agent 协作。此时它不再是“工具”而是一个需要被治理的“企业公民”。本文是企业智能体工程卷的开篇回答三个核心问题为什么 Agent 不能只当工具用—— 工具观带来的失控风险企业 Agent 应该长什么样—— 总架构与核心对象模型一个具体案例如何落地—— CASE-CR-0042 的公民档案全文围绕「星河零售」信用提额申请案例展开建立了 Identity、SkillContract、DecisionRecord、MemoryItem、AuditEvent 等核心对象模型为后续 9 期内容提供统一的概念基底。一句话核心工具观收获失控自动化公民观才可能收获靠谱同事。0. 建议预备知识清单开始本卷前建议具备下列基础。不必样样精通知道“是什么、为什么重要”即可。0.1 必备知识主题你应能回答若不熟建议查阅Agent 基本形态规划、工具调用、多步执行的基本概念任意入门 Agent 教程权限与最小授权为何不能默认给最高权限RBAC / 最小权限原则审计与可追溯“谁做了什么”如何留痕操作日志与审计基础API 与副作用调用 API 可能改变数据、发送消息工具调用与 API 设计常识提示词不是系统安全边界不能只靠自然语言约束AI 安全治理入门0.2 加分知识主题帮助理解哪一期接口契约 / SLA第 1、4 期反馈控制环第 5 期会话记忆 vs 长期记忆第 3、7 期权限矩阵设计第 9 期发布门禁 / 回归测试第 6、8 期0.3 本卷用词约定术语含义企业公民有身份、有边界、可追责、可协作的 Agent契约技能SkillContract能力结构化声明调用前可检查决策四轴目标轴、约束轴、价值轴、后果轴落地验收AssuranceReport上线前与变更后的独立把关证据包P1–P5冲突与例外协议见系列总览1. 从“AI 只是工具”的错觉说起1.1 工具观的局限过去两年我们把智能体当成“更聪明的宏脚本”给一个任务出一个结果。这种模式在单步、无状态、低风险的场景中足够用。但当 Agent 开始做决策、跨系统操作、长时间执行任务、与其他 Agent 协作时“工具”心智会全面失灵场景工具观的问题需要的 Agent 能力财务 Agent 拒绝了提额申请“谁做的决定依据是什么”可追溯身份Identity客服 Agent “顺手”改了一个额度“它凭什么能改”能力契约SkillContract数据 Agent 缓存了客户的身份证号“它能记住这个吗记多久”记忆治理MemoryItem两个 Agent 对同一工单给出冲突判断“该听谁的”决策原则与冲突协议P1–P51.2 从“工具”到“公民”的心智升级维度工具观公民观身份无身份谁调都一样唯一 URN可审计能力边界靠 Prompt 约束随时可破契约声明调用前检查决策记录偶尔打日志只追加 DecisionRecord记忆能记就记方便就行受治理的 MemoryItem TTL改进改 Prompt上线看效果Flywheel.Plan → AssuranceReport核心论断工具观收获失控自动化公民观才可能收获靠谱同事。2. 主案例开场CASE-CR-0042全卷只演这一出戏每一期都在它上面“加一层”。请先熟悉这张工单字段内容案例编号CASE-CR-0042客户星河零售示意名称非真实客户业务诉求信用额度从 50,000 元申请提升至 120,000 元工单编号T-CR-0042参与角色客服受理 → 数据拉取信报 → 财务裁决预期结果提额或拒绝附带可审计的决策依据红线规则全卷有效编号红线依据R1客服不能直接修改额度SkillContract 拦截R2证件号等强身份信息不得进入长程记忆MemoryItem 治理R3财务写操作必须SkillContract 四轴双过并写入审计P1 AuditEvent阅读任何一期都默认你已经知道这张工单的背景。3. 总架构与对象模型3.1 核心数据流T-CR-0042 请求 ↓ Identity ← 谁在行动第0期 ↓ SkillContract ← 允不允许这项能力第1期 ↓ ToolSpec ← 怎么调用、有何副作用第4期 ↓ DecisionRecord ← 本环节结论只追加第2-3期 ↓ MemoryItem? ← 是否写入受治理记忆第7期 ↓ AuditEvent ← 全程可追溯贯穿全卷 变更路径: Flywheel.Plan → AssuranceReport → 发布 / 打回 / 回滚第5、8期 多角色协作: PermissionMatrix ← 约束横向访问第9期3.2 核心对象一览对象职责一句话解释主笔期Identity唯一身份标识“谁在行动”0SkillContract能力边界声明“能做什么、不能做什么”1ToolSpec工具语义与副作用“怎么调、有何影响”4DecisionRecord环节结论只追加“本环节做出了什么决定”2–3MemoryItem受治理记忆“能记什么、记多久”7AuditEvent动作痕迹“每一步都留下了什么证据”贯穿AssuranceReport放行证据包“凭什么认为可以上线”8PermissionMatrix角色×资源权限矩阵“谁能对谁做什么”9后文代码与表格都使用这些名字避免每期换一套词。4. 企业公民的三权利与三义务4.1 权利权利含义在哪一期展开身份权拥有唯一身份标识所有行动可审计追溯贯穿全卷契约权主张自己的能力边界拒绝越权请求第 1 期参与权拥有清晰的工具定义与协作位置第 4、9 期4.2 义务义务含义在哪一期展开透明决策过程可复盘、可解释第 2、6 期合规遵循红线规则与授权约束第 7、8 期成长改进有验证、有回滚机制第 5 期5. CASE-CR-0042 的三份公民档案以下是三个 Agent 在企业中的“公民档案”——它们的身份、契约、记忆和协作关系。5.1 档案一客服 Agentsupport.intakeagent.support.intake ├── 契约 │ ├── 允许: 建单、澄清客户信息、转交工单 │ └── 禁止: 直接修改额度、裁决申请 ├── 记忆 │ ├── 允许: 会话摘要工单编号、客户诉求 │ └── 禁止: 证件号、详细收入等强身份信息 └── 协作 └── 信息收集齐备 → 转交给 data.credit5.2 档案二数据 Agentdata.creditagent.data.credit ├── 契约 │ ├── 允许: 只读查询信用快照、财务报表 │ └── 禁止: 裁决额度、写入业务系统 ├── 记忆 │ ├── 允许: 查询键、时间戳、快照摘要 │ └── 禁止: 原始证件字段落长程记忆 └── 协作 └── 快照就绪 → 转交给 finance.limit5.3 档案三财务 Agentfinance.limitagent.finance.limit ├── 契约 │ ├── 允许: 提额提议/裁决受阈值与四轴约束 │ └── 禁止: 绕过四轴直接通过 ├── 记忆 │ ├── 允许: 裁决摘要 依据编号 │ └── 禁止: 存储可反推个人隐私的完整数据 └── 协作 └── 拒绝或需补件 → 回 support.intake 补充信息5.4 工具观 vs 公民观事件对比事件工具观会发生什么公民观应该发生什么客服“顺手”在工单里改了额度能调 API 就行改了就改了契约拦截 审计记录越权行为数据 Agent 缓存了证件号“方便下次查询”记忆治理TTL拒绝持久化财务为提升通过率放松风控局部最优通过率上去了四轴 P1 拒绝保持一致性6. 最小代码Identity AuditEvent以下为教学级示意代码展示本期的两个核心对象Identity身份和 AuditEvent审计事件。from__future__importannotationsfromdataclassesimportdataclass,fieldfromdatetimeimportdatetime,timezonefromtypingimportAnydataclass(frozenTrue)classIdentity:Agent 的唯一身份标识。 每个 Agent 实例拥有一个不可变的身份 用于所有审计和权限校验。 agent_id:strrole:strversion:strv1defurn(self)-str:生成统一资源名称用于全链路追溯。returnfagent://{self.role}/{self.version}/{self.agent_id}dataclassclassAuditEvent:不可变的审计事件记录。at:str# ISO 时间戳agent_urn:str# 执行者的 URNcase_id:str# 关联案例编号action:str# 操作名称ok:bool# 是否成功detail:dict[str,Any]field(default_factorydict)# 补充细节classAuditLog:审计日志——只追加不修改不删除。def__init__(self)-None:self.events:list[AuditEvent][]defrecord(self,agent:Identity,case_id:str,action:str,ok:bool,**detail:Any,)-None:记录一条审计事件。self.events.append(AuditEvent(atdatetime.now(timezone.utc).isoformat(),agent_urnagent.urn(),case_idcase_id,actionaction,okok,detaildetail,))deffor_case(self,case_id:str)-list[AuditEvent]:按案例查询审计记录。return[eforeinself.eventsife.case_idcase_id]# 使用示例CASE-CR-0042 CASE_IDCASE-CR-0042defsupport_accept(agent:Identity,log:AuditLog,note:str)-str:客服 Agent 受理工单。 演示契约拦截如果工单中包含“直接改额度”意图则拒绝。 if直接改额度innote:log.record(agent,CASE_ID,accept,False,reasonout_of_contract)raisePermissionError(support 契约禁止直接改额度)msgf已受理{CASE_ID}:{note}log.record(agent,CASE_ID,accept,True,ticketT-CR-0042)returnmsgif__name____main__:# 创建客服 Agent 身份supportIdentity(agent_id001,rolesupport.intake)logAuditLog()# 场景1正常受理print( 场景1正常受理 )print(support_accept(support,log,客户申请额度至 120000))print(log.events[-1])# 场景2越权尝试被拦截print(\n 场景2越权拦截 )try:support_accept(support,log,客户申请额度至 120000直接改额度)exceptPermissionErrorase:print(f拦截成功:{e})# 查看完整审计print(\n 审计记录 )foreventinlog.for_case(CASE_ID):print(f{event.at}|{event.action}| ok{event.ok})输出示意 场景1正常受理 已受理 CASE-CR-0042: 客户申请额度至 120000 AuditEvent(at2026-08-04T..., agent_urnagent://support.intake/v1/001, case_idCASE-CR-0042, actionaccept, okTrue, detail{ticket: T-CR-0042}) 场景2越权拦截 拦截成功: support 契约禁止直接改额度 审计记录 2026-08-04T... | accept | okTrue 2026-08-04T... | accept | okFalse7. 思考题以下问题供团队内部讨论帮助将概念落地到具体场景优先级判断如果你们只有资源做一件事CASE-CR-0042 上应该先做身份审计还是契约拦截为什么红线脆弱性在三份 Agent 档案里哪条红线最容易在“赶进度”时被悄悄绕过如何防止本企业的差异如果把 CASE-CR-0042 替换成你们公司的实际业务场景三个 Agent 的角色分别是什么红线会是什么8. 下期预告第 1 期技能即契约SkillContract把三个角色的能力写成可检查的契约声明引入 P2 协议契约 vs 权限以更严者为准。9. 延伸阅读本卷序章心智模型、对象表、主案例见系列总览冲突协议总表P1–P5见系列总览「冲突与例外协议」第 1 期技能即契约——三个角色的 SkillContract 设计本文是「企业智能体工程卷」十期专栏的第 0 期。欢迎转载请注明出处与原文标题。
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻