Solo Unicorn Club logoSolo Unicorn
3,011

「人做主,AI做事」 — 我的 AI Agent 团队管理哲学

AI Agent人机协作Agent 架构管理哲学决策边界
「人做主,AI做事」 — 我的 AI Agent 团队管理哲学

"人做主,AI做事" — 我的 AI Agent 团队管理哲学

我运营着一个 8 人的 Agent 团队。不是 8 个人,是 8 个 AI Agent。它们帮我同时支撑三条业务线:ArkTop AI 的客户报告、JewelFlow 的用户运营、一人独角兽俱乐部的社群管理。

去年我花了 $6,400 在 LLM API 调用上,省下来的是大约 1,200 小时的执行型工作。但这个结果不是靠堆 Agent 数量得来的。中间走过一段弯路——让 Agent 做太多决策,结果客户收到了一封不该发的邮件,我花了一整个下午在道歉。

那次事故之后,我把自己的 Agent 管理方法论重新梳理了一遍,提炼成一句话:人做主,AI 做事。这篇文章把这个哲学拆开讲,包括背后的决策边界模型、实现方式、和踩过的坑。


为什么需要一套管理哲学

很多人搭 Agent 的思路是:把任务描述清楚,丢给 LLM,让它自己跑。简单任务没问题。但一旦 Agent 数量超过 3 个、涉及多个业务流程,问题就开始暴露:

问题一:Agent 之间的决策冲突。 我的内容 Agent 认为某个话题应该发,但排期 Agent 认为这周已经满了。谁说了算?没有明确的决策权归属,两个 Agent 会陷入死循环或者各自输出矛盾结果。

问题二:隐性决策溢出。 你让 Agent 写一封跟进邮件,它"顺便"决定了跟进的时间、语气、和是否附上报价单。你以为它只做了执行,其实它做了四个决策。

问题三:出错时无法溯源。 当系统出问题,你不知道是哪个 Agent 在哪一步做了错误判断。没有决策审计,debug 全靠猜。

这三个问题的本质是同一个:你没有定义清楚哪些事需要人类判断,哪些事可以交给 Agent 自主执行。


核心框架:三层决策边界模型

我把所有 Agent 可能涉及的操作分成三个层级:

第一层:Agent 完全自主(绿区)

这些操作的特征是:可逆、低风险、有明确标准

  • 数据格式转换
  • 内部文档整理和分类
  • 定期报告生成(基于已审核的模板)
  • 社群常见问题自动回复

绿区内,Agent 不需要请示,直接执行。错了也好修,成本低。

第二层:Agent 执行 + 人类审批(黄区)

这些操作的特征是:对外可见、涉及金额、或者影响客户体验

  • 发送客户邮件
  • 社群公告发布
  • 产品定价调整建议
  • 内容发布到社交媒体

黄区内,Agent 完成草稿或者准备好操作,但必须等人类确认才能执行。

第三层:纯人类决策(红区)

这些操作的特征是:不可逆、高利害关系、需要上下文判断

  • 合作伙伴关系谈判
  • 客户投诉升级处理
  • 业务战略方向调整
  • 任何涉及法律或合规的决定

红区内,Agent 的角色是提供信息和分析,但决策权完全在人类手上。

代码实现:决策边界检查器

from enum import Enum
from dataclasses import dataclass

class DecisionZone(Enum):
    GREEN = "autonomous"    # Agent 完全自主
    YELLOW = "supervised"   # Agent 执行,人类审批
    RED = "human_only"      # 纯人类决策

@dataclass
class Action:
    name: str
    zone: DecisionZone
    reversible: bool
    external_facing: bool
    financial_impact: float  # 涉及金额,单位美元

# 决策边界规则引擎
def classify_action(action_name: str, context: dict) -> DecisionZone:
    """根据操作特征自动分类决策层级"""
    rules = {
        "external_facing": DecisionZone.YELLOW,  # 对外可见 → 至少黄区
        "financial_impact_over_100": DecisionZone.YELLOW,
        "financial_impact_over_1000": DecisionZone.RED,
        "irreversible": DecisionZone.RED,
        "legal_compliance": DecisionZone.RED,
    }

    zone = DecisionZone.GREEN  # 默认绿区

    if context.get("external_facing"):
        zone = max(zone, DecisionZone.YELLOW, key=lambda z: z.value)
    if context.get("financial_impact", 0) > 100:
        zone = DecisionZone.YELLOW
    if context.get("financial_impact", 0) > 1000:
        zone = DecisionZone.RED
    if not context.get("reversible", True):
        zone = DecisionZone.RED

    return zone

# Agent 执行前的守门检查
class DecisionGate:
    def __init__(self, human_approver):
        self.human_approver = human_approver
        self.audit_log = []

    async def check(self, agent_id: str, action: Action) -> bool:
        """执行前检查:绿区直接过,黄区等审批,红区拒绝"""
        self.audit_log.append({
            "agent": agent_id,
            "action": action.name,
            "zone": action.zone.value,
            "timestamp": datetime.now().isoformat()
        })

        if action.zone == DecisionZone.GREEN:
            return True
        elif action.zone == DecisionZone.YELLOW:
            return await self.human_approver.request_approval(action)
        else:
            return False  # 红区操作 Agent 不允许执行

这段代码的核心思想:每个 Agent 操作在执行前必须过一道 gate,gate 根据操作的分类决定放行、等待审批、或者拒绝。 同时所有操作都写入 audit log,出问题可以回溯。


