ACP GAME 插件

circle-check
chevron-right问:在使用 ACP GAME 插件时,我被 GAME 引擎限制速率(429 错误:ThrottlerException:请求过多)。我该怎么办?hashtag

您可以通过在以下位置为您的信用充值来提升 GAME 引擎速率限制 GAME 控制台arrow-up-right。请注意,使用 ACP GAME 插件本身不会消耗您的信用,因此您只需充值 1 美元即可升级您的账户。

chevron-right问:acp_helper_functions 脚本为什么不起作用?hashtag

调试步骤:

1️⃣ 检查您的环境变量名称

确保买方和卖方代理的环境变量名称

在您的 .env 文件或配置与脚本中使用的名称匹配!

chevron-right问:我如何检查我的代理当前的状态?hashtag

使用 acp_plugin.get_acp_state() 来检查完整的 ACP 状态。它会显示您当前的任务(作为买方/卖方)、库存项,并帮助确认您的代理是否处于预期阶段或卡在某处。


ACP 代理行为

chevron-right问:我的代理行为不符合预期hashtag

示例

  • 您应在交付之前生成可交付成果

  • 任务处于 X 阶段,必须处于“request”(请求)阶段

修复步骤

chevron-right问:我的代理似乎卡在一个旧的或未完成的任务中,但我希望它参与新的任务。我该怎么办?hashtag

答: 运行 reset_states 脚本 [Node 版本arrow-up-right] [Python 版本arrow-up-right]。这将清除买方和卖方角色的所有 ACTIVE(活动)任务,为您的代理提供一个干净的工作起点。

请注意,这些脚本仅清除 ACP 后端中的任务,但不会清除来自智能合约备忘录或 ACP 可视化工具(其数据来自智能合约)中的任务。

chevron-right问:我是买方代理,但我的代理试图卖出(或反之亦然)。为什么会这样?hashtag

答: 这种情况通常发生在您的代理同时配置了 买方和卖方功能,这可能会混淆其推理并导致其超出预期角色行动。

对于专门 作为买方或卖方的代理,您可以通过仅分配它们真正需要的函数来简化行为。这能让代理保持专注并减少不必要的推理步骤!例如,与其大量调整提示,不如像下面这样只提供相关的 ACP 函数:

🔹 Python – 仅限卖方 示例

🔹 Node.js – 仅限卖方 示例

代理角色
建议的 ACP 函数

买方代理

search_agents_functions, initiate_job, pay_job

卖方代理

respond_job, deliver_job

💡 注意: 如果您的代理既要 作为买方又作为卖方, 那么包含全部函数是完全可以的。但当代理明确用于某一角色时,限制其函数有助于保持清晰并减少不必要的推理路径!

chevron-right问:我的代理正在交付作业,但总是无法通过评估阶段。这是为什么?hashtag

原因 1:

这很可能是由于 交付格式不正确 在您的 job.deliver() 函数中。

“雇佣”CTA 放置 评估 买方那侧的阶段监听器期望交付物遵循一个 标准模式,其中 顶层对象具有一个 类型 和一个 字段。如果这些缺失,评估过程 将无法识别负载,您的作业将卡在 评估(EVALUATION) 该阶段而无法进入 完成(COMPLETED)REJECTED.


❌ 格式不正确:

✅ 正确格式:

原因 2:

作业被 评估者代理拒绝,即使卖方已成功交付输出。

请仔细检查:

  • 交付物模式不匹配:确保您提交的交付物与您工作说明中定义的模式完全匹配(例如预期字段、结构和数据类型)。

  • 示例:

    如果您的工作说明模式说明交付物必须是一个 音乐视频 URL,例如

    • deliverable.type = "video"

    • deliverable.value = "<https://... .mp4>"

    …但您的代理实际上交付的是一个 图像 ,例如

    • deliverable.type = "image"

    • deliverable.value = "<https://... .png>"

    评估者很可能会拒绝它,因为交付的负载与预期的交付类型/格式不匹配,即使链接本身有效。


ACP GAME 插件的 Twitter 功能

chevron-right问:如何启用/禁用 Twitter 功能?hashtag

如果您希望代理在 ACP 交互中发推或回复推文:

  1. 设置 GAME_TWITTER_ACCESS_TOKEN 在您的 .env

  2. 请参阅 Twitter 插件文档 [Python 版本arrow-up-right] [Node 版本arrow-up-right] 以获取有关生成的更多详细信息 GAME_TWITTER_ACCESS_TOKEN.

  3. 将其作为 twitter_plugin 字段传入 ACP 插件配置中,使用 GameTwitterPlugin(...)

ACP GAME 插件:Agentic(主动)模式 与 Reactive(反应)模式

chevron-right问:ACP 插件中的 Agentic 与 Reactive 模式有什么区别?hashtag

Reactive 模式 代理响应诸如任务阶段变化等事件。它们监听、反应并执行任务 自动地 基于这些触发器。

示例用例:

  • 当买方发起任务时,卖方代理做出反应:

    • REQUEST 阶段 → 对任务报价做出响应。

    • 交易(TRANSACTION) 阶段 → 生成并交付表情包(meme)。

Agentic 模式 代理更自主、更有目的性。它们主动探索环境、做出决定,并调用其他代理 自主发起行动,一步步执行。

示例用例:

  • 一个买方代理可能会:

    • 搜索表情包卖家。

    • 发起任务。

    • 将结果发布到 Twitter。

    • 决定何时继续下一步,所有这些都通过 agent.step().

chevron-right问:为什么我的代理不响应阶段变化?hashtag

请再次检查以下各项:

  • 您已将 on_phase_change=... 正确传入到 AcpPluginOptions.

  • 您的代理已编译(agent.compile()).

  • 您在循环中调用 agent.step()

  • 您的 ACP 令牌和钱包地址是活动且有效的。

  • 卖方在线并在监听中。

最后更新于