首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【AI时代软件项目管理系列】6.AI 参与软件项目,边界和责任怎么定?从“能做”到“可控执行”

【AI时代软件项目管理系列】6.AI 参与软件项目,边界和责任怎么定?从“能做”到“可控执行”

原创
作者头像
夫子
发布2026-09-01 08:32:55
发布2026-09-01 08:32:55
620
举报

​上一篇讨论了项目启动阶段如何给 AI 分任务:重复、标准化工作可以让 AI 多做,可生成、可验证的工作可以采用“AI 生成 + 人确认”,复杂判断仍由人主导,责任决策则继续由人承担。

但当任务真的交给 AI,特别是从普通聊天工具进一步发展到能够访问代码、调用工具和执行操作的 Agent 后,一个更现实的问题随之出现:AI 可以参与,但到底可以参与到哪一步?

例如 Dev Agent 可以读取整个代码仓库吗?能不能直接修改主分支?可以连接测试数据库吗?发现一个权限问题以后,能不能自己修改数据库?PM Agent 可以自动创建项目任务,那么能不能直接调整里程碑?AI 生成的代码通过测试以后,能不能自动发布?这些问题已经不是“模型能力”问题,而是项目治理问题

对于正式的软件项目来说,成熟的人机协作并不是简单地给 Agent 更多权限,而是让每一种 AI 能力都运行在明确的边界内:能看什么、能做什么、做到哪一步、谁来确认、出了问题谁负责。


一、AI 的能力越强,越不能只靠“大家注意安全”

AI 作为个人助手时,风险相对有限。例如用 AI 整理会议纪要、解释一段代码或者润色文档,主要风险集中在输入信息和输出质量上。但当 AI 进一步获得工具调用能力后,情况就不同了。一个 Dev Agent 可能具备:读取代码+搜索项目知识库+修改文件+执行构建+运行测试+调用 Git+操作 Issue+调用业务 API。如果再进一步连接数据库、部署平台或生产环境,它就不只是“生成建议”,而是在对真实项目产生状态变化。因此,可以把 AI 的参与大致区分为两类:1.生成型 AI➜产生建议 / 文档 / 代码➜结果不自动生效2.执行型 Agent➜调用工具 / 修改数据 / 改变系统状态➜可能直接影响项目。两者需要的管理机制完全不同。普通 AI 最重要的是输入和输出边界,Agent 还必须增加工具、权限和执行边界。所以,项目启动阶段不能只形成一句:“允许团队使用 AI。”而应该进一步明确:允许哪一种 AI,在什么范围内,以什么权限参与哪些任务。


二、第一条边界:AI 能“看到”什么

AI 要完成任务,需要上下文。但上下文越完整,并不意味着所有项目资料都应该无条件交给模型。一个软件项目可能同时存在:

  • 需求规格说明书;
  • 架构设计;
  • 源代码;
  • 数据库结构;
  • 测试数据;
  • 客户业务资料;
  • 项目合同;
  • 生产日志;
  • 用户个人信息;
  • Access Key、Token、密码等敏感凭证。

因此,第一个需要明确的是数据与上下文边界。可以按照项目资料的敏感程度进行简单分级:

资料类型

AI 使用策略

公开技术资料

可直接使用

通用项目模板

可直接使用

项目需求、设计

授权 AI 使用

内部源代码

限定企业批准工具

测试数据

脱敏后使用

客户业务数据

严格授权

生产日志

脱敏、过滤后使用

用户隐私信息

默认限制

密钥、密码、Token

禁止进入模型上下文

涉密资料

按安全要求限制或禁止

这里真正需要控制的不是“AI 有没有读取能力”,而是:当前任务是否真的需要这些信息。例如,一个 Doc Agent 生成用户手册,只需要产品功能、页面说明和操作流程,并没有必要访问数据库。一个 Test Agent 生成接口测试,需要接口定义和测试数据,却不应该因此自动获得生产数据库权限。因此,AI 的上下文最好遵循一个很重要的原则:按任务提供最小必要上下文,而不是为了让 AI 更聪明,把整个项目都交给它。

这四层可以贯穿整个项目:数据决定 AI 能看到哪里,工具决定能触达到哪里,权限决定能执行到哪里,审核决定结果能不能正式生效。


三、第二条边界:Agent 能调用哪些工具

