에이전트 게시와 호출
코드 기반 에이전트는 온톨로지 바인딩과 에이전트 API 이름으로 게시되며, 게시 후 Foundry의 비동기 함수로 호출합니다.
온톨로지와 함수 식별
Ontology 선택기는 필수입니다. 에이전트가 읽고 변경할 온톨로지를 선택하면 권한 범위에 사용할 온톨로지 바인딩(Ontology binding)이 정해집니다.
Agent API name은 Workshop이나 OSDK에서 호출할 에이전트 함수를 식별합니다. 저장소 이름에서 자동 생성되며 에이전트 설정 화면에서 수정할 수 있습니다.
게시 시 Foundry가 이 두 값을 등록하고 함수를 노출하므로, 게시가 끝난 뒤 호출을 위한 별도 연결 설정은 필요하지 않습니다.
비동기 실행 계약
에이전트 함수는 비동기로 실행되므로 동기 함수의 5분 실행 제한을 적용받지 않습니다.
| 항목 | 동작 |
|---|---|
| 반환형 | Void |
| 질의 함수 호출 | 지원하지 않음 |
| 결과 전달 | 온톨로지 객체에 기록한 결과나 대화 이력을 호출자가 다시 읽음 |
| 스트리밍 호출 | 지원하지 않음 |
| 배치 호출 | 지원하지 않음 |
내부 SDK가 모델 응답 스트림을 처리하는 것과 게시한 Foundry 함수를 외부에서 스트리밍으로 호출하는 것은 다릅니다.
Automate에서 실행
Automate에 에이전트 함수를 가리키는 함수 효과(Function effect)를 구성하는 방식이 권장됩니다.
에이전트는 자동화를 시작한 사용자 또는 자동화를 뒷받침하는 서비스 사용자로 실행됩니다. 실행 주체에 따른 접근 범위를 함께 검토해야 합니다.
Workshop·OSDK·액션에서 실행
비동기 함수를 호출할 수 있는 Workshop, Ontology SDK와 온톨로지 액션에서도 사용할 수 있습니다. 함수 효과로 호출하거나, 에이전트를 호출하는 TypeScript 온톨로지 편집 함수로 감쌉니다.
함수는 값을 반환하지 않으므로 에이전트가 결과를 온톨로지 객체에 기록하도록 설계합니다. 화면이나 다른 서비스는 그 객체를 읽어 결과를 소비합니다. AIP Evals로 에이전트 출력을 평가할 때도 같은 전달 방식을 사용합니다.
실행 인수
agent/index.ts의 AgentArguments 스키마로 실행마다 받을 인수를 정의합니다. 호출 시 JSON 객체의 키를 스키마와 맞춥니다.
온톨로지 객체를 전달하려면 객체 전체 대신 기본 키를 전달하고, 에이전트 안에서 OSDK나 OMCP로 다시 조회합니다.
개발 실행의 명령행 인수
템플릿의 시작 명령은 --json-args로 인수를 받습니다. 다음은 가상의 추가 문맥을 전달하는 예입니다. 템플릿 명령행 형식의 type과 string 필드를 유지합니다.
npm run start -- --json-args '{"additionalAgentContext":{"type":"string","string":"비민감 실습 데이터만 사용합니다."}}'
파일로 전달하려면 같은 구조의 JSON 파일을 만들고 --json-args-file을 사용합니다.
{
"additionalAgentContext": {
"type": "string",
"string": "비민감 실습 데이터만 사용합니다."
}
}
파일 이름이 agent-args.json이면 다음과 같이 실행합니다.
npm run start -- --json-args-file agent-args.json
전역 브랜치에서 게시하는 경우
전역 브랜치는 저장소 화면으로 브랜치용 사전 릴리스를 생성해야 합니다. 일반 기본 브랜치의 태그 게시와 절차가 다르므로 전역 브랜치 개발의 게시 및 병합 규칙을 따릅니다.