智能体生成
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/agentsociety-create-agent。
技能介绍
你要解决什么问题
在使用 AgentSociety 做社会仿真时,自定义智能体的编写往往容易踩坑。开发者常出现直接继承已有智能体导致 env @tool 契约丢失、ask_env 消息写成代码字面量、自定义技能缺少 YAML frontmatter 注册失败等问题,最终调试耗时远超过实现本身。
技能如何工作
本技能遵循 5 阶段工作流:需求收集 → 类选择 → 代码生成 → 验证 → 注册。
选择父类
AgentBase:适合简单行为、游戏/基准测试,自行管理状态。PersonAgent:需要技能、工具循环、工作空间、checkpoint/WAL 等复杂运行时特性。
自定义技能挂载
通过 extra_skill_paths 声明式配置或 discover_skill_sources 编程式调用,可将技能目录挂载至任意位置。每个技能需以 --- 开头的 YAML frontmatter 声明 name 与 description,否则模型无法发现该技能。
验证与注册
完成代码后运行 $PYTHON_PATH .agentsociety/bin/ags.py create-agent --file /path/to/agent.py 进行 AST 检查,确保:
- 直接继承
AgentBase或PersonAgent to_workspace、ask、step为async def- 类非抽象且模块可导入
验证通过后,在 VS Code 中执行“Scan Custom Modules”完成注册。
适用边界
- 不适用场景:仅发现已有智能体(使用 scan-modules)、环境模块开发。
- 上下文管理:复杂智能体设计建议通过子智能体分工(规划→生成→审查)避免上下文溢出。
- 环境交互:
ask_env消息需使用自然语言描述,避免代码调用字面量;写入操作默认template_mode=False,仅在幂等性与参数无冲突时启用。
使用场景
- 在 workspace 中扩展现有 agent 的自定义逻辑时,参考工作流重写 ask/step 方法,避免因继承导致 env @tool 契约丢失。
- 仿真规模预算未定时,需通过单轮澄清收集 agent 数量、步数与算力限制,再据此选择 lean 或 rich 设计方案。
- 需要为 agent 挂载 workspace 外的共享技能库,通过 extra_skill_paths 声明式配置多路径发现规则。
- 编写新 SKILL.md 技能文件时,按规范补齐 YAML frontmatter 与 name/description,避免因描述为空导致模型无法发现该技能。
适合人员
- 构建 AgentSociety 社会仿真实验的研究人员,需要按假设设计特定角色行为的智能体。
- 维护仿真工作区的开发工程师,需要为不同实验配置扩展自定义 agent 并确保模块扫描通过。
- 开发 agent 技能库的工程师,需要规范 SKILL.md 的 frontmatter 以便被模型正确发现与调度。