검수요청.png검수요청.png

에이전트 (소프트웨어)

위키원
sosodam (토론 | 기여)님의 2020년 8월 20일 (목) 17:55 판
이동: 둘러보기, 검색

에이전트(agent)는 사용자의 개입 없이 주기적으로 정보를 모으거나 또는 일부 다른 서비스를 수행하는 프로그램이다. 인공지능에서는 지능형 에이전트라고 부른다.

개요

에이전트는 환경, 사용자 입력 및 경험에 따라 의사 결정을 하거나 서비스를 수행할 수 있는 프로그램이다. 이러한 프로그램은 사용자가 실시간으로 지시할 때 프로그램된 정규 일정의 정보를 자율적으로 수집하는 데 사용할 수 있다. 에이전트는 로봇의 줄임말인 봇이라고도 할 수 있다. 일반적으로 에이전트 프로그램은 사용자가 제공한 매개 변수를 사용하여 인터넷의 전체 또는 일부를 검색하고 사용자가 관심 있는 정보를 수집하여 주기적 또는 요청된 기준으로 사용자에게 제공한다. 데이터 인텔리전트 에이전트는 포함된 키워드나 게시 날짜와 같이 특정 가능한 정보를 추출할 수 있다. 인공지능(AI)을 채용한 에이전트에서는 마이크나 카메라 등 센서를 이용해 사용자 입력을 수집하고, 스피커나 화면 등 액츄에이터를 통해 에이전트 출력을 전달한다. 에이전트가 사용자에게 정보를 가져오는 관행을 푸시 기술이라고 한다. 에이전트의 공통적인 특징은 경험에 기초한 적응, 실시간 문제 해결, 오류나 성공률 분석, 메모리 기반 저장 및 검색의 이용이다. 기업의 경우 에이전트를 데이터 마이닝, 데이터 분석, 고객 서비스 및 지원(CSS) 분야의 애플리케이션에 사용할 수 있다. 소비자들은 또한 지능적인 에이전트를 사용하여 유사한 제품의 가격을 비교하고 웹사이트 업데이트가 발생했을 때 사용자에게 알릴 수 있다.[1] 인터넷 서핑, 온라인 쇼핑, 의학 진단, 어떤 물품의 수송을 주선하거나, 소행성대를 탐사하기 위한 우주 임무를 계획하든, 에이전트는 그 과정에서 핵심적인 역할을 한다. 또한 오늘날 분산 프로젝트 관리, 전자 상거래, 정보 검색, 의료 분야, 군사, 제조, 네트워킹, 계획 및 스케줄링, 나사(NASA) 미션 등 다양한 분야에 적용되고 있다.[2] 인텔리전트 에이전트는 자율 컴퓨터 프로그램인 소프트웨어 에이전트와도 비슷하다.

특징

  • 자율성(autonomy): 에이전트는 사람이나 다른 사물의 직접적인 간섭 없이 스스로 판단하여 동작하고, 그들의 행동이나 내부 상태에 대한 어떤 종류의 제어를 갖는다.
  • 사회성(social ability): 에이전트는 에이전트 통신 언어를 사용하여 사람과 다른 에이전트들과 상호작용 할 수 있다.

반응성(reactivity) 에이전트는 실세계, 그래픽사용자 인터페이스를 경유한 사용자, 다른 에이전트들의 집합, 인터넷 같은 환경을 인지하고 그 안에서 일어나는 변화에 시간상 적절히 반응한다.

  • 능동성(proactivity): 에이전트는 단순히 환경에 반응하여 행동하는 것이 아니라 주도권을 가지고 목표 지향적으로 행동한다.
  • 시간 연속성(temporal continuity): 에이전트는 단순히 한번 주어진 입력을 처리하여 결과를 보여주고 종료하는 것이 아니라, 전면에서 실행하고 이면에서 잠시 휴식하는 연속적으로 수행하는 데몬(demon)같은 프로세스이다.
  • 목표지향성(goal-orientedness): 에이전트는 복잡한 고수준 작업들을 수행한다. 작업이 더 작은 세부 작업으로 나뉘고 처리순서가 결정되어 처리되는 등의 책임을 에이전트가 진다.
  • 이동성(mobility): 사용자가 요구한 작업을 현재의 컴퓨터에서 처리하지 않고 그 작업을 처리할 수 있는 다른 컴퓨터로 이동시켜 수행함으로써 효율을 높이고 네트워크 부하를 감소시킨다.
  • 합리성(rationality): 에이전트가 목표를 달성하기 위해 행동하지 목표 달성을 방해하는 방향으로는 행동하지 않는다.
  • 적응성(adaptability): 에이전트는 사용자의 습관과 작업 방식 그리고 취향에 따라 스스로를 적응시킬 수 있다.
  • 협동성(collaboration): 에이전트는 다른 에이전트, 자원, 사람과도 복잡한 작업을 수행하기 위해 협력할 수 있다.[3]

