pub struct Researcher { /* private fields */ }Expand description
Researcher: search, read, gather → structured findings.
Implementations§
Source§impl Researcher
impl Researcher
pub fn new(ctx: AgentContext) -> Researcher
pub fn with_config(ctx: AgentContext, config: ResearchConfig) -> Researcher
Sourcepub async fn research(
&self,
question: &str,
context: Option<&str>,
) -> AgentResult
pub async fn research( &self, question: &str, context: Option<&str>, ) -> AgentResult
Research a question, optionally grounded in memory context.
The context (AST scan of the codebase, file tree, knowledge maps) is inlined directly into the prompt so the LLM definitely sees it. The prompt enforces specificity: every finding must cite a concrete file path or symbol. Broad/vague questions (“review the codebase”) are expanded into a multi-axis investigation so the synthesizer has real material to work with downstream.
Auto Trait Implementations§
impl Freeze for Researcher
impl !RefUnwindSafe for Researcher
impl Send for Researcher
impl Sync for Researcher
impl Unpin for Researcher
impl UnsafeUnpin for Researcher
impl !UnwindSafe for Researcher
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more