mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
c9cd067be6
* support script execution by code interpretor * improve the instruction prompt * Add DefaultAzureCredential production warning to AgentSkills samples Add the standard three-line WARNING comment about DefaultAzureCredential production considerations to both AgentSkills sample Program.cs files, matching the convention used in all other GettingStarted/Agents samples. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * address pr review comments * address feedback * rename Skill* types to FileAgentSkill* prefix for consistency - Rename SkillFrontmatter -> FileAgentSkillFrontmatter - Rename SkillScriptExecutor -> FileAgentSkillScriptExecutor - Add FileAgentSkillScriptExecutionContext and FileAgentSkillScriptExecutionDetails - Update sample, provider, loader, and tests accordingly Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * reorder usings * use set for props initialization instead of init * rename HostedCodeInterpreterSkillScriptExecutor --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
43 lines
1.9 KiB
C#
43 lines
1.9 KiB
C#
// Copyright (c) Microsoft. All rights reserved.
|
|
|
|
using System.Diagnostics.CodeAnalysis;
|
|
using Microsoft.Shared.DiagnosticIds;
|
|
|
|
namespace Microsoft.Agents.AI;
|
|
|
|
/// <summary>
|
|
/// Defines the contract for skill script execution modes.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// <para>
|
|
/// A <see cref="FileAgentSkillScriptExecutor"/> provides the instructions and tools needed to enable
|
|
/// script execution within an agent skill. Concrete implementations determine how scripts
|
|
/// are executed (e.g., via the LLM's hosted code interpreter, an external executor, or a hybrid approach).
|
|
/// </para>
|
|
/// <para>
|
|
/// Use the static factory methods to create instances:
|
|
/// <list type="bullet">
|
|
/// <item><description><see cref="HostedCodeInterpreter"/> — executes scripts using the LLM provider's built-in code interpreter.</description></item>
|
|
/// </list>
|
|
/// </para>
|
|
/// </remarks>
|
|
[Experimental(DiagnosticIds.Experiments.AgentsAIExperiments)]
|
|
public abstract class FileAgentSkillScriptExecutor
|
|
{
|
|
/// <summary>
|
|
/// Creates a <see cref="FileAgentSkillScriptExecutor"/> that uses the LLM provider's hosted code interpreter for script execution.
|
|
/// </summary>
|
|
/// <returns>A <see cref="FileAgentSkillScriptExecutor"/> instance configured for hosted code interpreter execution.</returns>
|
|
public static FileAgentSkillScriptExecutor HostedCodeInterpreter() => new HostedCodeInterpreterFileAgentSkillScriptExecutor();
|
|
|
|
/// <summary>
|
|
/// Returns the tools and instructions contributed by this executor.
|
|
/// </summary>
|
|
/// <param name="context">
|
|
/// The execution context provided by the skills provider, containing the loaded skills
|
|
/// and the skill loader for reading resources.
|
|
/// </param>
|
|
/// <returns>A <see cref="FileAgentSkillScriptExecutionDetails"/> containing the executor's tools and instructions.</returns>
|
|
protected internal abstract FileAgentSkillScriptExecutionDetails GetExecutionDetails(FileAgentSkillScriptExecutionContext context);
|
|
}
|