Agent 与普通 AI 最大的区别之一,是它能够使用工具。工具本身没有问题,真正的风险在于:一个 Agent 获得了多少工具,以及这些工具拥有什么权限。例如一个 Dev Agent 可能连接:Git Repository、Issue 系统、代码搜索、构建工具、测试工具、数据库、CI/CD、服务器 Shell。如果全部开放,Agent 理论上就可能完成:修改代码➜提交代码➜修改数据库➜触发构建➜部署应用。这虽然接近“自动开发”,但也意味着单个 Agent 拥有了一条完整的高风险执行链。更合理的做法是按照角色配置工具。例如:

Agent

建议开放

不应默认开放

BA Agent

需求库、知识库、项目文档

代码提交、数据库修改

Architect Agent

代码只读、设计库、技术资料

生产环境

Dev Agent

开发分支、构建、测试

生产数据库

Test Agent

测试环境、测试数据、Issue

生产部署

PM Agent

项目任务、进度、风险数据

代码库写权限

Doc Agent

产品文档、交付资料

数据库和生产系统

这里的核心仍然是:Agent 应该获得完成当前职责所需的工具,而不是获得项目里所有可用工具。这和传统 RBAC 权限设计其实非常类似。只是过去授权对象主要是:

代码语言:javascript
复制
用户
→ 角色
→ 权限

AI Agent 加入以后需要扩展为:

代码语言:javascript
复制
人
+
Agent
      ↓
角色
      ↓
工具权限
      ↓
资源范围
      ↓
允许操作

四、第三条边界:能调用工具,不代表可以直接执行

工具权限还需要继续细分。因为“读取 Git 仓库”和“向主分支提交代码”,风险完全不同;“查询数据库”和“执行 DELETE”,也不能使用相同权限。因此,对 Agent 最实用的控制方式,是按照操作风险继续划分执行等级。可以设计成四级:

等级

Agent 能力

典型操作

E1:只读

获取和分析信息

查文档、查代码、查日志

E2:生成

产生候选结果

生成代码、SQL、方案

E3:受控修改

可以修改,但需要确认

修改代码、创建任务

E4:自主执行

可以直接改变系统状态

自动提交、执行、部署

很多团队真正应该大量使用的,其实是 E1~E3,而不是一开始就追求 E4。例如 Dev Agent:

代码语言:javascript
复制
读取代码             E1
      ↓
生成修改方案          E2
      ↓
修改工作分支          E3
      ↓
自动运行测试          E3
      ↓
创建 Pull Request     E3
      ↓
人工 Review
      ↓
合并主分支            人负责

这样已经能够节省大量开发工作,但仍然把关键状态变化控制在人手里。所以需要区分:Agent 可以执行任务Agent 可以自主决定任务结果生效这是完全不同的两件事。


五、真正关键的是“不可逆操作”

AI 边界设计不需要把每一个工具调用都审批,否则 Agent 很快退化成一个操作极其繁琐的助手。真正值得设置人工门禁的,是高影响或不可逆操作。例如:

  • 删除数据;
  • 修改生产数据库;
  • 合并主分支;
  • 发布生产版本;
  • 修改权限模型;
  • 调整项目范围;
  • 修改项目里程碑;
  • 给客户发送正式结论;
  • 批量通知用户;
  • 执行资金或合同相关操作。

可以采用一个很简单的判断:

代码语言:javascript
复制
低影响 + 可回退
       ↓
允许 Agent 自动执行


高影响 / 难回退
       ↓
必须人工确认

这样项目治理不会因为 AI 而变得过于繁琐,又能守住真正重要的控制点。


六、第四条边界:AI 生成物什么时候才算“项目成果”

这是软件项目中非常容易混淆的一点。AI 生成了一份需求文档,并不代表需求已经确定;Dev Agent 写完代码,并不代表开发完成;Test Agent 执行完测试,也不代表质量已经达到标准;PM Agent 给出“项目风险较低”,更不代表项目经理可以取消风险跟踪。应该建立非常明确的关系:AI Output➜候选成果➜验证 / Review➜人工确认➜正式项目成果➜进入项目基线。也就是说:AI 产出默认是候选结果,而不是项目基线。只有经过项目规定的审核、测试或审批以后,才能成为正式成果。这一点尤其重要,因为 Agent 越自动化,产生内容的速度越快。如果缺少基线机制,项目很容易同时存在大量:

  • AI 初稿;
  • 人工修改稿;
  • Agent 新版本;
  • 测试版本;
  • 未确认方案。

