feat: 背景工作線(work 分類、子代理派工、完成後由角色回報)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
e99e7b1536
commit
8c25728206
+4
-3
@@ -1,15 +1,15 @@
|
||||
export type ModelName = 'haiku' | 'sonnet' | 'opus'
|
||||
export type Effort = 'low' | 'medium' | 'high'
|
||||
export type Tone = 'neutral' | 'praise' | 'scold'
|
||||
export type Route = { difficulty: number; model: ModelName; effort: Effort; tone: Tone; ack: string }
|
||||
export type Route = { difficulty: number; model: ModelName; effort: Effort; tone: Tone; ack: string; work: boolean }
|
||||
|
||||
export const LADDER: readonly ModelName[] = ['haiku', 'sonnet', 'opus']
|
||||
|
||||
export const FALLBACK_ROUTE: Route = { difficulty: 5, model: 'sonnet', effort: 'medium', tone: 'neutral', ack: '' }
|
||||
export const FALLBACK_ROUTE: Route = { difficulty: 5, model: 'sonnet', effort: 'medium', tone: 'neutral', ack: '', work: false }
|
||||
|
||||
export const CLASSIFY_PROMPT =
|
||||
'你是路由器。讀下面使用者輸入,只回傳一行 JSON:' +
|
||||
'{"difficulty":1-10,"model":"haiku|sonnet|opus","effort":"low|medium|high","tone":"neutral|praise|scold","ack":"角色以口吻立刻回應的一句話"}。' +
|
||||
'{"difficulty":1-10,"model":"haiku|sonnet|opus","effort":"low|medium|high","tone":"neutral|praise|scold","ack":"角色以口吻立刻回應的一句話","work":true|false}。work 為 true 表示需要動手做事(讀寫檔、執行指令、搜尋、改程式);純閒聊或一句話可答的問題為 false。' +
|
||||
'difficulty 低用 haiku,中用 sonnet,高或需深入推理用 opus;tone 是使用者對角色的態度(誇獎/感謝為 praise,責罵為 scold)。\n\n使用者輸入:\n'
|
||||
|
||||
const isModel = (v: unknown): v is ModelName => v === 'haiku' || v === 'sonnet' || v === 'opus'
|
||||
@@ -27,6 +27,7 @@ export const parseRoute = (text: string): Route => {
|
||||
effort: isEffort(j.effort) ? j.effort : FALLBACK_ROUTE.effort,
|
||||
tone: isTone(j.tone) ? j.tone : 'neutral',
|
||||
ack: typeof j.ack === 'string' ? j.ack.slice(0, 200) : '',
|
||||
work: j.work === true,
|
||||
}
|
||||
} catch {
|
||||
return FALLBACK_ROUTE
|
||||
|
||||
Reference in New Issue
Block a user