实战经验:这套系统是怎么长出来的

那封不该发的邮件

2025 年 6 月,我的客户跟进 Agent 发了一封邮件给一个正在谈合作的潜在客户,内容是标准的项目提案模板。问题是:这个客户前一天刚跟我说他们内部在重组,暂时搁置所有新项目。Agent 不知道这个上下文,按照自动化流程照常发了。

客户的反应是:"你们是不是没在听我说话?"

这封邮件本身没有错误,模板是对的,时间是预设的。错的是 Agent 做了一个它没有能力做的判断:现在是不是发这封邮件的合适时机。

从那以后,所有对外通信都从绿区移到了黄区。Agent 草拟完邮件,推送到我的审批队列,我用不超过 30 秒扫一眼确认。效率只降了一点点,但风险降了一个数量级。

审批疲劳的陷阱

把太多东西放进黄区也有问题。一开始我矫枉过正,几乎所有操作都要我审批。结果每天早上打开 Slack 有 40 多条审批请求,我开始机械地点"批准",根本没认真看内容。这跟没有审批是一样的。

后来我做了两个调整:

第一,收紧绿区的定义,但让绿区内的操作真正自由。 比如社群常见问题回复,我花了两天整理了 200 条标准答案,Agent 在这个范围内可以完全自主。

第二,黄区审批做分级。 高优先级(涉及客户或金额)推送 Slack 即时通知,低优先级(社群内容排期)每天汇总一次,我统一审批。批量处理比逐条处理快得多。

调整后,日均审批从 40 多条降到 8-10 条,每条花 15-30 秒,总共不超过 5 分钟。

决策权下放是渐进的

我刚开始搭 Agent 系统时,几乎所有操作都在红区。随着对每个 Agent 的能力边界越来越清楚,我逐步把操作往绿区迁移。

这个过程像带新人:你不会第一天就让新员工独立见客户。你先让他旁听,再让他在你监督下做,最后才放手。AI Agent 也一样,只是"带"的过程更快——通常两三周就能确定一个操作的安全边界。


人类监督的设计模式

模式一:异步审批队列

Agent 完成黄区任务后推入队列,人类在方便的时候集中处理。适合时效性要求不高的操作,比如内容排期、周报发送。

模式二:实时拦截

Agent 在执行前实时等待人类确认。适合时效性高且风险高的操作,比如客户紧急回复、支付操作。延迟在 5 分钟以内可以接受。

模式三:事后抽检

Agent 自主执行,但系统随机抽取一定比例(我设的是 10%)的操作推给人类复查。适合从黄区刚降级到绿区的操作——你对它有一定信心,但还想保持监控。

import random

class OversightPattern:
    """三种人类监督模式的实现"""

    def __init__(self, sample_rate: float = 0.1):
        self.approval_queue = []
        self.sample_rate = sample_rate

    async def async_approval(self, action, agent_output):
        """模式一:异步审批 — 推入队列等人类处理"""
        self.approval_queue.append({
            "action": action,
            "output": agent_output,
            "status": "pending"
        })
        # 不阻塞 Agent 继续其他绿区任务

    async def realtime_gate(self, action, agent_output):
        """模式二:实时拦截 — 等人类确认才放行"""
        approval = await self.notify_and_wait(action, agent_output)
        return approval  # True 放行,False 驳回

    async def post_hoc_sampling(self, action, agent_output):
        """模式三:事后抽检 — 先执行,随机抽查"""
        # 先执行
        result = await self.execute(action, agent_output)
        # 按比例抽检
        if random.random() < self.sample_rate:
            await self.flag_for_review(action, agent_output, result)
        return result

对比:常见 Agent 管理方式的优劣

管理方式 适合场景 风险 效率
完全自主(无监督) 内部低风险任务 高:出错无兜底 最高
每步审批 高利害关系的初期项目 最低(审批疲劳)
三层决策边界 多 Agent 长期运行的业务系统 中低:风险分级控制 高:只审关键操作
结果审计(事后) 大量标准化输出 中:发现问题有延迟

我的建议是:起步用"每步审批",运行两周后切换到"三层决策边界",对成熟的操作逐步引入"事后抽检"。


这个哲学的边界在哪

"人做主,AI 做事" 不是适合所有场景的。

它适合: 个人或小团队运营多条业务线、Agent 数量在 3-15 个之间、操作类型多样的场景。这是大多数 Solopreneur 和小型咨询公司的情况。

它不适合: 需要毫秒级响应的实时系统(交易算法、自动驾驶),因为人类审批会引入不可接受的延迟。也不适合纯研究探索场景——如果你就是想让 Agent 自由探索看看会发生什么,加太多边界会限制它的创造力。


三条核心 Takeaway

第一,定义清楚哪些是决策、哪些是执行。 大多数人搭 Agent 时不做这个区分,结果 Agent 在"执行"的过程中偷偷做了很多决策。每个操作上线前,花 5 分钟想清楚它属于绿区、黄区、还是红区。

第二,监督的成本必须低于不监督的风险。 如果审批流程让你每天花 2 小时,那监督系统本身就是问题。好的监督是轻量的、分级的、可批量处理的。

第三,决策权下放是挣来的,不是给的。 新 Agent、新操作,一律从严开始。跑顺了再放权。信任需要数据支持,不是直觉。

你的 Agent 系统有没有遇到过"它自己做了一个你没想到的决策"的情况?那个时候你是怎么处理的?