다음을 통해 공유


에이전트를 사용하여 작업 자동화

오늘날 대부분의 AI 에이전트는 단순히 데이터를 검색하고 사용자 쿼리에 응답합니다. 그러나 AI 에이전트는 플러그 인을 사용하여 사용자를 대신하여 작업을 자동화함으로써 훨씬 더 많은 것을 달성할 수 있습니다. 이렇게 하면 사용자가 AI 에이전트에 작업을 위임하여 더 중요한 작업을 위한 시간을 확보할 수 있습니다.

그러나 AI 에이전트가 작업을 수행하기 시작하면 사용자의 이익을 위해 조치를 취하도록 하는 것이 중요합니다. 이것이 바로 AI 에이전트가 수행할 수 있는 작업을 제어할 수 있도록 후크/필터를 제공하는 이유입니다.

AI 에이전트가 사용자를 대신하여 작업을 수행하려는 경우 먼저 사용자의 동의를 요청해야 합니다. 이 작업은 중요한 데이터 또는 금융 트랜잭션과 관련된 경우에 특히 중요합니다.

의미 체계 커널에서 함수 호출 필터를 사용할 수 있습니다. 이 필터는 AI 에이전트에서 함수를 호출할 때마다 항상 호출됩니다. 필터를 만들려면 인터페이스를 구현한 IFunctionInvocationFilter 다음 커널에 서비스로 추가해야 합니다.

다음은 사용자 동의가 필요한 함수 호출 필터의 예입니다.

public class ApprovalFilterExample() : IFunctionInvocationFilter
{
    public async Task OnFunctionInvocationAsync(FunctionInvocationContext context, Func<FunctionInvocationContext, Task> next)
    {
        if (context.Function.PluginName == "DynamicsPlugin" && context.Function.Name == "create_order")
        {
            Console.WriteLine("System > The agent wants to create an approval, do you want to proceed? (Y/N)");
            string shouldProceed = Console.ReadLine()!;

            if (shouldProceed != "Y")
            {
                context.Result = new FunctionResult(context.Result, "The order creation was not approved by the user");
                return;
            }
            
            await next(context);
        }
    }
}

그런 다음, 커널에 서비스로 필터를 추가할 수 있습니다.

IKernelBuilder builder = Kernel.CreateBuilder();
builder.Services.AddSingleton<IFunctionInvocationFilter, ApprovalFilterExample>();
Kernel kernel = builder.Build();

이제 AI 에이전트가 해당 명령을 사용하여 DynamicsPlugin주문을 만들려고 할 때마다 사용자에게 작업을 승인하라는 메시지가 표시됩니다.

함수가 취소되거나 실패할 때마다 적절하게 응답할 수 있도록 AI 에이전트에 의미 있는 오류 메시지를 제공해야 합니다. 예를 들어 주문 생성이 승인되지 않았음을 AI 에이전트에 알리지 않은 경우 기술 문제로 인해 주문이 실패했다고 가정하고 주문을 다시 만들려고 합니다.

다음 단계

이제 에이전트가 작업을 자동화하도록 허용하는 방법을 배웠으므로 에이전트가 사용자 요구를 해결하기 위한 계획을 자동으로 만들 수 있도록 허용하는 방법을 알아볼 수 있습니다.