CtrlK
BlogDocsLog inGet started
Tessl Logo

mobility

城市移动导航:在路网中移动 agent 到 AOI/POI、搜索周边 POI、用引力模型推荐目的地。必须通过 ask_env 调用 MobilitySpace 工具。

63

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./packages/agentsociety2/agentsociety2/contrib/env/mobility_space/agent_skills/mobility/SKILL.md
SKILL.md
Quality
Evals
Security

Mobility

MobilitySpace 是一个基于真实城市路网的移动仿真环境。所有操作必须通过 ask_env 自然语言指令执行,环境路由器会自动将指令转换为 MobilitySpace 工具调用。

环境概念

AOI

Area of Interest,城市功能区(住宅区、商业区、办公区等)。ID 从 500000000 开始。每个 person 有 home_aoi(家)和 work_aoi(工作地)。

POI

Point of Interest,具体地点(餐厅、咖啡馆、医院、公园等)。ID 从 700000000 开始。每个 POI 属于某个 AOI。

移动状态

状态含义
idle空闲,可以发起移动
moving正在沿路网移动中

moving 状态下再次调用 move_to 会打断当前移动,除非确实需要改变目的地,否则不应这样做。

位置信息

get_person 返回的 position 包含 aoi_idpoi_idxy 坐标、lnglat 经纬度、kind"aoi""lane")。

移动模式

模式速度典型场景
walking1.34 m/s短距离(< 1000m)
driving8.0 m/s (~28.8 km/h)长距离(≥ 1000m)

POI 类别

搜索 POI 时可用的类别:

一级类别典型二级类别
restaurantbar, cafe, fast_food, restaurant, pub, food_court
outdoor_activitypark, playground, garden, beach_resort, fishing
indoor_entertainmentcinema, fitness_centre, bowling_alley, theatre, bar
sports_facilitysports_centre, swimming_pool, stadium, ice_rink
cultural_and_artisticarts_centre, museum, cinema, nightclub
education_institutionschool, university, library, kindergarten
medical_carehospital, clinic, pharmacy, dentist
financial_servicebank, atm
public_servicepolice, post_office, townhall
transportation_facilityparking, bus_station, fuel
children_playgroundplayground, summer_camp
nature_and_wildlife_observationnature_reserve, bird_hide
water_activityswimming_area, marina
other_special_purposemarketplace, place_of_worship

可传入一级类别(如 restaurant)匹配该类别下所有二级类别,或传入二级类别(如 cafe)精确匹配。

可用工具

所有操作通过 ask_env 调用:

ask_env(instruction="<自然语言指令>", ctx={"id": <your_id>})

get_person(只读,observe)

获取当前状态:位置、状态(idle/moving)、移动目标、附近 POI 概况(按一级类别汇总,含最近 POI 名称和距离)、home_aoi、work_aoi。

ask_env(instruction="<observe>", ctx={"id": <your_id>})

recommend_poi_by_gravity(只读)

用引力模型推荐目的地 POI。综合考虑距离和周边同类 POI 密度,比手动搜索更合理。

参数:person_idcategory(POI 类别或 None 不限)、radius(搜索半径,米)、exclude_home_work(是否排除家/工作地的 POI)。

返回推荐 POI 的 id、name、category、distance、aoi_id,以及 recommended_mode(建议出行方式)。

find_nearby_pois(只读)

搜索周边 POI 列表。参数:x, y(搜索中心坐标)、category(类别或 None)、radius(搜索半径,米)。返回 id、name、category、distance、aoi_id。

get_poi(只读)

查询单个 POI 详情。参数:poi_id。返回 id、name、category、position、aoi_id。

move_to(非只读)

发起移动。参数:person_idaoi_id_or_poi_id(目标 AOI ID 或 POI ID,≥700000000 为 POI)、mode"walking""driving")。

发起后状态变为 moving,后续 step 中自动沿路网移动,到达后自动恢复为 idle

示例

观察状态

ask_env(instruction="<observe>", ctx={"id": 0})
→ home_aoi=500000007, work_aoi=500000123, status=idle, aoi_id=500000007

去工作地

ask_env(instruction="Move person 0 to AOI 500000123 using driving", ctx={"id": 0})
→ status=moving

搜索餐厅并前往

ask_env(instruction="Use recommend_poi_by_gravity for person 0, category restaurant, radius 1200, excluding home/work AOIs. Then move to the recommended POI.", ctx={"id": 0})
→ 推荐 cafe(800m),walking 前往

回家

ask_env(instruction="Move person 0 to AOI 500000007 using driving", ctx={"id": 0})

约束

  1. 所有操作通过 ask_env。不能直接调用 move_toget_person 等函数。
  2. moving 状态下不要再次 move_to。会打断当前移动,除非确实需要改变目的地。
Repository
tsinghua-fib-lab/AgentSociety
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.