Статья, на которую ссылается @giulio, описывает хороший подход для эффективной передачи данных между «связанными» агентами.
Единственная проблема с примером в статье, с которой может столкнуться @Jairo, заключается в том, что документ, чей noteid передается дочернему агенту (назовем его «прокси»), хранится в базе данных, инициируя вызов агента. Это нормально, если субагент находится в той же базе данных, однако в оригинальном описании указано, что субагент иногда находится в другой базе данных. Это означает, что если вы хотите получить и обновить прокси-сервер из субагента, сначала вам нужно получить дескриптор к вызывающей БД.
Теперь в некоторых случаях субагенту может быть все равно, откуда он был вызван, но он все же хочет записать некоторые результаты в прокси.
Поэтому хорошим подходом является хранение прокси в месте, которое, как вы знаете, всегда будет доступно. Например. при связывании агентов из вызова, сделанного на клиенте Notes, вы можете сохранить прокси-документ в локальном файле "bookmarks.nsf". Это системная база данных, и она всегда доступна, поэтому это хорошее место для хранения документов. Затем, когда ваш субагент запускается, извлеките прокси из bookmarks.nsf, используя переданный «noteid», не беспокоясь о том, где находится родительский агент. Вероятно, хорошей практикой будет удаление прокси-документов из закладок db после того, как вы закончите.