유형

지능적 에이전트의 유형은 능력 범위와 지능 정도에 의해 정의된다.

  • 반사적 에이전트: 이 에이전트는 과거 역사를 무시한 채 현재 상태에서 기능한다. 응답은 사용자가 이벤트를 시작하고 에이전트는 사전 설정된 규칙과 사전 프로그래밍된 결과의 목록을 참조하는 이벤트 조건-조치 규칙(ECA 규칙)에 근거한다.
  • 모델 기반 에이전트: 이 에이전트는 반사적 에이전트와 같은 방법으로 행동을 선택하지만, 환경에 대한 보다 포괄적인 관점을 가지고 있다. 세계의 모델은 에이전트의 이력을 통합한 내부 시스템에 프로그램되어 있다.
  • 목표 기반 에이전트: 이러한 에이전트는 목표 정보 또는 바람직한 상황에 대한 정보를 포함하여 정보 모델 기반 에이전트 저장소로 확장한다.
  • 유틸리티 기반 에이전트: 이 에이전트는 목표 기반 에이전트와 유사하지만 각각의 가능한 시나리오에 원하는 결과를 평가하고 결과를 최대화하는 조치를 선택하는 추가적인 효용 측정을 제공한다. 평가 기준의 예는 성공 확률 또는 필요한 자원이 될 수 있다.
  • 학습 에이전트: 이 에이전트는 추가 학습 요소를 통해 시간이 지남에 따라 환경을 점진적으로 개선하고 더 많은 지식을 습득할 수 있는 능력을 가지고 있다. 학습 요소는 피드백을 사용하여 성능 요소가 점진적으로 개선되도록 어떻게 변경되어야 하는지를 결정할 것이다.[1]
  • 인터페이스 에이전트: 현존하는 많은 컴퓨터 프로그램과 인터페이스는 명백하게 인간의 재능과 흥미를 표현하지만 인간과 컴퓨터 사이에는 아직도 대화능력이 부족하다. 사용자 인터페이스 에이전트(user interface agent)는 사용자의 원하는 작업을 찾아내서 이들을 네트워크나 응용 프로그램안 어디에서든지 실행할 수 있도록 이동시켜 준다. 사용자 인터페이스는 응용 프로그램의 성공에 있어 매우 중요하다. 이것은 사용자 요구의 자연적 모호성을 명확하게 해석하여 모호하지 않은 문장을 즉시 프로세스로 보낼 수 있어야 한다. 인터페이스는 또한 결과를 사용자에 의해 요구되고 이해되는 형태로 변환할 수 있어야 한다.
  • 데스크톱 에이전트: 데스크톱 에이전트(desktop agent)는 PC나 워크스테이션의 운영 체제에 상주하면서 국부적으로 실행되는 소프트웨어 에이전트이다. 데스크톱 에이전트는 운영 체제 에이전트, 응용 프로그램 에이전트, 응용 프로그램 환경 에이전트로 분류된다.
  • 인터넷 에이전트: 인터넷 에이전트(internet agent)는 서버에 상주하면서 사용자와 직접적인 상호 작용없이 사용자를 대신해서 작업을 수행하도록 인터넷상에서 분산된 온라인 정보를 접근하는 컴퓨터 프로그램이다. 인터넷 에이전트는 정보제공자와 정보소비자 사이의 정보중개인으로 동작한다. 그런 정보 매개체로서 인터넷 에이전트는 사용자들의 정보 요구를 정보 공급자, 정보 형태, 정보 내용에 따라 중재해 준다.
  • 전자상거래 에이전트: 현재의 상거래는 사람이 물건을 사고 파는 업무를 수행하는 거의 전적으로 사람에 의해 이루어지고 있다. 그러나 일부 상거래 과정을 살펴보면 상거래의 일부가 자동화되지 않을 이유가 없다. 상거래 과정의 일부는 에이전트가 대신하는 전자상거래 에이전트(electronic commerce agent)가 출현하고 있다.[3]

각주

  1. 1.0 1.1 Margaret Rouse, 〈intelligent agent)〉, 《TechTarget》
  2. Frederick Mills, Robert Stufflebeam, 〈Introduction to Intelligent Agents〉, 《CCSI》
  3. 3.0 3.1 지능형 에이전트 위키백과 - https://ko.wikipedia.org/wiki/%EC%A7%80%EB%8A%A5%ED%98%95_%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8

참고자료

같이 보기


  검수요청.png검수요청.png 이 에이전트 (소프트웨어) 문서는 인공지능 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.