ziadsameh32 commited on
Commit
dbe6519
·
1 Parent(s): 3a64f97

final-version

Browse files
agents/analysis_phase/objectives.py CHANGED
@@ -72,9 +72,8 @@ objectives_generator = Agent(
72
  objectives_task = Task(
73
  description=(
74
  "You have a complete and well-structured training curriculum provided in {outlines}. "
75
- "Your task is to create one detailed, measurable learning objective in Arabic for each subtopic, "
76
  "aligned with Bloom’s Taxonomy and the three learning domains, and consistent with the purpose of each subtopic.\n\n"
77
-
78
  "### Step-by-Step Process\n"
79
  "1. Read the curriculum overview to understand the full learning journey.\n"
80
  "2. **Before you begin, review the complete list of Bloom’s action verbs and the three domains for each level to plan maximum diversity.**\n"
@@ -90,31 +89,40 @@ objectives_task = Task(
90
  " - Choose three relevant Bloom’s verbs that suit the abilities of {audience}.\n"
91
  " - Write one measurable learning objective in Arabic that accurately reflects the subtopic’s purpose.\n"
92
  " - **Track the chosen verb to prevent reusing it in later objectives.**\n\n"
93
-
94
  "### Requirements for the Three Learning Domains\n"
95
  "**Objectives must cover the three domains in a balanced way:**\n\n"
96
-
97
  f"**1. Cognitive Domain (Knowledge):**\n"
98
  f"{objectives_dimensions['Knowledge']['description']}\n"
99
  "**Levels:**\n"
100
- + "\n".join([f" - {level['level_name']}: {level['description']}\n Verbs: {', '.join(level['verbs_examples'])}"
101
- for level in objectives_dimensions['Knowledge']['levels']]) + "\n\n"
102
-
 
 
 
 
103
  f"**2. Affective Domain (Attitude/Ability):**\n"
104
  f"{objectives_dimensions['Ability']['description']}\n"
105
  "**Levels:**\n"
106
- + "\n".join([f" - {level['level_name']}: {level['description']}\n Verbs: {', '.join(level['verbs_examples'])}"
107
- for level in objectives_dimensions['Ability']['levels']]) + "\n\n"
108
-
 
 
 
 
109
  f"**3. Psychomotor Domain (Skills):**\n"
110
  f"{objectives_dimensions['Skills']['description']}\n"
111
  "**Levels:**\n"
112
- + "\n".join([f" - {level['level_name']}: {level['description']}\n Verbs: {', '.join(level['verbs_examples'])}"
113
- for level in objectives_dimensions['Skills']['levels']]) + "\n\n"
114
-
 
 
 
 
115
  "### Critical Requirement: Verb Diversity \n"
116
  "**This is a top-priority rule that must be followed precisely:**\n\n"
117
-
118
  "**Verb Non-Repetition Rules:**\n"
119
  "1. **Maximize verb diversity** — each objective should ideally use a different verb than all previous ones.\n"
120
  "2. **Before selecting a verb, check:** Have I used this verb before? If yes, choose another.\n"
@@ -129,44 +137,35 @@ objectives_task = Task(
129
  " - Space it out by at least 3–5 objectives.\n"
130
  " - Add a justification note in your internal reasoning.\n"
131
  " - Try using it in a different context or content area.\n\n"
132
-
133
  "### The 12 Mandatory Design Standards — Each Objective Must Meet All\n"
134
  "**Based on the detailed objectives reference document:**\n\n"
135
-
136
  "1. **Linked to the general goal:**\n"
137
  " - Every objective must connect to the course’s overall goal.\n"
138
  " - Example: If the general goal is 'Understand the concept of e-learning', "
139
  "the specific objective could be 'The trainee accurately defines e-learning.'\n\n"
140
-
141
  "2. **Measurable:**\n"
142
  " - Objectives must be assessable using measurable performance indicators or outcomes.\n"
143
  " - Correct: 'The trainee compares synchronous and asynchronous learning accurately.'\n"
144
  " - Incorrect: 'The trainee understands e-learning.' (Not measurable)\n\n"
145
-
146
  "3. **Achievable:**\n"
147
  " - Realistic, suitable for learner ability and course duration.\n"
148
  " - Correct: 'The trainee applies the steps to create a learning management account.'\n"
149
  " - Incorrect: 'The trainee develops a full e-learning system in one hour.' (Unrealistic)\n\n"
150
-
151
  "4. **Covers all three domains (Cognitive, Psychomotor, Affective):**\n"
152
  " - Cognitive: 'The trainee defines e-learning accurately.'\n"
153
  " - Psychomotor: 'The trainee practices using LMS assessment tools.'\n"
154
  " - Affective: 'The trainee demonstrates interest in participating in e-learning activities.'\n\n"
155
-
156
  "5. **Aligned with Bloom’s hierarchy:**\n"
157
  " - Objectives must progress logically from lower to higher levels (Remember → Create).\n\n"
158
-
159
  "6. **Clarity and precision:** Objective must be completely clear and specific.\n\n"
160
  "7. **Free from ambiguity:** No vague or overly complex phrasing.\n\n"
161
  "8. **Vocabulary clarity:** All terms must be understandable to {audience}.\n\n"
162
  "9. **Single, focused goal:** Each objective expresses only one learning outcome.\n"
163
  " - Correct: 'The trainee identifies the components of a virtual classroom.'\n"
164
  " - Incorrect: 'The trainee identifies and applies virtual classroom components.'\n\n"
165
-
166
  "10. **Realistic and feasible:** Achievable within program time and resources.\n\n"
167
  "11. **Consistent with program outcomes:** Must align with the general and specific learning outcomes.\n\n"
168
  "12. **Content-linked:** Directly related to the unit or module content.\n\n"
169
-
170
  "### Objective Writing Rules\n"
171
  "- One objective per subtopic — no more, no less.\n"
172
  "- Each must directly and precisely reflect the subtopic’s purpose.\n"
@@ -179,7 +178,6 @@ objectives_task = Task(
179
  "- Ensure objectives are **measurable** and **achievable**.\n"
180
  "- Maintain linguistic clarity — no vague or double meanings.\n"
181
  "- Each objective must express only one precise learning outcome.\n\n"
182
-
183
  "### Strategies for Verb Diversity\n"
184
  "**Use these strategies to ensure maximum variety:**\n\n"
185
  "- **Alternate synonyms:**\n"
@@ -190,7 +188,6 @@ objectives_task = Task(
190
  " - Use verbs that capture the learning result precisely.\n"
191
  "- **Consult the full domain verb lists** (above) with 5–7 verbs per level.\n"
192
  "- **Distribute objectives across the three domains** — avoid focusing only on the cognitive domain.\n\n"
193
-
194
  "### Examples of Correct and Incorrect Objectives\n\n"
195
  "**Correct Examples (Good verb diversity and domain balance):**\n"
196
  "1. (Cognitive - Remember): The trainee lists five types of e-learning platforms.\n"
@@ -201,24 +198,20 @@ objectives_task = Task(
201
  "6. (Affective - Respond): The trainee actively participates in collaborative learning discussions.\n"
202
  "7. (Cognitive - Analyze): The trainee compares different instructional design models.\n"
203
  "8. (Psychomotor - Adapt): The trainee adjusts learning activities to meet learner needs.\n\n"
204
-
205
  "**Incorrect Examples (Verb repetition — avoid this):**\n"
206
  "1. The trainee defines the types of e-learning platforms.\n"
207
  "2. The trainee defines digital assessment tools.\n"
208
  "3. The trainee defines active learning strategies.\n"
209
  "4. The trainee defines blended learning benefits.\n"
210
  "5. The trainee defines steps of activity design.\n\n"
211
-
212
  "**Unclear or Unmeasurable Objectives:**\n"
213
  "- 'The trainee understands e-learning.' (Vague, not measurable)\n"
214
  "- 'The trainee learns how to use tools.' (Unclear — which tools?)\n"
215
  "- 'The trainee becomes an expert in instructional design.' (Unrealistic, not measurable)\n\n"
216
-
217
  "**Improved Versions:**\n"
218
  "- 'The trainee accurately defines e-learning.'\n"
219
  "- 'The trainee effectively uses LMS tools.'\n"
220
  "- 'The trainee applies instructional design principles to create a learning unit.'\n\n"
221
-
222
  "### Critical Quality Checklist — Verify Before Finalizing Each Objective:\n"
223
  "1. ✓ Is it clear and accurately expresses the intended outcome?\n"
224
  "2. ✓ Does it align with a Bloom’s level or learning domain?\n"
@@ -234,7 +227,6 @@ objectives_task = Task(
234
  "12. ✓ Do all objectives collectively cover knowledge, skills, and attitudes?\n"
235
  "**13. Verb Check: Have you reused this verb? If yes, can you replace it?**\n"
236
  "**14. Domain Check: Are the objectives balanced across all three domains?**\n\n"
237
-
238
  "### Self-Reflection Requirement\n"
239
  "After generating all objectives for a unit, pause and evaluate:\n"
240
  "- Do objectives progress logically through Bloom’s levels?\n"
@@ -244,7 +236,6 @@ objectives_task = Task(
244
  "- **Do objectives cover all three domains evenly?**\n"
245
  "- Can an external evaluator assess each objective clearly?\n"
246
  "- Are all objectives realistic for {audience} and course duration?\n\n"
247
-
248
  "### Final Verification: Verb Diversity & Domain Balance\n"
249
  "**Before submitting your final output:**\n"
250
  "1. Count how many times each verb appears.\n"
@@ -256,20 +247,16 @@ objectives_task = Task(
256
  " - Affective (Attitude): 20–30% of objectives\n"
257
  " - Psychomotor (Skills): 20–30% of objectives\n"
258
  "6. If imbalance occurs, revisit and adjust classifications.\n\n"
259
-
260
  "### Domain-Specific Guidelines\n\n"
261
  "**When writing Cognitive (Knowledge) objectives:**\n"
262
  "- Use for topics focused on information, understanding, applying, analyzing, evaluating, or creating.\n"
263
  "- Examples: 'The trainee defines...', 'The trainee compares...', 'The trainee designs...'.\n\n"
264
-
265
  "**When writing Affective (Attitude) objectives:**\n"
266
  "- Use for topics involving values, emotions, interests, or behaviors.\n"
267
  "- Examples: 'The trainee demonstrates interest in...', 'The trainee participates actively...', 'The trainee commits to...'.\n\n"
268
-
269
  "**When writing Psychomotor (Skills) objectives:**\n"
270
  "- Use for topics requiring physical, technical, or procedural performance.\n"
271
  "- Examples: 'The trainee practices...', 'The trainee performs...', 'The trainee innovates...'.\n\n"
272
-
273
  "### Final Important Notes\n"
274
  "- **Top Priority:** Verb diversity and balanced domain distribution.\n"
275
  "- **Quality over quantity:** One well-crafted, diverse objective is better than several repetitive ones.\n"
@@ -282,7 +269,7 @@ objectives_task = Task(
282
  {
283
  "unit": "Unit title",
284
  "unit_description": "Brief summary of the unit scope",
285
- "subtopic": "subtopic title",
286
  "module_description": "Brief summary of what this subtopic covers",
287
  "level": "Bloom's level assigned based on subtopic analysis",
288
  "verbs": ["verb1", "verb2", "verb3"],
@@ -292,5 +279,5 @@ objectives_task = Task(
292
  }""",
293
  output_json=ObjectivesOutput,
294
  agent=objectives_generator,
295
- human_input=False
296
- )
 
72
  objectives_task = Task(
73
  description=(
74
  "You have a complete and well-structured training curriculum provided in {outlines}. "
75
+ "Your task is to create one detailed, measurable learning objective in Arabic for each subtopic(Axis of unit from outlines) , "
76
  "aligned with Bloom’s Taxonomy and the three learning domains, and consistent with the purpose of each subtopic.\n\n"
 
77
  "### Step-by-Step Process\n"
78
  "1. Read the curriculum overview to understand the full learning journey.\n"
79
  "2. **Before you begin, review the complete list of Bloom’s action verbs and the three domains for each level to plan maximum diversity.**\n"
 
89
  " - Choose three relevant Bloom’s verbs that suit the abilities of {audience}.\n"
90
  " - Write one measurable learning objective in Arabic that accurately reflects the subtopic’s purpose.\n"
91
  " - **Track the chosen verb to prevent reusing it in later objectives.**\n\n"
 
92
  "### Requirements for the Three Learning Domains\n"
93
  "**Objectives must cover the three domains in a balanced way:**\n\n"
 
94
  f"**1. Cognitive Domain (Knowledge):**\n"
95
  f"{objectives_dimensions['Knowledge']['description']}\n"
96
  "**Levels:**\n"
97
+ + "\n".join(
98
+ [
99
+ f" - {level['level_name']}: {level['description']}\n Verbs: {', '.join(level['verbs_examples'])}"
100
+ for level in objectives_dimensions["Knowledge"]["levels"]
101
+ ]
102
+ )
103
+ + "\n\n"
104
  f"**2. Affective Domain (Attitude/Ability):**\n"
105
  f"{objectives_dimensions['Ability']['description']}\n"
106
  "**Levels:**\n"
107
+ + "\n".join(
108
+ [
109
+ f" - {level['level_name']}: {level['description']}\n Verbs: {', '.join(level['verbs_examples'])}"
110
+ for level in objectives_dimensions["Ability"]["levels"]
111
+ ]
112
+ )
113
+ + "\n\n"
114
  f"**3. Psychomotor Domain (Skills):**\n"
115
  f"{objectives_dimensions['Skills']['description']}\n"
116
  "**Levels:**\n"
117
+ + "\n".join(
118
+ [
119
+ f" - {level['level_name']}: {level['description']}\n Verbs: {', '.join(level['verbs_examples'])}"
120
+ for level in objectives_dimensions["Skills"]["levels"]
121
+ ]
122
+ )
123
+ + "\n\n"
124
  "### Critical Requirement: Verb Diversity \n"
125
  "**This is a top-priority rule that must be followed precisely:**\n\n"
 
126
  "**Verb Non-Repetition Rules:**\n"
127
  "1. **Maximize verb diversity** — each objective should ideally use a different verb than all previous ones.\n"
128
  "2. **Before selecting a verb, check:** Have I used this verb before? If yes, choose another.\n"
 
137
  " - Space it out by at least 3–5 objectives.\n"
138
  " - Add a justification note in your internal reasoning.\n"
139
  " - Try using it in a different context or content area.\n\n"
 
140
  "### The 12 Mandatory Design Standards — Each Objective Must Meet All\n"
141
  "**Based on the detailed objectives reference document:**\n\n"
 
142
  "1. **Linked to the general goal:**\n"
143
  " - Every objective must connect to the course’s overall goal.\n"
144
  " - Example: If the general goal is 'Understand the concept of e-learning', "
145
  "the specific objective could be 'The trainee accurately defines e-learning.'\n\n"
 
146
  "2. **Measurable:**\n"
147
  " - Objectives must be assessable using measurable performance indicators or outcomes.\n"
148
  " - Correct: 'The trainee compares synchronous and asynchronous learning accurately.'\n"
149
  " - Incorrect: 'The trainee understands e-learning.' (Not measurable)\n\n"
 
150
  "3. **Achievable:**\n"
151
  " - Realistic, suitable for learner ability and course duration.\n"
152
  " - Correct: 'The trainee applies the steps to create a learning management account.'\n"
153
  " - Incorrect: 'The trainee develops a full e-learning system in one hour.' (Unrealistic)\n\n"
 
154
  "4. **Covers all three domains (Cognitive, Psychomotor, Affective):**\n"
155
  " - Cognitive: 'The trainee defines e-learning accurately.'\n"
156
  " - Psychomotor: 'The trainee practices using LMS assessment tools.'\n"
157
  " - Affective: 'The trainee demonstrates interest in participating in e-learning activities.'\n\n"
 
158
  "5. **Aligned with Bloom’s hierarchy:**\n"
159
  " - Objectives must progress logically from lower to higher levels (Remember → Create).\n\n"
 
160
  "6. **Clarity and precision:** Objective must be completely clear and specific.\n\n"
161
  "7. **Free from ambiguity:** No vague or overly complex phrasing.\n\n"
162
  "8. **Vocabulary clarity:** All terms must be understandable to {audience}.\n\n"
163
  "9. **Single, focused goal:** Each objective expresses only one learning outcome.\n"
164
  " - Correct: 'The trainee identifies the components of a virtual classroom.'\n"
165
  " - Incorrect: 'The trainee identifies and applies virtual classroom components.'\n\n"
 
166
  "10. **Realistic and feasible:** Achievable within program time and resources.\n\n"
167
  "11. **Consistent with program outcomes:** Must align with the general and specific learning outcomes.\n\n"
168
  "12. **Content-linked:** Directly related to the unit or module content.\n\n"
 
169
  "### Objective Writing Rules\n"
170
  "- One objective per subtopic — no more, no less.\n"
171
  "- Each must directly and precisely reflect the subtopic’s purpose.\n"
 
178
  "- Ensure objectives are **measurable** and **achievable**.\n"
179
  "- Maintain linguistic clarity — no vague or double meanings.\n"
180
  "- Each objective must express only one precise learning outcome.\n\n"
 
181
  "### Strategies for Verb Diversity\n"
182
  "**Use these strategies to ensure maximum variety:**\n\n"
183
  "- **Alternate synonyms:**\n"
 
188
  " - Use verbs that capture the learning result precisely.\n"
189
  "- **Consult the full domain verb lists** (above) with 5–7 verbs per level.\n"
190
  "- **Distribute objectives across the three domains** — avoid focusing only on the cognitive domain.\n\n"
 
191
  "### Examples of Correct and Incorrect Objectives\n\n"
192
  "**Correct Examples (Good verb diversity and domain balance):**\n"
193
  "1. (Cognitive - Remember): The trainee lists five types of e-learning platforms.\n"
 
198
  "6. (Affective - Respond): The trainee actively participates in collaborative learning discussions.\n"
199
  "7. (Cognitive - Analyze): The trainee compares different instructional design models.\n"
200
  "8. (Psychomotor - Adapt): The trainee adjusts learning activities to meet learner needs.\n\n"
 
201
  "**Incorrect Examples (Verb repetition — avoid this):**\n"
202
  "1. The trainee defines the types of e-learning platforms.\n"
203
  "2. The trainee defines digital assessment tools.\n"
204
  "3. The trainee defines active learning strategies.\n"
205
  "4. The trainee defines blended learning benefits.\n"
206
  "5. The trainee defines steps of activity design.\n\n"
 
207
  "**Unclear or Unmeasurable Objectives:**\n"
208
  "- 'The trainee understands e-learning.' (Vague, not measurable)\n"
209
  "- 'The trainee learns how to use tools.' (Unclear — which tools?)\n"
210
  "- 'The trainee becomes an expert in instructional design.' (Unrealistic, not measurable)\n\n"
 
211
  "**Improved Versions:**\n"
212
  "- 'The trainee accurately defines e-learning.'\n"
213
  "- 'The trainee effectively uses LMS tools.'\n"
214
  "- 'The trainee applies instructional design principles to create a learning unit.'\n\n"
 
215
  "### Critical Quality Checklist — Verify Before Finalizing Each Objective:\n"
216
  "1. ✓ Is it clear and accurately expresses the intended outcome?\n"
217
  "2. ✓ Does it align with a Bloom’s level or learning domain?\n"
 
227
  "12. ✓ Do all objectives collectively cover knowledge, skills, and attitudes?\n"
228
  "**13. Verb Check: Have you reused this verb? If yes, can you replace it?**\n"
229
  "**14. Domain Check: Are the objectives balanced across all three domains?**\n\n"
 
230
  "### Self-Reflection Requirement\n"
231
  "After generating all objectives for a unit, pause and evaluate:\n"
232
  "- Do objectives progress logically through Bloom’s levels?\n"
 
236
  "- **Do objectives cover all three domains evenly?**\n"
237
  "- Can an external evaluator assess each objective clearly?\n"
238
  "- Are all objectives realistic for {audience} and course duration?\n\n"
 
239
  "### Final Verification: Verb Diversity & Domain Balance\n"
240
  "**Before submitting your final output:**\n"
241
  "1. Count how many times each verb appears.\n"
 
247
  " - Affective (Attitude): 20–30% of objectives\n"
248
  " - Psychomotor (Skills): 20–30% of objectives\n"
249
  "6. If imbalance occurs, revisit and adjust classifications.\n\n"
 
250
  "### Domain-Specific Guidelines\n\n"
251
  "**When writing Cognitive (Knowledge) objectives:**\n"
252
  "- Use for topics focused on information, understanding, applying, analyzing, evaluating, or creating.\n"
253
  "- Examples: 'The trainee defines...', 'The trainee compares...', 'The trainee designs...'.\n\n"
 
254
  "**When writing Affective (Attitude) objectives:**\n"
255
  "- Use for topics involving values, emotions, interests, or behaviors.\n"
256
  "- Examples: 'The trainee demonstrates interest in...', 'The trainee participates actively...', 'The trainee commits to...'.\n\n"
 
257
  "**When writing Psychomotor (Skills) objectives:**\n"
258
  "- Use for topics requiring physical, technical, or procedural performance.\n"
259
  "- Examples: 'The trainee practices...', 'The trainee performs...', 'The trainee innovates...'.\n\n"
 
260
  "### Final Important Notes\n"
261
  "- **Top Priority:** Verb diversity and balanced domain distribution.\n"
262
  "- **Quality over quantity:** One well-crafted, diverse objective is better than several repetitive ones.\n"
 
269
  {
270
  "unit": "Unit title",
271
  "unit_description": "Brief summary of the unit scope",
272
+ "subtopic": "Subtopic(Axis) title",
273
  "module_description": "Brief summary of what this subtopic covers",
274
  "level": "Bloom's level assigned based on subtopic analysis",
275
  "verbs": ["verb1", "verb2", "verb3"],
 
279
  }""",
280
  output_json=ObjectivesOutput,
281
  agent=objectives_generator,
282
+ human_input=False,
283
+ )
agents/analysis_phase/outcomes.py CHANGED
@@ -298,5 +298,6 @@ outcomes_task = Task(
298
  ],
299
  }""",
300
  agent=outcomes_generator,
 
301
  human_input=False,
302
  )
 
298
  ],
299
  }""",
300
  agent=outcomes_generator,
301
+ output_json=OutcomesOutput,
302
  human_input=False,
303
  )