langgoap.GoalSpec#
- class GoalSpec(conditions=<factory>, policy=<factory>, objectives=None, constraints=<factory>, soft_goals=<factory>, metrics=<factory>, value=1.0)[source]#
Specification of a GOAP goal.
- Parameters:
conditions (MappingProxyType[str, Any])
policy (GoalPolicy)
objectives (MappingProxyType[str, ObjectiveDirection] | None)
constraints (tuple[ConstraintSpec, ...])
soft_goals (tuple[SoftGoal, ...])
metrics (tuple['PlanQualityMetric', ...])
value (float | Callable[[Mapping[str, Any]], float])
- conditions#
Required world state for the goal to be satisfied. Stored as an immutable MappingProxyType.
- Type:
MappingProxyType[str, Any]
- policy#
GoalPolicybundling the replanning strategy, multi-goal priority, and replan budget. Defaults toGoalPolicy()(ON_DEVIATION, priority 0, max_replans 10).- Type:
GoalPolicy
- objectives#
Optional optimization objectives for the CSP phase. Maps resource/metric name to an
ObjectiveDirection. Example:{"cost_usd": Minimize, "quality": Maximize}.- Type:
MappingProxyType[str, ObjectiveDirection] | None
- constraints#
Optional hard resource/budget constraints for the CSP phase.
- Type:
tuple[ConstraintSpec, …]
- soft_goals#
Optional soft (penalty-weighted) goal predicates.
- Type:
tuple[SoftGoal, …]
- metrics#
Optional plan-quality metrics consumed by the CSP phase.
- Type:
tuple[‘PlanQualityMetric’, …]
- __init__(conditions=<factory>, policy=<factory>, objectives=None, constraints=<factory>, soft_goals=<factory>, metrics=<factory>, value=1.0)#
- Parameters:
conditions (MappingProxyType[str, Any])
policy (GoalPolicy)
objectives (MappingProxyType[str, ObjectiveDirection] | None)
constraints (tuple[ConstraintSpec, ...])
soft_goals (tuple[SoftGoal, ...])
metrics (tuple['PlanQualityMetric', ...])
value (float | Callable[[Mapping[str, Any]], float])
- Return type:
None
Methods
__init__([conditions, policy, objectives, ...])from_builder([conditions, builder_output])Construct a GoalSpec from a
BuilderOutput.per_entity(entity_ids, conditions, *[, mode])Attributes
valueUtility weight consulted by
MultiGoal(mode='best_value').