最终反而不知道哪一个才是正式版本。AI 生成内容必须进入统一项目基线,本身也是人机混合项目保持整体一致性的关键。


七、责任机制不能只写一句“人工负责”

明确“最终责任由人承担”只是第一步。系列本身也明确要求 AI 可以建议、生成和辅助,但最终责任必须由人承担。真正落到项目中,还需要继续回答:到底由哪个人负责?例如:

这种设计有两个价值。第一,避免出现:“这段代码是 AI 写的,所以没人负责”;第二,也避免另一种极端:“所有 AI 结果都由项目经理负责”。项目经理负责整个项目治理,并不意味着他需要承担每个专业成果的技术责任。更合理的是:AI 的专业输出,仍然回到对应的人工专业责任链。已有角色设计中也采用了相同结构:PM Agent 对应项目经理、BA Agent 对应业务分析师、Architect Agent 对应架构师、Dev Agent 对应开发负责人、Test Agent 对应测试负责人。


八、可以借用 RACI,但增加一个 AI 角色

传统项目常用 RACI:

  • R:Responsible,执行;
  • A:Accountable,最终负责;
  • C:Consulted,协商;
  • I:Informed,知会。

AI 加入以后,可以增加一个角色:X:AI / Agent Execution。于是一个任务可能变成:

任务

AI/Agent

R 执行人

A 责任人

审核门禁

用户故事初稿

BA Agent

BA

产品负责人

需求评审

API 代码

Dev Agent

开发

开发负责人

PR Review

单元测试

Test Agent

开发

开发负责人

CI

架构分析

Architect Agent

架构师

技术负责人

架构评审

项目周报

PM Agent

PM

项目经理

PM 确认

上线部署

Ops Agent 辅助

运维

发布负责人

上线审批

这里要强调:AI 可以成为执行角色,但不进入最终责任角色 A。这比单纯写“人工最终负责”更加容易落地。

AI 参与项目的责任闭环

这个闭环的重点不是“每一步都人工审批”,而是让AI 执行、自动验证、人工责任和项目基线形成完整链路


九、以“离职成员文件交接”为例,看看边界如何落地

以企业云文档系统中的“离职成员文件交接”为例。需求看起来并不复杂:员工离职后,将其拥有的企业文件交接给指定成员,并取消原账号访问权限。如果让 Agent 自动开发,它首先可能需要:

  • 阅读组织架构代码;
  • 阅读用户与部门模型;
  • 查询文件 Owner 关系;
  • 查看权限继承逻辑;
  • 修改交接服务;
  • 生成迁移 SQL;
  • 编写测试;
  • 执行测试数据迁移。

如果只告诉 Agent:“完成离职文件交接功能。”权限很容易过大。更合理的边界可以设计成下面这样。

数据边界

Agent 可以读取:用户模型、组织关系、文件权限设计、相关代码、脱敏测试数据。但不能读取:真实客户文件内容、生产成员个人信息、密钥和数据库密码。

工具边界

Dev Agent 可以:读取代码仓库、修改开发分支、执行 Maven / Gradle、运行测试、读取测试数据库。不能:连接生产数据库、直接修改正式环境、执行生产部署

执行边界

Agent 可以自动:修改代码、生成迁移脚本、生成单元测试、执行测试、创建 Pull Request。但:数据库迁移脚本不能因为测试通过就自动进入生产。

输出边界

最终流程应该是:Dev Agent➜代码 + SQL➜自动测试➜开发 Review➜权限场景测试➜数据库变更审核➜人工批准➜发布。

这里 AI 已经承担了大量开发工作,但真正高风险的节点仍然被保留下来。这就是“AI 参与”与“AI 失控”之间最重要的区别。


十、项目启动阶段最好形成一张 AI 权限与责任矩阵

这篇文章最终可以落到一个项目经理能够直接使用的模板。

Agent

数据范围

工具

允许操作

禁止操作

人工责任人

BA Agent

需求、业务资料

知识库

分析、生成

修改正式需求

BA

Architect Agent

设计、代码只读

Repo、知识库

分析、方案

修改生产配置

架构师

Dev Agent

代码、测试数据

Repo、Build、Test

修改分支、测试

生产部署

开发负责人

Test Agent

需求、测试环境

Test、Issue

执行测试

修改生产数据

测试负责人

PM Agent

计划、任务、风险

PM 系统

汇总、建议

自动改变范围

项目经理

