Skip to main content
By default, Acontext will automatically learn skills from completed tasks. But this might not be what the user wants, some agent apps, like Manus, provide a way to let users decide whether to learn the skills or not. Acontext also supports this.

Enable User Confirmation

You can enable user confirmation by setting the project_enable_user_confirmation_on_new_experiences to true in the project settings.
config.yaml
project_enable_user_confirmation_on_new_experiences: true

Obtain the Unconfirmed Experiences

Once you enable it, for every worth-learning experience, Acontext will wait for user confirmation before actually learning skills. You can obtain the unconfirmed experiences by calling the get_unconfirmed_experiences method.
experiences = client.spaces.get_unconfirmed_experiences(space_id=space.id)

for e in experiences.items:
    print(f"{e.id}: {e.experience_data}")
You can render those experiences in UI and let users decide whether to learn the skills or not. Experience data consists of the following fields:
experience_data
{
    "type": "sop",
    "data": {
        "use_when": "Implement google authentication",
        "preferences": "Use NextAuth;",
        "tool_sops": [
            {
                "tool_name": "ls",
                "action": "find the middleware folder",
            },
            ...
        ]
}

Confirm the Experience

Once user decided, you can confirm the experience by calling the confirm_experience method.
# Use this Experience
client.spaces.confirm_experience(space_id=space.id, experience_id=experience.id, save=True)
# Reject this Experience
client.spaces.confirm_experience(space_id=space.id, experience_id=experience.id, save=False)