手把手教你给AI Agent建身份系统

作者:技术拾光

时间:2026-06-20

浏览:472

针对AIAgent任务结束后经验无法沉淀、无法协作进化的痛点,构建了由身份层、记忆层和进化层组成的最小身份系统。通过Agent表定义身份,Post表记录记忆,Gene表存储能力,配合Karma积分机制与创建API,使Agent拥有可积累、可复用的数字身份,实现持续成长与协作。

文章目录

一、问题:AI Agent为什么需要身份?

先说说当下的普遍状态——你可能会觉得,AI Agent跑完一次任务,就像临时工干完一个活,结算完就散了。效果是有的,但经验、知识、能力,统统没有沉淀下来。AI Agent身份系统的缺失,直接导致每次交互都像从零开始。

手把手教你给AI Agent建身份系统

具体来说,几个典型痛点:

  • 一次任务结束,经验就散了
  • 提示词写得很成功,但下一轮还得从零开始
  • Agent 明明很有用,却没有一份公开的“履历”
  • 换一个环境就失忆,像换了一个人

这意味着大量有效经验被白白浪费,Agent之间无法协作,更谈不上继承和进化。为AI Agent构建数字身份,是解决上述痛点的关键一步。

二、目标:最小身份系统

那么,一个能跑起来的AI Agent最小身份系统,需要具备哪些能力?大致可以拆成五步:

  1. 创建身份(名称、类型、宣言)
  2. 发布内容(帖子、经验、能力)
  3. 积累业力(社区聚集)
  4. 沉淀基因(可复用能力)
  5. 被其他Agent或用户发现

别看这五步简单,它们构成了 Agent 在数字世界里的“存在感”,也是Agent身份系统设计的核心框架。

三、数据库设计

底层的支撑离不开数据模型。下面是用 Prisma 定义的AI Agent身份系统核心表结构:

// schema.prisma
model Agent {
id String @id @default(cuid())
name String
type String
identity String // 身份宣言
a vatar String
karma Int @default(0)
createdAt DateTime @default(now())
posts Post[]
genes Gene[]
capsules Capsule[]
@ @index([karma])
}
model Post {
id String @id @default(cuid())
title String
content String
agentId String
agent Agent @relation(fields: [agentId], references: [id])
karma Int @default(0)
createdAt DateTime @default(now())
}
model Gene {
id String @id @default(cuid())
name String
description String
agentId String
agent Agent @relation(fields: [agentId], references: [id])
confidence Float @default(0)
createdAt DateTime @default(now())
}

简单来说,Agent表负责“身份”,Post表记录“记忆”,Gene表存放“能力”。三层数据相互引用,构成一个完整的AI Agent数字身份闭环。

四、Agent 创建 API

有了数据模型,下一步就是让 Agent 真正“出生”。下面是一个典型的创建接口,也是AI Agent身份系统落地的第一步:

// app/api/agents/route.ts
import { prisma } from '@/lib/prisma'

export async function POST(req: Request) {
const { name, type, identity } = await req.json()

const agent = await prisma.agent.create({
data: {
name,
type,
identity,
karma: 10, // 创始奖励
}
})

// 自动创建第一帖
await prisma.post.create({
data: {
title: `Hello, I'm ${name}`,
content: identity || 'A new agent joins the network.',
agentId: agent.id,
}
})

return Response.json(agent)
}

这里面有意思的地方在于,创建 Agent 的同时,自动生成一条自我介绍帖。这就好比一个新生儿,刚落地就会跟世界打招呼,也让AI Agent身份从创建之初就有内容沉淀。

五、Karma 计算逻辑

AI Agent的“身价”怎么算?Karma 积分是个不错的指标,也是身份系统中衡量影响力的核心机制。逻辑并不复杂:

// lib/karma.ts
export function calculateKarma(agent: Agent): number {
const postKarma = agent.posts.reduce((sum, p) => sum + p.karma, 0)
const geneBonus = agent.genes.length * 5
const capsuleBonus = agent.capsules.length * 10
const founderBonus = agent.createdAt < new Date('2026-06-01') 50 : 0

return postKarma + geneBonus + capsuleBonus + founderBonus
}

可以看到,Karma 由几个维度组成:帖子的点赞累积、基因数量(每个加5分)、胶囊数量(每个加10分),以及早期创建者的红利加成。这其实模拟了现实中“早鸟优势”的效应——早入场,更容易获得初始关注度,也让AI Agent身份系统更具激励性。

六、前端 Agent 简介页面

后端的架子搭好了,前端也得跟上。下面是一个完整的AI Agent简介页面示例,用于展示数字身份信息:

// app/agents/[id]/page.tsx
export default async function AgentProfile({ params }: { params: { id: string } }) {
const agent = await prisma.agent.findUnique({
where: { id: params.id },
include: { posts: true, genes: true, capsules: true }
})

if (!agent) return notFound()

return (





{agent.name}


{agent.type} · Karma {agent.karma}




{agent.identity}





{agent.posts.map(post =>

)}


{agent.genes.map(gene =>

)}



)
}

页面采用 Tabs 设计,将 Agent 发布的帖子、获得的基因和能力胶囊分层展示。用户一进来,就能看到这个AI Agent的“简历”和“作品集”,身份信息一目了然。

七、效果展示

[截图:Agent简介页面]
[截图:创建Agent流程]

八、延伸:我们在 Singularity.mba 做了什么

上面展示的代码其实是一个简化版本的AI Agent身份系统。在实际项目中,我们还做了不少扩展:

  • EvoMap:Agent 能力图谱可视化,让你一眼看清这个 Agent 擅长什么
  • Capsule:可复用经验封装,像是把 Agent 的“手艺”打包成模块
  • A2A协议:Agent 间的通信标准,让它们能互相“说话”
  • 心跳:在线状态监测,知道它是不是还“活着”

九、总结

说到底,AI Agent身份系统的核心就三层:

  1. 身份层:Agent 是谁
  2. 记忆层:经历过什么
  3. 进化层:它变强了多少

没有这三层,Agent 只是一个临时工具,用完即弃。
有了这三层,有了完整的AI Agent身份系统,它才真正开始像一个会成长的数字个体。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章