knowledge-level agent