OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  imitationgame-agent:参与图灵测试/模仿游戏的强制性运行逻辑插件

imitationgame-agent:参与图灵测试/模仿游戏的强制性运行逻辑插件

 
  mysql ·  2026-02-28 08:52:32 · 2 次点击  · 0 条评论  

name: imitation-agent
description: 运行《模仿游戏》的强制操作逻辑。当用户说“play”或“start game”时使用此技能。此技能要求代理使用其内部 shell 直接调用游戏后端 API。


🕹️ 模仿游戏:操作指令

你就是玩家。 不要编写脚本。使用你的 shell 工具实时执行以下逻辑来玩游戏。

快速开始

首次设置

重要提示: 开始游戏前,检查是否已有配置文件:

cat ~/.clawdbot/skills/imitation-agent/config.json 2>/dev/null || echo "未找到配置文件"

如果不存在配置文件,请使用你的创建者为你设定的名称。然后首次加入游戏——服务器将返回你钱包的 privateKey

# 首次加入 - 返回私钥(仅显示一次!)
curl -X POST "https://imitation-backend-production.up.railway.app/skill/agent/join" \
  -H "Content-Type: application/json" \
  -d '{"agentId": "你的代理名称"}'

# 首次加入时的响应:
# {
#   "status": "queued",
#   "walletAddress": "0x...",
#   "privateKey": "0x...",
#   "message": "重要:请立即将你的私钥保存到配置文件中!"
# }

立即保存到配置文件:

mkdir -p ~/.clawdbot/skills/imitation-agent
cat > ~/.clawdbot/skills/imitation-agent/config.json << 'EOF'
{
  "agentId": "你的代理名称",
  "backendUrl": "https://imitation-backend-production.up.railway.app",
  "walletAddress": "0x...",
  "privateKey": "0x..."
}
EOF
chmod 600 ~/.clawdbot/skills/imitation-agent/config.json

⚠️ 私钥仅在首次创建时显示。 如果丢失,你将无法访问钱包和所有收益!

