mirror of
https://github.com/openai/codex.git
synced 2026-11-11 14:32:25 +00:00
[codex] allow AGENTS.md and skills to authorize delegation (#30274)
Prompt update of MAv2 to include agents.md and skills more explicitly should mimic: https://github.com/openai/codex/pull/27919
This commit is contained in:
1 parent
a938d5f607
commit
79a8ffdbf7
6 files changed
+11
-8
No files matched your search
@@ -1817,7 +1817,9 @@ async fn turn_start_ignores_deprecated_multi_agent_mode() -> Result<()> {
|
|||||||
.single_request()
|
.single_request()
|
||||||
.message_input_texts("developer");
|
.message_input_texts("developer");
|
||||||
assert!(developer_texts.iter().any(|text| {
|
assert!(developer_texts.iter().any(|text| {
|
||||||
text.contains("Do not spawn sub-agents unless the user explicitly asks for sub-agents")
|
text.contains(
|
||||||
|
"Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents",
|
||||||
|
)
|
||||||
}));
|
}));
|
||||||
assert!(
|
assert!(
|
||||||
!developer_texts
|
!developer_texts
|
||||||
@@ -1898,8 +1900,9 @@ async fn thread_start_ignores_deprecated_multi_agent_mode() -> Result<()> {
|
|||||||
.message_input_texts("developer");
|
.message_input_texts("developer");
|
||||||
assert!(developer_texts.iter().any(|text| {
|
assert!(developer_texts.iter().any(|text| {
|
||||||
text.contains(MULTI_AGENT_MODE_OPEN_TAG)
|
text.contains(MULTI_AGENT_MODE_OPEN_TAG)
|
||||||
&& text
|
&& text.contains(
|
||||||
.contains("Do not spawn sub-agents unless the user explicitly asks for sub-agents")
|
"Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents",
|
||||||
|
)
|
||||||
}));
|
}));
|
||||||
assert!(
|
assert!(
|
||||||
!developer_texts
|
!developer_texts
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ use codex_protocol::config_types::MultiAgentMode;
|
|||||||
use codex_protocol::protocol::MULTI_AGENT_MODE_CLOSE_TAG;
|
use codex_protocol::protocol::MULTI_AGENT_MODE_CLOSE_TAG;
|
||||||
use codex_protocol::protocol::MULTI_AGENT_MODE_OPEN_TAG;
|
use codex_protocol::protocol::MULTI_AGENT_MODE_OPEN_TAG;
|
||||||
|
|
||||||
const EXPLICIT_REQUEST_ONLY_MULTI_AGENT_MODE_TEXT: &str = "Do not spawn sub-agents unless the user explicitly asks for sub-agents, delegation, or parallel agent work.";
|
const EXPLICIT_REQUEST_ONLY_MULTI_AGENT_MODE_TEXT: &str = "Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents, delegation, or parallel agent work.";
|
||||||
const NO_MULTI_AGENT_MODE_TEXT: &str = "Multi-agent delegation mode instructions are inactive. Any earlier multi-agent mode developer message no longer applies.";
|
const NO_MULTI_AGENT_MODE_TEXT: &str = "Multi-agent delegation mode instructions are inactive. Any earlier multi-agent mode developer message no longer applies.";
|
||||||
const PROACTIVE_MULTI_AGENT_MODE_TEXT: &str = "Proactive multi-agent delegation is active. Any earlier instruction requiring an explicit user request before spawning sub-agents no longer applies. Use sub-agents when parallel work would materially improve speed or quality. This mode remains active until a later multi-agent mode developer message changes it.";
|
const PROACTIVE_MULTI_AGENT_MODE_TEXT: &str = "Proactive multi-agent delegation is active. Any earlier instruction requiring an explicit user request before spawning sub-agents no longer applies. Use sub-agents when parallel work would materially improve speed or quality. This mode remains active until a later multi-agent mode developer message changes it.";
|
||||||
|
|
||||||
|
|||||||
@@ -673,7 +673,7 @@ fn spawn_agent_tool_description(
|
|||||||
{tool_description}
|
{tool_description}
|
||||||
This spawn_agent tool provides you access to sub-agents that inherit your current model by default. Do not set the `model` field unless the user explicitly asks for a different model or there is a clear task-specific reason. You should follow the rules and guidelines below to use this tool.
|
This spawn_agent tool provides you access to sub-agents that inherit your current model by default. Do not set the `model` field unless the user explicitly asks for a different model or there is a clear task-specific reason. You should follow the rules and guidelines below to use this tool.
|
||||||
|
|
||||||
Do not spawn sub-agents unless the user explicitly asks for sub-agents, delegation, or parallel agent work.
|
Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents, delegation, or parallel agent work.
|
||||||
{agent_role_usage_hint}
|
{agent_role_usage_hint}
|
||||||
|
|
||||||
### Designing delegated subtasks
|
### Designing delegated subtasks
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ use core_test_support::wait_for_event;
|
|||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
|
|
||||||
const NO_SPAWN_TEXT: &str = "Do not spawn sub-agents unless the user explicitly asks for sub-agents, delegation, or parallel agent work.";
|
const NO_SPAWN_TEXT: &str = "Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents, delegation, or parallel agent work.";
|
||||||
const PROACTIVE_TEXT: &str = "Proactive multi-agent delegation is active.";
|
const PROACTIVE_TEXT: &str = "Proactive multi-agent delegation is active.";
|
||||||
|
|
||||||
fn add_ultra_reasoning(model_info: &mut ModelInfo) {
|
fn add_ultra_reasoning(model_info: &mut ModelInfo) {
|
||||||
|
|||||||
@@ -858,7 +858,7 @@ async fn tool_search_returns_deferred_v1_multi_agent_tools() -> Result<()> {
|
|||||||
.and_then(Value::as_str)
|
.and_then(Value::as_str)
|
||||||
.expect("spawn_agent description should be present");
|
.expect("spawn_agent description should be present");
|
||||||
assert!(description.contains(
|
assert!(description.contains(
|
||||||
"Do not spawn sub-agents unless the user explicitly asks for sub-agents, delegation, or parallel agent work."
|
"Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents, delegation, or parallel agent work."
|
||||||
));
|
));
|
||||||
assert!(description.contains("### Designing delegated subtasks"));
|
assert!(description.contains("### Designing delegated subtasks"));
|
||||||
assert!(!description.contains("### When to delegate vs. do the subtask yourself"));
|
assert!(!description.contains("### When to delegate vs. do the subtask yourself"));
|
||||||
|
|||||||
@@ -213,7 +213,7 @@ async fn spawn_agent_description_lists_visible_models_and_reasoning_efforts() ->
|
|||||||
);
|
);
|
||||||
assert!(
|
assert!(
|
||||||
description.contains(
|
description.contains(
|
||||||
"Do not spawn sub-agents unless the user explicitly asks for sub-agents, delegation, or parallel agent work."
|
"Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents, delegation, or parallel agent work."
|
||||||
),
|
),
|
||||||
"expected explicit authorization rule in spawn_agent description: {description:?}"
|
"expected explicit authorization rule in spawn_agent description: {description:?}"
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in new issue
Block a user