Replies: 2 comments 2 replies
-
|
Great questions! Let's go through each one step by step to clear up any confusion. Role ClarificationYour description of the three roles is correct! To clarify further:
Offline Adaptation (Step 1)You've correctly identified the workflow! The core idea is to train on existing data in an isolated environment, building a pre-filled playbook BEFORE deployment. This makes your agent immediately more effective when it starts handling real tasks. Online Adaptation (Step 2)Your implementation in PATTERN-1 would be correct if you just want to freeze the playbook and no longer want ACE to improve it: # When you have a trained playbook and just want to use it
result = generator.generate(
question="What is 5 + 3?",
context="",
playbook=trained_playbook # Uses strategies WITHOUT updating
)PATTERN-2 is the correct approach when you want ACE to continuously improve the playbook after each run. However, you're trying to manually orchestrate the components, but ACE already handles this automatically through OnlineAdapter! Your def self_improving(test_sample: Sample):
output = generator.generate(...)
reflection = reflector.reflect(...)
curator_output = curator.curate(...)
playbook.apply_delta(curator_output.delta)This is exactly what OnlineAdapter does internally! You don't need to write this code - just use: # OnlineAdapter handles the ENTIRE loop automatically
adapter = OnlineAdapter(
playbook=Playbook(), # Can start empty or pre-trained
generator=Generator(llm),
reflector=Reflector(llm),
curator=Curator(llm)
)
# Each call automatically does: Generate → Reflect → Curate → Update Playbook
results = adapter.run(samples, environment)We realize the current README doesn't explain this clearly - it shows initializing components but not how they work together. We're actively working on:
Hope this helps! If anything's still unclear, please follow up. Your questions are invaluable for improving our docs - they've already highlighted several areas we need to clarify! |
Beta Was this translation helpful? Give feedback.
-
|
Why do I feel that the work is to make AI outputs more reliable and easier to control? After all, ground-truth answers to new questions must be provided by humans. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello everyone,
I have read the ACE framework documentation and got some questions about its practical application.
The main question is:
Currently, the ACE framework implementation involves the following three core components:
Generator - Executes tasks using learned strategies from the playbook
Reflector - Analyzes what worked and what didn't after each execution
Curator - Updates the playbook with new strategies based on reflection
In real-world Agent development, how should these three components be used together? What are the best practices?
Using Offline Adaptation as an example to list my understanding and questions
STEP-1: Adaptation
REPEAT [STEP-1]
Until all samples are processed ,after then we save the playbook for future use
STEP-2: Generation
My Understanding
My Questions
So in practical Agent application development, how should we combine these three components? And which of the following patterns is the best practice?
Offline Adaptation + Generation
Offline Adaptation + [Generation + Reflector (analyzes) → Curator (updates playbook)]
Code Example (PATTERN-1 vs PATTERN-2)
Beta Was this translation helpful? Give feedback.
All reactions