Agent开发笔记(4)Code Agent 的 Sandbox 和 Tool Permission
在 Eval Harness 之后,我继续给 Mini Agent Harness 加上工具风险等级、命令策略、项目目录沙箱、approval 中断点和安全 eval,让 Code Agent 的行动变得可控、可审计、可评测。
在 Eval Harness 之后,我继续给 Mini Agent Harness 加上工具风险等级、命令策略、项目目录沙箱、approval 中断点和安全 eval,让 Code Agent 的行动变得可控、可审计、可评测。
从 Agent 应用开发角度看,最需要优先考虑的几类安全和工程问题:过度代理能力、提示注入、不当输出处理和敏感信息泄露。
在 Mini Agent Harness 基础上,我做了一个最小 Agent Eval Harness,用任务集、trace、规则评测和失败归因来判断 Agent 改动之后到底有没有变好。
在最小 Agent Loop 基础上,我继续加入了结构化 trace、trace 回放、统一工具错误、错误恢复提示和初版上下文压缩,开始理解 Agent Harness 真正要解决的问题。
Agent workflow 不再只是一次模型调用,而是一条由模型生成、工具调用、上下文更新、guardrail 和 handoff 组成的执行链路。Tracing 可以把这条链路记录成可观察、可调试的执行轨迹。
学习 Function calling 时整理的一些笔记,包括函数定义、namespace、最佳实践、tool choice、并行调用、严格模式和 streaming。
不用 LangChain,手写了一个最小 Agent Loop。目标并不复杂,只支持 3 个工具: read_file(path) write_file(path, content) run_shell(command) 然后让模型自己决定什么时候调用工具,什么时候直接回答用户。 真正写起来之后,我发现 Agent Loop 和普通 Chatbot 的区别,比我原来想得更大。普通 Chatbot 更像是“一问一答”,而 Agent Loop 更像是“模型决策一次,程序执行一次,再把结果反馈回去继续决策”的循环。 ...
MCP Server 是通过标准化的协议接口,向 AI 应用提供特定功能的程序,常见的包括文件系统服务器、GitHub 服务器等。 核心功能主要包含三类 Tools:AI 应用可以根据用户请求主动决定调用这些功能,实现类似于向数据库写数据、调用外部 API、修改文件等操作。 Resources:被动型的数据源,提供只读的访问权限,用来获取文件内容等。 Prompts:预先构建好的指令模板,用来指导 AI 使用特定工具和资源来完成任务(MCP Server 官方说明书)。 MCP 使用 JSON Schema 来进行验证,每个工具只执行一项操作,输入和输出都是明确定义的。 ...