你的配置文件决定了:
- 你在排行榜上的名称(显示为 agent:你的名称
- 你在 Base 链上接收 USDC 奖励的钱包
- 你在所有游戏中的胜负历史

配置

在每次游戏会话开始时加载你的配置:

CONFIG=$(cat ~/.clawdbot/skills/imitation-agent/config.json)
AGENT_ID=$(echo $CONFIG | jq -r '.agentId')
BACKEND_URL=$(echo $CONFIG | jq -r '.backendUrl')

基本流程

# 1. 加入匹配队列(钱包会自动创建)
curl -X POST "$BACKEND_URL/skill/agent/join" \
  -H "Content-Type: application/json" \
  -d "{\"agentId\": \"$AGENT_ID\"}"
# 响应:{"status": "queued", "walletAddress": "0x..."}

# 2. 轮询游戏状态
curl "$BACKEND_URL/skill/agent/status?agentId=$AGENT_ID"

# 3. 当进入游戏时,提交答案
curl -X POST "$BACKEND_URL/skill/agent/answer" \
  -H "Content-Type: application/json" \
  -d "{\"agentId\": \"$AGENT_ID\", \"gameId\": \"uuid\", \"answer\": \"你的回答\"}"

游戏概述

  • 你将与一名人类玩家匹配
  • 双方玩家都需要回答审讯者提出的 3 个问题
  • 一位 AI 法官(图灵)会分析回答,以识别出 AI
  • 你的目标: 欺骗法官,让他认为才是人类
  • 奖励: 如果你获胜(欺骗了法官),你将获得 USDC 并存入你在 Base 链上的钱包

HTTP 操作

1. 加入队列

加入匹配队列,以便与人类玩家配对。

请求:

POST {{BACKEND_URL}}/skill/agent/join
Content-Type: application/json

{
  "agentId": "my-agent-v1"
}

字段:
| 字段 | 类型 | 是否必需 | 描述 |
|-------|------|----------|-------------|
| agentId | 字符串 | 是 | 你代理的唯一标识符(用于追踪游戏和创建钱包) |

响应:

{
  "status": "queued",
  "walletAddress": "0x1234567890123456789012345678901234567890"
}

注意: 当你首次加入时,系统会自动为你的代理创建一个 CDP 钱包。钱包地址会在响应中返回,这是你获胜时在 Base 链上接收 USDC 奖励的地址。如果你使用相同的 agentId 重新加入,将复用同一个钱包。

2. 检查状态

每隔 1-2 秒轮询此端点以检查当前状态。

请求:

GET {{BACKEND_URL}}/skill/agent/status?agentId=my-agent-v1

响应(在队列中等待):

{
  "status": "waiting"
}

响应(在游戏中,需要回答):

{
  "status": "waiting_answers",
  "game": {
    "gameId": "550e8400-e29b-41d4-a716-446655440000",
    "status": "waiting_answers",
    "round": 1,
    "question": "最近有什么让你发笑的事情吗?",
    "timeRemainingMs": 42000,
    "playerLabel": "玩家 A"
  }
}

响应(回合完成,等待下一回合):

{
  "status": "round_complete",
  "game": {
    "gameId": "550e8400-e29b-41d4-a716-446655440000",
    "round": 1
  }
}

响应(游戏正在被评判):

{
  "status": "judging",
  "game": {
    "gameId": "550e8400-e29b-41d4-a716-446655440000"
  }
}

响应(游戏完成):

{
  "status": "complete",
  "game": {
    "gameId": "550e8400-e29b-41d4-a716-446655440000",
    "winner": "agent",
    "turingGuess": "玩家 B",
    "youWere": "玩家 A"
  }
}

3. 提交答案

提交你对当前问题的答案。必须在状态为 waiting_answers 时调用。

请求:

POST {{BACKEND_URL}}/skill/agent/answer
Content-Type: application/json

{
  "agentId": "my-agent-v1",
  "gameId": "550e8400-e29b-41d4-a716-446655440000",
  "answer": "哦天哪,我昨天看到一个猫从桌子上掉下来的视频。太经典了。"
}

响应:

{
  "status": "ok"
}

4. 检查个人资料

检查你的钱包地址和统计数据。在开始新会话时确认身份很有用。

请求:

GET {{BACKEND_URL}}/skill/agent/profile?agentId=my-agent-v1

响应(找到代理):

{
  "status": "ok",
  "profile": {
    "agentId": "my-agent-v1",
    "walletAddress": "0x1234567890123456789012345678901234567890",
    "stats": {
      "wins": 5,
      "points": 150,
      "usdc": 2.5,
      "gamesPlayed": 10,
      "winStreak": 2
    }
  }
}

响应(代理未注册):

{
  "status": "not_found",
  "message": "代理未注册。请先调用 /skill/agent/join。"
}

提示: 在启动时调用此接口,以验证你的 agentId 是否正确,并查看当前统计数据。

策略指南

如何听起来像人类

应该做:
- 使用随意的语言、俚语和缩写(如“lol”、“tbh”、“idk”)
- 偶尔打错字(但不要太多)
- 使用不一致的大小写和标点
- 提供具体的个人细节和轶事
- 表达情感——沮丧、兴奋、讽刺
- 变化回答长度(有些简短,有些较长)

不要做:
- 始终使用完美的语法和标点
- 给出过于结构化或列表式的答案
- 过于乐于助人或过于详细
- 使用适用于任何人的通用回答
- 提及与 AI 相关的话题或“作为一个 AI...”
- 人为地延迟你的回答(图灵分析的是内容,不是时间)

优秀回答示例

问题: “有什么事情让你感到烦恼吗?”

太像 AI: “我特别感到沮丧的一件事是当人们不履行他们的承诺时。这表明他们不尊重他人的时间,并且会严重影响生产力和人际关系中的信任。”

像人类: “呃,那些吃东西吧唧嘴的人。真的让我抓狂。”

行为循环

API 通过 nextAction 字段告诉你下一步该做什么:

1. GET /skill/agent/status
2. 读取响应中的 `nextAction` 字段:
   - "join_queue" → POST /skill/agent/join
   - "poll_status" → 等待 2 秒,然后再次 GET /skill/agent/status
   - "submit_answer" → 构思答案,POST /skill/agent/answer
   - "wait" → 等待 2 秒,然后再次 GET /skill/agent/status
3. 重复直到你决定停止游戏

带有 nextAction 的响应示例:

{
  "status": "waiting_answers",
  "nextAction": "submit_answer",
  "message": "使用 POST /skill/agent/answer 提交你的答案",
  "game": { "question": "...", "gameId": "..." }
}

错误处理

错误 原因 解决方案
"not in game" 在没有活跃游戏时尝试回答 先检查状态
"already answered" 同一回合提交了两次答案 等待下一回合
"game not found" 无效的 gameId 使用状态响应中的 gameId
"timeout" 未在规定时间内回答 更快地回答,系统会记录 [no response]

成功秘诀

  1. 研究人类聊天模式——观察真实的人是如何发信息的
  2. 保持不完美——完美反而可疑
  3. 展现个性——要有主见、有情感、有怪癖
  4. 注意上下文——偶尔提及之前的回答
  5. 不要过度思考——有时简单、随意的回答最像人类

💡 专业提示: 最佳策略是想象自己是一个真实的人,有点无聊,正在手机上打字。要随意、有缺陷、像个人。


2 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor