All courses · Course overview · Lesson sequence
Skip to lesson textCourse reference
Guest-reading edition: see edition scope and limitations. The authoring-status notes in this document describe the original 17 October snapshot.
Course syllabus: Agentic Workflow Engineering
Local development edition · C10 · canonical slug agentic-workflows
A small automated investigation can be harder to trust than one model answer. It can repeat a failed tool call, mistake a suggestion for permission, or lose the reason it stopped. This course asks learners to make those behaviors explicit, then decide where model-driven planning earns its complexity.
By the end of this local course, learners should be able to build and defend a bounded workflow with clear state, validated tool contracts, synthetic human decisions, a failure model and a reproducible evaluation set. All ten modules are authored. Learning outcomes remain teaching targets rather than measured learner accomplishments. Model behavior, real authentication and production operations are explicitly outside the executed scope.
Prerequisites and scope
Required: practical Python, small tests, structured records and generative AI application concepts. Recommended: the Generative AI and RAG Applications course once available, or equivalent skills. A readiness task is to write a function that validates a record and a test that rejects a Boolean where a year is required.
This is code-based workflow engineering. It does not repeat general prompting, no-code connectors, retrieval indexing, FastAPI endpoints or deployment tutorials. LangGraph is the implemented primary framework, consistent with the catalogue direction. The core labs use the standard library and synthetic tools; Module 7 adds the separately pinned and tested LangGraph dependency. CrewAI is not implemented in this edition and remains an optional catalogue comparison, not a second framework course.
Module sequence
| Module | Problem and new learning | Required learner artifact | Draft status |
|---|---|---|---|
| 1. Control before autonomy | An audit draft looks correct, but who chose the next action? Distinguish a fixed controller from a model-directed agent; inspect state, limits, retries and a review boundary. | Service contract, traced offline run, three boundary tests and evidence statement. | Fully written opening lesson, separate solutions, visual and project. |
| 2. State that survives ambiguity | Define inputs, working state, terminal outcomes, schema versions, revisions and legal transitions. | State table and stale/illegal-transition tests. | Authored, separate solutions and original visual; executable checkpoints. |
| 3. Tools as narrow contracts | Separate operation scope, argument checks and output evidence validation. | Static two-operation allowlist analysis and negative contract tests. | Authored with solutions, visual and synthetic tool failures. |
| 4. Add a bounded planner | Test planner proposals against controller-owned budgets and prerequisites. | Planner doubles, bounded-loop traces and future adapter design. | Authored; deterministic protocol/doubles run; no live-model adapter claimed. |
| 5. Recover and replay deliberately | Preserve reservations and uncertainty across explicit checkpoint transfer. | Failure matrix and in-memory transactional/restart simulation. | Authored with fault injection, explained solutions and visual. |
| 6. Pause at a human decision | Bind synthetic decisions to draft, revision, source and logical time. | Approval/rejection/expiry tests and decision table. | Authored; simulated pause/resume and zero-write finalization run. |
| 7. Move the contract to LangGraph | Preserve the controller's behavior in a pinned graph runtime with interrupts. | Actual graph execution evidence and baseline comparison. | Authored; LangGraph 1.2.16 locally tested, seven explicit framework tests. |
| 8. Evaluate whole trajectories | Compare outcomes, bounded event trajectories and safe stops using honest denominators. | Eight authored regression cases, case-level results and failure analysis. | Authored; executable evaluator; not held-out model evaluation. |
| 9. Control context and adversarial input | Separate raw text from planner view and preserve source provenance. | Boundary tests and future context contract. | Authored; no live-model injection claim. |
| 10. Defend a capstone release decision | Assemble reproducible evidence and make a scoped release recommendation. | Learner scaffold, runnable reference, formative checks and self-review rubric. | Authored; local synthetic use only, no publication decision. |
Planning allowance: about 24–32 hours for this edition, including capstone work. This is an author estimate, not measured learner completion time. Module 1 may take 90–150 minutes depending on Python fluency; no learner timing study has been run.
Proposed assessment
Modules 1–9 produce formative artifacts and explanations. The capstone self-review rubric rewards correct outcomes (25), enforced tool/authority boundaries (25), recovery and state correctness (20), useful tests and evaluation (20), and honest documentation (10). A provisional pass is 80/100 with mandatory gates: no unauthorized side effects, no silent continuation after a mandatory stop, and no mislabeling synthetic evidence as live verification. This rubric has not been piloted and does not grant Aabha credit or a certificate.
Execution and scope
Follow the modules in order; attempt practice before opening its separate numbered solution. All core projects use deterministic tools and planner doubles. Module 7 requires an isolated environment with the recorded optional framework dependency; no model/provider or hosted service is used. Read the project guide for exact commands. Any later live-model path needs explicit scope, permitted account, data and spend boundaries, and fresh evaluation. It is not implemented here. Production integration, platform grading and publication are separate work.