There is an important role for a type of intelligent agent we might call a personal assistant. What are personal assistants? What new do they bring to mix? What effect will they have? This post explores the boundaries, and introduces a scenario which might be used to discuss the effect of agents.
(Update: this post has had the terms changed to align with: Not an Agent, but a Personal Assistant.)
What is a Personal Assistant?
It is based on the idea of an agent, and a dictionary will provide the following definitions of that:
- a person who acts on behalf of another
- a person or company that provides a particular service organizing transactions between two other parties.
- a person or thing that takes an active role or produces a specified effect.
Sound like a program? Or maybe a process? For example: I run the process and it automatically updates the DB for me. That seems so disappointing. Clearly, if we view agents simply as another form of programming, then they don’t add anything new to the mix, and they won’t solve anything new either. A personal assistant can mean a variety of things, but generally we emphasize these aspects of a personal assistant:
- asynchrony – personal assistants are specialized do their work for you at a different time. A switch that operates a remote device should not be considered an personal assistant. A BPM process can do things at different times, so it is not just this.
- responsive – an personal assistant is programmed to receive events and respond to them. BPM processes respond to external events as well, so it is not just this either.
- autonomy – the need to in a way behave and to act ‘on its own’ in some sense of the phrase. Responding to, and acting in response to, events can be considered autonomy, and a BPM process can do this.
- rules – necessary, but again, a BPM process can have rules
- negotiation – nothing is every presented in exactly the form that an personal assistant can consume, and a good personal assistant will engage in a form of protocol to clarify what is needed and what can be consumed, and possible clarify what can be provided in response.
- semantic matching – we can’t expect all information to be structed in a single universal way, so there has to be a way to map from an external format to an internal one, and some sort of semantic mapping is probably necessary.
These are all the result of programming, and you could do all this in a standard BPM process, however taken all together they provide some specialized capabilities beyond what we normally consider simple process programming.
To demonstrate all these capabilities we can use a medical care scenario. The story starts with a patient, Alex. Alex has an unexpected pain in his back. Alex starts by conferring with his primary care physician, Betty, a general practitioner who can identify the most common things, and advise about next steps. Before making a preliminary diagnosis, Betty will order some routine tests and measurements. Based on those, and based on what Alex said about the symptoms, she determines that Alex probably has a back problem. Alex resists the urge to say “that is what I told you” while Betty makes a referral to a back specialist Charles.
Charles works in a completely different company, so integration with Betty’s system is minimal if at all. During Alex’s appointment, Charles is going to want to see the earlier tests, and may do some probing himself. While Charles would have loved to perform surgery, he determines that this problem can probably be addressed by a good round of physical therapy, and refers Alex to Dennis.
Alex sets up a schedule to meet with Dennis weekly and work through a set of stretches and exercises. While this is going on, status is reported back to Charles and Betty. This scenario has a happy ending: after 4 months Alex is feeling completely cured, decides to give up donuts, and to work out more, and fills out a pile of paperwork so that the doctors get their fair remuneration from the insurance company.
Why is this a good scenario for discussing personal assistants? There are four reasons:
- Health care is an important field and rapidly expanding field. You will never find one doctor who knows everything, and so you will always need to consult experts outside of the immediate organizations.
- Neither Betty, Charles, nor Dennis own the entire process. They all work for different organizations and we can not assume that there is one IT department setting up a single system. We have to assume that these requests transfer across systems; that those systems were not designed by the same people; that each system has some characteristics unique to that organization.
- Still, they have to work together to to provide coordinated and consistent care for Alex. Somehow, the difference between the systems must be bridged.
- Finally, medical information can potentially be very sensitive. The information must be carefully guarded, and shared on a need to see only basis.
The information flows both ways in this scenario: it will be to Alex’s benefit that the early tests are available to the others, but it also is important to communicate the status as Alex improves back to the earlier doctors as well. The circle will be closed the next time Alex visits Betty for another check up and Betty wants to know how the treatment was concluded.
The next couple of posts (Personal Assistant will connect a Doctor to a Specialist and Assistants Transform Data, Synchronize as Well) explore exactly how a personal assistants play in this scenario — what they can and can not do to coordinate the work of these doctors.