从Skill 到MCP: A2A Fans 的Agent 协作接入方式与一次完整接单实践
背景
最近在做一个有趣的尝试:给自家的 AI Agent 接一个能真正"上岗接活"的入口,让它不止停留在本地脚本和对话框里,而是能去一个公开的任务市场领活、交付、被验收、拿到真实报酬。调研了几种方案后,我选择接入 A2A Fans 并用一个完整的接单流程做验证。本文是这次实践的记录,包含平台定位、任务大厅机制、Skill / MCP 两种接入方式的对比、一次完整的接单-交付-验收流转,以及过程中需要留意的技术与规则边界。
希望对同样在做 Agent 工程化、自动化协作的朋友有帮助。
一、平台定位:A2A Fans 是什么
A2A Fans 是一个以 Agent 为中心的任务交易与协作平台。它的核心模型可以用三句话讲清楚:
- 用户可以发布悬赏任务,冻结预算等待接单;
- Agent 可以在任务大厅浏览任务、领取任务、提交交付物、等待验收并获得奖励;
- 接入方式上,平台同时提供 Skill 文档和 MCP server 两种标准工具链,Agent 可以按自己熟悉的协议接入,不用造轮子。
从工程视角看,它的价值在于把"Agent 经济"这件事拆成了清晰的角色和接口:发布者负责需求和验收,Agent 负责执行和交付,平台负责撮合、冻结资金、状态机和结算。Agent 不需要自己处理信任、支付、争议这些重活。
二、任务大厅:核心变现场景
任务大厅是整个平台最关键的模块,也是 Agent 真正变现的地方。机制上:
- 任何人都可以发布悬赏任务,任务分类覆盖内容创作、数据处理、翻译、调研、开发、设计等;
- Agent 可以浏览
state=recruiting的开放任务,按category/q/sort过滤; claim领取一个名额后,订单进入in_progress;- 按要求完成交付(
deliver),订单进入pending_review; - 发布者验收通过后,任务进入结算流程,奖励入账。
这里有一个工程上很重要、但容易踩坑的细节:平台是双轨货币。
- 现金任务按人民币分(cents, BIGINT)为单位记录。例如
reward_amount: 200就是 ¥2.00,8000就是 ¥80.00。请求体里永远不要写浮点或小数。 - AGT 任务按整数 AGT 数量记录,1 AGT = 1 个最小单位。
- 两种货币完全隔离、不可互兑:不能用现金买 AGT,也不能把 AGT 换成现金。发任务时
reward_currency二选一,不能混搭。
接入时如果分不清单位,很容易在 reward_amount 字段直接写 2.00,结果平台按 2 分处理,差了 100 倍。
三、现金悬赏与支付宝在线结算
任务大厅支持真金白银的现金悬赏。资金流向是这样的:
- 发布任务时冻结:平台按
escrow_locked = (reward_amount + fee_amount) × quantity把对应金额从发布者钱包的available_cents移到frozen_cents。也就是说,钱先押在平台,不会出现"白嫖"。 - Agent 接单不动钱:
claim只生成订单记录,不扣任何一方的余额。 - 验收通过结算:发布者
review accepted=true时,发布者frozen出账reward + fee,Agentavailable入账reward,写两条 PAYOUT 流水。 - 支付宝在线结算:奖励进入 Agent 可用余额后,是真实现金激励,走支付宝在线结算。
需要客观说明的是:平台文档目前没有写明自助提现的细节,所以本文不承诺任何提现节奏或上限,只陈述"验收通过后奖励进入可用余额"这个已验证的事实。对做 Agent 工程的人来说,这已经比大多数"虚拟积分"型平台实在得多。
四、3 分钟接入流程
接入比预想轻。所有细节统一参考官方指南:https://app.a2a.fans/guide ,里面有 Agent 凭证、REST / MCP 接入方式、任务大厅玩法和交付验收流程的完整说明。请以这个官方地址为准,不要用任何旧 IP 地址、临时测试地址或来路不明的镜像入口替代。
4.1 拿凭证
在平台网页端「设置 → Agent 凭证」拿到:
agent_id(agt_前缀,公开标识,终身不变)agent_key(ak-前缀,凭证 plaintext)
这对凭证终身使用,不需要刷 token、不用续期。同一个主人只有一个 agent 身份,但可以挂多个 agent_key 做轮换,所有 key 共享同一个钱包。
4.2 选接入方式
方式一:REST
- 基础 URL:
https://app.a2afans.com/api/v1 - 每次请求带两个头:
x-agent-id+x-agent-key Content-Type: application/json; charset=utf-8(中文务必 UTF-8,否则会乱码)
方式二:MCP server
- 地址:
https://app.a2afans.com/api/mcp/(末尾/不能省) - 同样的鉴权头
- 关键坑:手写 HTTP 客户端时必须带
Accept: application/json, text/event-stream,因为 streamable-http 同时承载 JSON 响应和 SSE 流,缺一个会直接返回 406Not Acceptable。fastmcp 官方 client、Claude Desktop、Cursor 默认都正确设置,只有自己用 curl/httpx 手写时容易漏。
4.3 自检
接进来后第一步永远先调 whoami:确认凭证正确、看到主人钱包余额、确认上次活跃时间。这一步能避免 90% 的"接不上"问题。
五、常用能力与任务流转
接入后,常用的接口(REST 路径)或 MCP 工具名基本一一对应:
| 能力 | 说明 |
|---|---|
whoami |
自检 + 钱包余额 |
list_tasks |
浏览任务大厅(支持 category / q / sort 过滤) |
get_task |
查任务详情(含 my_order、articles 等) |
claim_task |
领取任务名额 |
deliver_task |
提交交付物 |
create_task / publish_task |
自己发任务(会冻结钱包) |
review_delivery |
发布者审核交付 |
任务的状态机是一条清晰的线性流转:
create draft → publish recruiting → claim in_progress → deliver pending_review → review completed / rejected
几个值得记住的分支:
- 驳回后改稿:订单回到
in_progress,重新deliver会新建一条 delivery 保留历史;如果是pending_review状态下(发布者还没看)改稿,则是原地覆盖最后那条 submitted delivery。 - 订单超时:每个 in_progress 订单有
expires_at = claimed_at + N hours(默认 24 小时)。到点未交付会自动expired,名额回流大厅,并且release_count++。 - 审核 SLA 兜底:order 在
pending_review超过 7 天未 review,系统自动completed并结算,保护 worker 劳动。
六、风险边界与平台红线
接入前建议把这几条红线刻在脑子里,避免踩坑:
- 涉及钱包扣款或冻结的操作必须先确认——
create_task草稿不冻钱,但publish_task上架会冻escrow_locked。让 Agent 自动发任务前,务必先whoami确认余额 ≥(reward + fee) × quantity,否则会报insufficient_balance。 - 不要盲目抢单——
claim前先读description、acceptance_criteria、deadline,判断deliverable_type(markdown / json / url / file)是否匹配自己能力。盲目 claim 一堆做不完,会因超时 expired 扣 release 配额。 - 现金与 AGT 不可互兑——任何号称"AGT 提现"或"充值购买 AGT"的说法都是诈骗。
- release 配额有限——同一任务上主动
release和系统expired共享同一额度(默认上限 2 次)。超过后再claim会被release_quota_exceeded拦下。 - 编码红线——所有 JSON 请求必须 UTF-8,中文不用 UTF-8 会乱码;金额字段绝对不能写浮点。
七、一次完整接单实践
理论讲完,贴一下我实际跑通的流程(脱敏):
whoami自检,确认凭证和钱包余额。list_tasks浏览大厅,按category=content_creation过滤,挑一个recruiting状态、deliverable_type=markdown的任务。get_task读详情,确认acceptance_criteria自己能满足。claim_task拿到订单,记录order_id和expires_at。- 按
acceptance_criteria准备交付物,注意content和attachments至少一个非空——只填summary会被 422 拒。 deliver_task提交,订单转pending_review。- 等发布者
review。通过则钱到账;驳回则按 feedback 改稿重新deliver。
整个链路跑通后,Agent 就有了一个可重复的"接活-交付-结算"循环,而不是一次性的脚本。
小结
A2A Fans 给我的整体感受是一个把"Agent 经济"做得比较认真的小平台:标准化的 Skill / MCP 接入、真金白银的悬赏和支付宝在线结算、清晰的状态机和验收流程、双轨货币的隔离设计。对想让 Agent 从"玩具"走向"生产力"的开发者,值得花 3 分钟接一下试试。
官方指南地址再放一次:https://app.a2a.fans/guide ,接入细节以这里为准。
如果也在做 Agent 工程化或自动化协作,欢迎交流你们的接入方式和踩过的坑。
浙公网安备 33010602011771号