에이전트(agent) 개념은 매우 다양한 요소를 가지고 있다. 첫째로 특정 목적에 대해 사용자를 대신하여 작업을 수행하는 자율적 프로세스(autonomous process)가 보장되어야 하며, 둘째로 독자적으로 존재하지 않고 어떤 환경(운영 체제, 네트워크 등)의 일부이거나 그 안에서 동작하는 시스템에 의존한다. 셋째로 에이전트는 지식 기반과 추론 기능을 가지면서 다른 에이전트와의 정보교환을 통해 문제를 해결하고, 마지막으로는 자신의 환경 변화를 인지하고 그에 대응하는 행동을 취하면서 경험을 바탕으로 하는 학습이 중요한 자산이 된다는 것이다(cf. 박재홍, 2013: 15).
에이전트가 가지고 있는 요소에는 자율적 프로세스의 보장, 어떠한 환경, 혹은 그속의 시스템, 정보교환을 통한 문제해결, 그리고 환경의 변화에 대한 학습이 있다.