行为注释:为什么 readonly 和 destructive 指导 LLM 规划

发布: (2026年5月4日 GMT+8 09:07)
6 分钟阅读
原文: Dev.to

Source: Dev.to

介绍

在我们之前的文章中,我们讨论了 Schema 如何充当 apcore 生态系统的“邮递员”——确保数据以正确的格式交付。但仅仅知道如何投递信息对于自主代理来说还不够。代理还需要理解投递的影响。

想象一个被指派**“修复数据不一致”**的代理。它发现了两个模块:common.user.syncexecutor.user.reset。如果没有行为上下文,代理可能会选择看起来更“彻底”的 reset 模块,却没有意识到这会删除整个用户档案。

这就是 行为注解 成为 apcore 协议核心技术支柱的原因。在这篇第十三篇文章中,我们将探讨这些简单的布尔标记如何充当 AI 规划器的“认知止停标志”。

Behavioral Annotations Overview

  • Schemas 处理 语法(例如,“Is it a string? Is it required?”)。
  • Annotations 处理 语义(例如,“Is it safe? Is it permanent?”)。

通过提供这一语义层,我们从 “Code‑Calling” 转向 “Skill‑Perceiving”。AI 代理不再把你的模块视为黑盒;它能够感知它们的个性。

标准化注解

The apcore protocol defines a set of standardized annotations grouped into Safety(安全)、Execution(执行)and Governance(治理):

AnnotationMeaning
readonly无副作用。适用于发现和无限重试。
destructive数据将被永久修改或删除。
idempotent相同输入的多次调用产生的效果与一次相同。
pure输出仅依赖于输入;不依赖外部状态。
streaming模块返回事件/块的流,而不是单个块。
cacheable结果可以被存储以供将来使用。
cache_ttl结果保持有效的时长(秒)。
paginated结果是系列的一部分;需要光标/令牌继续。
requires_approval暂停执行,等待人工“是”(HITL)。
open_world与非确定性外部系统交互(例如 Web、电子邮件)。
internal对标准发现隐藏;用于系统间调用。
extra用于特定表面或自定义行为提示的通用映射。

大型语言模型如何使用这些标记(规划阶段)

当一个高级代理(例如 Claude 3.5 或 GPT‑4o)收到工具列表时,它会构建一个 Plan of Action(行动计划)。

  • 如果某个模块被标记为 destructive: true,模型内部的安全对齐通常会触发 caution(警示)状态。
  • 代理可能会先检查 “dry‑run” 标记,或者向用户请求确认:

“我已经找到了解决办法,但它需要一次破坏性的数据库操作。您想让我继续吗?”

如果没有这些注释,代理就会 blind(盲目)——先执行计划,然后才发现后果,往往已经为时已晚。

使用 apexe 自动注释

自动注释的强大功能是 apexe 的亮点——这是一款用于包装现有 CLI 的工具。当你运行:

apexe scan git

该工具不仅会提取参数,还会通过模式匹配对命令进行分类:

  • git statusgit logreadonly: true
  • git push --forcegit reset --harddestructive: true

只需扫描帮助文本,apexe 就会创建一个 安全工作区,让 AI 代理能够在不意外破坏生产分支的情况下浏览你的代码库。

结论与下一步

Engineering for AI means engineering for Cognitive Safety.
通过使用 apcore 行为注解,你可以将原始函数转化为“专业技能”,为 AI 提供负责任规划所需的智慧,减少令牌浪费,防止代理灾难。

Next, we’ll dive into the AI’s Short‑Term Memory: the Context Object and how it manages traces and state across complex module chains.
接下来,我们将深入探讨 AI 的 短期记忆:上下文对象以及它如何在复杂模块链中管理痕迹和状态。

This is Article #13 of the apcore: Building the AI‑Perceivable World series. Safety is a protocol‑level primitive.
这篇文章是 apcore:构建 AI 可感知世界 系列的第 13 篇。安全是协议层面的原语。

GitHub:

0 浏览
Back to Blog

相关文章

阅读更多 »

让客户交接轻松的文件夹结构

每家机构都有这样一个版本的故事:团队成员离职、客户升级,或者你在替病假的同事顶班——于是你花了20分钟去搜索……

2026年 ATS 筛选软件实际检查的内容

概述:大多数你在网上找到的“ATS‑friendly CV”建议都可以追溯到2017年。2026年的现代 applicant tracking systems(ATS)远不止简单的关键词匹配……