Ops Agent

部署资料、监控

CI/CD、监控

检查、建议

未授权生产操作

运维负责人

这张表真正解决了六个问题:谁➜可以看什么➜可以调用什么➜可以执行什么➜什么不能做➜最终谁负责。只要这六件事情清楚,很多所谓“AI 治理”问题其实就已经有了基础。


十一、边界不是越严越好,而应该与风险匹配

AI 治理很容易走向两个极端。一个极端是:Agent 什么都可以做,结果是风险不可控。另一个极端是:Agent 每做一步都必须人工确认,结果是自动化价值几乎消失。更合理的方式应该是:

代码语言:javascript
复制
             Agent 执行策略
                    │
          ┌─────────┴─────────┐
          │                   │
     低风险任务            高风险任务
          │                   │
       可验证               难验证
          │                   │
       可回退               不可逆
          │                   │
          ▼                   ▼
   提高自主执行程度       收紧执行权限
          │                   │
 自动执行 / 自动验证     人工确认 / 审批门禁
 自动提交候选结果         审计留痕 / 人工负责

风险越低、验证越容易、回退能力越强,Agent 可以获得越高的自主权;风险越高、结果越难验证、操作越不可逆,越需要收紧权限并增加人工门禁。

所以 AI 边界本质上不是限制 AI,而是在设计一条:自动化效率与项目风险之间的平衡线。Agent 的执行能力越强,这条线越重要。


十二、结语:真正成熟的 AI 项目,不是 Agent 权限最大,而是边界最清楚

从前面的几篇文章可以看到,项目启动阶段正在多出一套过去没有的管理动作。先判断项目是否具备 AI 可行性,再确定哪些任务交给 AI;任务确定以后,还要继续明确 AI 的数据、工具、执行和输出边界,并把每一项 AI 工作重新接回人工责任链。因此,一个真正可控的 AI 项目应该形成这样的逻辑:任务➜AI / Agent➜最小必要数据➜最小必要工具➜受控执行权限➜自动验证➜人工责任人➜项目基线。项目经理不需要审核 Agent 的每一次思考,也不应该管理每一次模型调用。真正应该管理的是那些会影响项目结果的关键边界:AI 能看到哪里、能操作到哪里、什么结果可以正式生效,以及最终谁承担责任。所以,AI 项目治理的目标并不是:让 Agent 什么都不能做。也不是:让 Agent 什么都可以做。而是:让 AI 在明确边界内尽可能高效地执行,同时让关键决策、质量和最终责任始终有人承担。AI Agent 可以承担越来越多执行工作,但它本身不是项目责任主体;最终确认、审核和交付责任仍然必须落到人。


上一篇回顾:

【AI时代软件项目管理系列】5. 项目启动阶段如何给 AI 分任务?从任务清单到 L0~L5 参与度设计-腾讯云开发者社区-腾讯云

下一篇:AI 工具选型为什么也应该纳入项目启动范围?

当任务、人机分工、权限边界和责任机制都基本明确以后,下一个问题自然变成:到底应该用什么 AI?通用大模型、AI 编程工具、RAG 知识库、Agent 平台和私有化模型解决的并不是同一种问题;即使模型能力相近,在数据策略、企业权限、审计能力、工具集成、成本和部署方式上也可能完全不同。

因此,下一篇将从项目管理而不是单纯“模型排行榜”的角度讨论:AI 工具选型如何进入项目启动流程,以及企业项目应该如何从能力、成本、安全、部署、稳定性和可替换性等方面进行评估。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、AI 的能力越强,越不能只靠“大家注意安全”
  • 二、第一条边界:AI 能“看到”什么
  • 三、第二条边界:Agent 能调用哪些工具
  • 四、第三条边界:能调用工具,不代表可以直接执行
  • 五、真正关键的是“不可逆操作”
  • 六、第四条边界:AI 生成物什么时候才算“项目成果”
  • 七、责任机制不能只写一句“人工负责”
  • 八、可以借用 RACI,但增加一个 AI 角色
  • 九、以“离职成员文件交接”为例,看看边界如何落地
    • 数据边界
    • 工具边界
    • 执行边界
    • 输出边界
  • 十、项目启动阶段最好形成一张 AI 权限与责任矩阵
  • 十一、边界不是越严越好,而应该与风险匹配
  • 十二、结语:真正成熟的 AI 项目,不是 Agent 权限最大,而是边界最清楚
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档