Agent-based Document Construction