Fable
Managing machines and managing craftsmen
Old Sun's factory had two kinds of workers: machine operators and craftsmen. Machine operators pressed buttons, watched gauges and followed procedures, every step preset. Craftsmen, after receiving drawings, judged material selection themselves, decided which step to do first themselves, and adjusted their methods themselves when encountering anomalies.
The factory's scheduling system was originally designed only for machine operators. The system issued instructions, and the operators followed them. If a machine broke down, the operator reported it, and the scheduling system reassigned the task to the next available operator. This system ran for three years, stable and reliable.
Later the factory recruited a group of craftsmen and had them connect to the same scheduling system. Problems appeared immediately. The scheduling system assigned a craftsman the task of "make a chair." The craftsman looked at the blueprint and said: beech is not suitable for this chair; it needs oak. The system had no process for "craftsman rejects task," so the task got stuck.
Another craftsman was handling two jobs in parallel, and the system thought he was slacking off, so it automatically reassigned one of them to someone else. When the craftsman came back, he found the semi-finished product had been taken away and had to start over. The scheduling system does not understand the state of "in progress but not completed."
Old Sun brought the dispatch team and the craftsmen's representatives together and redesigned the system. The new system distinguished two types of tasks: deterministic tasks were sent to operators, with fixed steps, fixed times and fixed results; open-ended tasks were sent to craftsmen, with a goal description, constraints and acceptance criteria, and craftsmen could propose changes, report progress and request collaboration.
The new system adds a layer called "intent alignment." Before assigning a task to a craftsman, the system first asks: does this task require judgment? Does it require adjustment? Does it require multi-step decision-making? If all three are no, it goes through the operator channel. If even one is yes, it goes through the craftsman channel, giving the craftsman more autonomy.
After touring the factory, a customer asked Old Sun: Isn't your scheduling system just orchestration? Old Sun said: Yes, but we split orchestration into two layers. The bottom layer is general orchestration—handling distribution, tracking, and retries for all tasks. The top layer is helper orchestration—specifically managing those executors that can think for themselves.
Later, Old Sun's team established a rule: before a new task is connected to the scheduling system, fill out a classification form first to determine whether it is "preset steps" or "requires autonomous decision-making." If the classification is wrong, even the best orchestration engine will manage a craftsman like a machine and treat a machine like a craftsman.