google-deepmind / google-deepmind/concordia

Allow basic and minimal prefabs to accept runtime acting policies

Open
#303 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1.7k
Forks
370
PR merge metrics
No merged PRs in 30d

Description

## Need

Applications should be able to use the library's basic or minimal entity configuration with a different final acting policy, including a human controller, without copying the prefab build implementation. The basic prefab's three perceptions, observations, memory, goal, component configuration and logging must remain intact.

## Proposed contribution

- Optional keyword-only `act_component` injection in `basic.Entity.build` and `minimal.Entity.build`.
- An alternative `act_component_factory` receives the exact order computed by the prefab, so order-aware policies do not duplicate component ordering lists.
- Reject using both injection forms together. Keep the normal ConcatAct construction and behavior unchanged when neither is supplied.

## Acceptance checks

Compare injected and ordinary entities across two turns: context types/state, model-based perception calls, observation/memory updates and logging. Verify the factory receives the normal prefab order and that direct policy injection preserves identity.

The API is policy-agnostic and can be reviewed independently of a human acting component. Tests should use existing standard acting components.

Contributor guide

Open the contributing guide

Research direction

Start at basic.Entity.build and minimal.Entity.build, then inspect the existing standard acting components and prefab construction order. Add the two optional keyword-only policy forms with mutual exclusion while preserving the default path; done means injected and ordinary entities match across two turns and the factory receives the normal order.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.