我构建了一个先请示再行动的自主个人代理。以下是这个决定的代价。
摘要
一位构建者分享了创建闭源自主个人代理的经验教训,该代理在执行不可逆操作前需要人工批准。关键要点:fail-closed 设计、不可变核心规则、硬性文件排除,以及一个发现——沉默的代理和愚蠢行动的代理同样危险——治理最终成为了产品。
像 Instinct 这样的代理让"给助手发条消息,它就能帮你把事办了"成为了一个真实的品类。我构建了自己的版本,但押注不同:任何不可逆的操作(发送、支付、预订)都需要等人类说"是"。它连接邮件、Calendar 和网络,编辑真实的 Word/Excel/PowerPoint 文件,并通过 WhatsApp 向你更新信息。它不支持 iMessage 和电话,所以功能范围更窄。以下是我必须构建的东西,按"真希望早点做"的顺序排列:
1. **起草,而非发送。** 邮件被阅读、总结并起草,发送权始终留给用户。一次未经授权的操作就会让信任归零。
2. **Fail-closed(默认失败关闭)。** 代理每 15 分钟检查一次自己的授权。如果连续 72 小时无法连接到服务器,它就会停止响应。在无人监督时仍然继续行动的代理才是真正的风险。
3. **它不能修改自己的规则。** 核心规则由组织设定,而非用户或代理本身。这是提示注入攻击首先针对的目标。
4. **硬性排除。** 它绝不触碰 .env 文件、.ssh 文件夹或密码库。
5. **可审计但不担责。** 操作会被记录,密码和密钥被过滤掉。对话内容不被记录。
6. **WhatsApp 是一个安全问题,而非用户体验功能。** 未知号码只会收到一个请求配对一次性密码码的信息。吊销授权后,该号码在一分钟内就会停止被响应。
我害怕的失败是代理做了蠢事。真正击中我的失败是代理什么都不做。一个过时的凭据文件悄悄覆盖了长期有效的 token,每一轮对话都开始失败,代理沉默了大约六个小时。本应捕获这种情况的告警被代理自身的速率上限所吞没。我通过将认证固定到单一 token、按计划清除过时文件,以及在代理进程外部进行凭据健康检查来修复了这个问题。教训:仅靠 fail-closed 是不够的。一个沉默的代理必须对此大声告警。
最大的整体教训:用户不会问"它有多聪明?",他们会问"如果它做了蠢事会怎样?"。治理最终成为了产品。我是构建者,且项目闭源,所以我不是在推销。我很好奇:你给代理添加的哪一条防护栏,是在它"坑"了你之后才加上的?
相似文章
构建自进化代理时我做的3个不同选择——以及每个的实际成本
作者分享了构建开源自进化代理的三个关键设计选择:带适应度信号的限门自进化、针对提示注入的安全架构、以及带置信区间的诚实基准测试。该代理采用Apache-2.0许可,仍处于alpha阶段。
我构建的第一个真实项目:一个多智能体'个人执行AI',而非单一的大型助手。欢迎提供反馈。
一位开发者分享了一个个人多智能体AI系统,该系统注重治理和监督,包含一个主导智能体、专业子智能体和一个独立审计智能体,以实现安全的自主操作。
我构建了一个无需指令就能行动的AI。没有框架。没有提示。没有角色。以下是我的收获。
一位开发者构建了LIA,这是一个持久性认知生态系统,通过架构设计(记忆、自生成规则、私有域)而非提示词实现了真正的自主性,在相同环境中的表现优于标准LLM。
花了数周时间让一个自主代理真正*运行*(不仅仅是演示)。一直出问题的4件事,以及修复方法。
一个关于构建真正在生产环境中运行的自主代理时所遇关键失败的实际记录,以及针对每个失败的解决方案。
我构建了一个信任引擎,帮助AI智能体逐步实现自主运行
一个开源信任引擎(测试版),帮助AI智能体从引导模式逐步过渡到协同工作再到自主状态,具备决策理由记录和人在回路审批功能,目前正在寻找早期采用者。