We describe an agent-based approach for engineering problems in which the constraints and general control of problem solving are distributed. In order to overcome previous problems with engineering constraint solvers, we divide responsibilities between domain-specific agents, which control the overall problem solving, and generic, reusable agents. One of these generic agents is Reduxt, which provides general problem solving bookkeeping services. Another is a Constraint Manager, which provides constraint consistency services. We demonstrate the utility of this approach on a previously-defined simple, but difficult, distributed constraint problem.