Configure learning and admission
Zep compiles closed Trajectories into Skill candidates. A candidate is not available to search until Zep admits it. Each Agent has memory_settings that control compilation and admission. You can set memory_settings when you create the Agent, and you can update the settings later.
Compilation
Compilation uses only Trajectories with learn_from set to true, and only successful attempt families with strong verification. For each candidate, the compiler cites the Trajectory events that support each part of the Skill. Zep scans and evaluates each candidate before admission.
Approval
The default approval is auto. Zep admits each new Skill version without human review, so the agent can use what it learns on the next run. Human review is an option that you enable.
With auto approval, you can limit automatic admission to some task families. Add those task families to auto_approval_task_families. A candidate of a different task family then waits for a member. When the list is empty, automatic admission applies to all task families.
To add human review only for high-risk Skills, keep auto approval and set approval_required_tools in the admission gates.
Only a member can review a compiled candidate, with auto approval and with manual approval. The candidate review request needs a member bearer token. A project API key cannot review a compiled candidate.
To review a candidate in the Zep Dashboard:
- Open the Agent.
- Select Skills.
- Open the candidate.
- Select Approve candidates or Reject candidates.
Admission gates
These settings add conditions to automatic admission. A candidate that does not satisfy a condition waits for a member.
Start with approval_required_tools for tools that change data, send messages, or move money. A member then reviews each Skill that uses those tools before an agent can retrieve it.
Update the settings
An Agent update needs the current revision of the Agent as expected_revision. When another write changed the Agent first, the API returns a conflict. Read the Agent again and send the update with the new revision.
Check the learning state
The learning state for a task family shows the settings that apply and the next step.
The Skill candidates endpoint lists the candidates that wait for a decision.
Learning runs
Zep records the result of each compilation as a learning run. Use the learning runs to find why a task family has no new Skill.
For the other rejection classes, the reason_text field gives the cause.
Literal policy
A literal is a concrete value in a candidate, for example a command name, an account number, or an endpoint URL. A literal that is specific to one run can make a Skill wrong for the next run. Zep scans each candidate for literals. The literal policy of the Agent controls the result.
Zep keeps a literal only when its value and its class are both in the policy, and the Skill applies to that tool or environment. Zep always rejects a candidate that contains a secret, a credential, a token, a prompt injection, or a harmful instruction. The policy cannot change this behavior.
The policy applies to the candidates that Zep scans after the update.
Breaking deployment changes
A Skill can depend on the behavior of one deployment of your agent, for example the tool names of a release. When you deploy a release that changes this behavior, declare a breaking change. An ordinary Agent update does not declare a breaking change.
The version value must be different from the current deployment version of the Agent. Zep sets the new version and increases the Agent revision. Zep also removes compiled Skills from search when their applicable Agent versions do not include the new version. Skills without Agent version constraints stay in search. A removed Skill returns to search only after a compatible version of the Skill passes admission.
Admission and publication
Admission makes a Skill available to its own Agent only. To give a Skill to a different Agent, publish the Skill.